Oracle SQL PLSQL Java üzerine Türkçe bilgi döküman

TURKCELL de staj

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 »

ROWTYPE kullanarak satır update etme ve kolonlarda DEFAULT anahtar kelimesi

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 »

Indeks i kullandırabilmek için “şunu yapma bunu yap” türünden tavsiyeler ÖZET

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 »