Posted by hakkioktay on August 20, 2007
Staj süreci özellikle lisans öğrenimini sürdüren öğrenciler için oldukça önemli bir dönem.İş hayatı ile ilk tanışmaların olduğu , iş süreçleri ve gerçek iş hayatı ile ilgili önemli tecrübelerin kazanılabileceği önemli bir dönem.Tabi bu kazanımlar için öncelikle bunları sağlayabilecek bir işveren-firma- ve buna hazır bir staj adayı gerek:)
Staj adayı bulmakta bir sıkıntı olacağını zannetmiyorum.Önemli olan staj yapabilecek , stajere ve staj dönemine gereken önemi gösteren ciddi firmalar bulmak.Bu konuda 4 senedir çalıştıgım TURKCELL de önemli çalışmalar yapılıyor.Hasan Tonguç Yılmaz abimizin öncülüğünde R&D Software Development bölümünde aday stajerler arasında seçimler yapılarak TURKCELL de staja hak kazanıyorlar.Verilen görevleri , ödevleri, çalışmaları vs. özetle isteneni en iyi şekilde yapan aday stajer arkadaşlar yaz döneminde 3 aylık TURKCELL stajına hak kazanıyorlar.
Peki hangi konularda ve içerik nasıl? TURKCELL, Java ve Oracle teknolojilerinin yoğun olarak kullanıldığı bir yer.Böyle olunca da staj çalışmaları bu konular üzerine oluyor.Özellikle Oracle konusunda 3 aylık staj dönemi planlanıyor, öncelikle başta Hasan Tonguç Yılmaz olmak üzere gönüllü çalışanlar (bende katkıda bulunmaya çalışıyorum) stajerlere yoğun bir Oracle sunum programı uyguluyor.İlerleyen zamanlarda da stajer arkadaşlar bu sunumlara konular alıp çalışarak, sunumlar hazırlayarak katkıda bulunuyorlar.Bunlar teori ile de kalmıyor.Stajer arkadasların bulundugu bölümlerde mümkün oldugu kadar işler verilerek ögrendiklerini pratiğe dökme imkanı sağlanıyor.Bana sorarsanız hiç bir sey yapılmasa bile 3 ay süresince yapılan Oracle sunumlarına katılsanız bayağı bir mesafe katedeceğize inanıyorum.Bu Oracle yiyip bitirme anlamna gelmiyor tabi:) “Oracle’ı anlama, tanıma ” anlamında düşünün bu yazdıklarımı.Çünkü Oracle hakkaten bir derya.
Bu konuda
http://tonguc.wordpress.com/2007/07/16/turkcell-rd-software-development-internship-2007-started/
adresini ziyaret etmenizi de öneririm.
İyi çalışmalar diliyorum….
Posted in Diğer | 3 Comments »
Posted by hakkioktay on March 15, 2007
ROWTYPE’ı PL/SQL kodlarımızda sıkça kullanırız.Bununla, yapısı tablonun bir satırı şeklinde olan bir type tanımlamış oluruz.Kısaca hatırlatmak gerekirse; Örneğin TTT tablosu ID ve DESCR alanlarından oluşuyor ise
a_row TTT%rowtype;
tanımladıgımızda “a_row” artık TTT tablosunun satırı tipinde bir değişkendir.Bu satır değişkenini kolonlarına! ”a_row.ID” ve “a_row.DESCR” seklinde ulaşbiliriz.Şimdi asıl konumuza geçelim.
Bu tipte bir değişkenimiz varsa ve değerleri girmiş isek bir satırı update ederken her bir kolon için tek tek “set …, …, …” kullanmamıza gerek yoktur.”…set row = row_type ..” demeniz yeterlidir.Örnek yapalım :
create table ttest nologging as
select object_id, object_name, object_type from user_objects
where rownum <= 10;
Diyelimki minimum object_id verisinde UPDATE yapacağız.Hangisiymiş bulalım
select min(object_id) from ttest;
min(object_id)
3
declare
ttest_row ttest%rowtype;
begin
ttest_row.object_id := 111;
ttest_row.object_name := ‘XXX’;
ttest_row.object_type := ‘???’;
update ttest set row = ttest_row where object_id = 3;
commit;
end;
Kontrol edelim :
select * from ttest where object_id = 111
object_id object_name object_type
111 XXX ???
Diğer bir konuda DEFUALT anahtar kelimesinin kolonlardaki kullanımına dair.Tabloda insert ya da update yaparken kolonun varsayılan değerini kullanmak isteyebilirz.Örnek olarak yukarıda oluşturduğumuz TTEST tablosunun “object_type” kolonuna varsayılan değer olarak ‘NEW_TYPE’ atayalım ve akabinde insert-update ile kullanalım :
SQL> alter table ttest modify object_type default ‘NEW_TYPE’;Table altered.
::: insert Örneği :::
SQL> insert into ttest values(999,’A_TABLE’, default);1 row created.SQL>
SQL> select * from ttest where object_id = 999;OBJECT_ID OBJECT_NAME OBJECT_TYPE
999 A_TABLE NEW_TYPE
::: UPDATE örneği :::
SQL> update ttest set object_type = default where object_id = (select min(object_id) from ttest);1 row updated.SQL>
SQL> select * from ttest where object_id = (select min(object_id) from ttest);
OBJECT_ID OBJECT_NAME OBJECT_TYPE
15 UNDO$ NEW_TYPE
Posted in Oracle | 1 Comment »
Posted by hakkioktay on March 15, 2007
Üzerinde indeks olan kolonlarda optimizer ın indeksi kullanabilmesi için temel bazı tavsiyeler
Bunlar YAPILMAMALI
1) … where first_name || last_name = ‘HAKKIOKTAY’
2) … where counter != 0;
3) … where trunc(process_date) = trunc(sysdate);
4) … where salary + 100 < 1000;
5) … where substr(last_name,1,3) = ‘OKT’
Yukarıdakilerin yerine şunlar tercih edilmeli
1) … where first_name = ‘HAKKI’ and last_name = ‘OKTAY’ ;
2) … where counter > 0 ;
3) … where process_date between trunc(sysdate) and trunc(sysdate) + .99999;
4) … where salary < 900;
5) … where last_name like ‘OKT%’;
Ayrica Indeksler hakkında daha önceden yazdığım yazılara bakmanız faydalı olabilir.
Posted in Oracle | Leave a Comment »