Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

VERİTABANI YÖNETİM SİSTEMLERİ 1 Öğr.Gör.Emre KAÇMAZ ANADOLU ÜNİVERSİTESİ.

Benzer bir sunumlar


... konulu sunumlar: "VERİTABANI YÖNETİM SİSTEMLERİ 1 Öğr.Gör.Emre KAÇMAZ ANADOLU ÜNİVERSİTESİ."— Sunum transkripti:

1 VERİTABANI YÖNETİM SİSTEMLERİ 1 Öğr.Gör.Emre KAÇMAZ ANADOLU ÜNİVERSİTESİ

2 BTP102 VERİTABANI YÖNETİM SİSTEMLERİ 1 ÇOKLU TABLOLAR ile İŞLEMLER Bazı durumlarda veriler birden fazla tablo üzerinde yer alabilir, bu durumda tablolar birleştirilmek zorundadır. PERSONEL_NOADIBÖLÜM_NO ADIKONUM PERSONELBÖLÜM PERSONEL_NOBÖLÜM_NOKONUM

3 BTP102 VERİTABANI YÖNETİM SİSTEMLERİ 1 Tabloların Birleştirilmesi Birden fazla tablonun birleştirilmesi işlemine birleştirme (join) denilir. Bu işlem tabloların aynı değerler içeren sütunları yardımıyla yapılır. SELECT tablo1.sütun1, tablo2.sütun2 FROM tablo1,tablo2 WHERE tablo1.sütun1=tablo2.sütun2

4 BTP102 VERİTABANI YÖNETİM SİSTEMLERİ 1 Kartezyen Çarpım İki tablo içerisinde bir birleştirme koşulu yoksa, o zaman kartezyen çarpım sözkonusudur. Bunun dışında birleştirme koşulu geçersiz ise ve birinci tablodaki tüm satırlar ikinci tablodaki tüm satırlar ile birleştirilemiyorsa, yine kartezyen çarpımdan söz edilebilir. Örnek: SQL>SELECT Personel_No,Adı,Bölüm_Adı FROM PERSONEL, BÖLÜM; Burada “personel tablosundaki varlık adedi x Bölüm tablosundaki varlık adedi” nce varlık elde edilir. Çünkü bir koşul tanımlanmadı.

5 BTP102 VERİTABANI YÖNETİM SİSTEMLERİ 1 Tablolarda Birleştirme Türleri EŞİT OLANI BİRLEŞTİRME Basit birleştirme, iç birleştirme de adı verilir. SELECT tablo1.sütun1, tablo2.sütun2 FROM tablo1,tablo2 WHERE tablo1.sütun1=tablo2.sütun2 PERSONEL_NOADIBÖLÜM_NO ADIKONUM PERSONELBÖLÜM Dış Anahtar Birincil Anahtar

6 BTP102 VERİTABANI YÖNETİM SİSTEMLERİ 1 Farklı tablolardan alınan sütun isimlerinde benzerlik olduğunda SQL bunu ayırd edemeyeceğinden, muhakkak başında tablo ismiyle çağrılmalıdır. Bazen sorgu cümlelerinin kısaltılması maksadıyla tablo isimleri daha kısa isimlerle yeniden adlandırılır. SELECT P.Personel_No, P.Adı, P.Bölüm_No, B.Bölüm_Adı, B.Konum FROM Personel P, Bölüm B WHERE P.Bölüm_No=B.Bölüm_No;

7 BTP102 VERİTABANI YÖNETİM SİSTEMLERİ 1 Birleştirme koşulunda birden fazla koşul yer alabilir. ÖRNEK: AYŞE isimli öğrencinin öğrenci numarası, adı, bölüm adı ve bölümünün konumu listelemek için; SQL> SELECT Ö.Öğrenci_No, Ö.Adı, B.Bölüm_Adı, B.Konum FROM Öğrenci Ö, Bölüm B WHERE Ö.Bölüm_No=B.Bölüm_No AND Ö.Adı= ‘AYŞE’;

8 BTP102 VERİTABANI YÖNETİM SİSTEMLERİ 1 EŞİTİ OLMAYAN BİRLEŞTİRME İki tablonun sütunları arasında doğrudan uyum yoksa buna eşiti olmayan birleştirme denir. PERSONEL(Personel_No, Adı, Yöneticisi, Ücret, Bölüm_No) ÜCRET_DÜZEY(Derece, EnAz, EnÇok) Yukarıdaki iki tabloyu birleştirebilecek bir ortak sütun yoktur. Ancak; SELECT Adı, Ücret, Derece FROM PERSONEL,ÜCRET_DÜZEY WHERE Ücret BETWEEN EnAz AND EnÇok;

9 BTP102 VERİTABANI YÖNETİM SİSTEMLERİ 1 DIŞ BİRLEŞTİRME Eşiti olan birleştirmede eşleşen sütunlarda eşleşemeyen varlıklar yazılmıyordu, bunları da yazdırmak için Dış Birleştirme kullanılır. AdıBölüm_No Sedat01 Özgür01 Muzaffer02 Ali Yavuz03 Bölüm_NoBölüm_AdıKonum 01BilgisayarMMF 02ÇevreMMF 03ElektronikMMF 04MatematikFenF PersonelBölüm

10 BTP102 VERİTABANI YÖNETİM SİSTEMLERİ 1 SQL> SELECT P.Adı, P.Bölüm_No, B.Bölüm_No, B.Bölüm_Adı FROM PERSONEL P, BÖLÜM B WHERE P.Bölüm_No(+)=B.Bölüm_No; AdıBölüm_NoBölüm_Adı Sedat01Bilgisayar Özgür01Bilgisayar Muzaffer02Çevre Ali Yavuz03Elektronik Matematik Bu deyimi MS Access de tanımlamak için LEFT JOIN...ON kullanırız. SELECT P.Adı, B.Bölüm_Adı FROM BÖLÜM B LEFT JOIN PERSONEL P ON B.Bölüm_No = P.Bölüm_No;

11 BTP102 VERİTABANI YÖNETİM SİSTEMLERİ 1 KENDİNE BİRLEŞTİRME Bazı uygulamalarda birleştirme işlemi tek bir tablonun kendi sütunları içerisinde yapılmaktadır. Personel_NoAdıYöneticisi 101BURAK 250ERSİN SELİN DİLARA105 BEGÜM101 Personel_NoAdı 101BURAK 250ERSİN 120SELİN 105BEGÜM 140DİLARA

12 BTP102 VERİTABANI YÖNETİM SİSTEMLERİ 1 SQL> SELECT P.Personel_No AS No, P.Adı AS Personel, Y.Adı AS Yöneticisi FROM PERSONEL P, PERSONEL Y WHERE Y.Personel_No=P.Yöneticisi; NoPersonelYöneticisi 105 BegümBurak 120 SelinBegüm 140 Dilara Begüm.

13 BTP102 VERİTABANI YÖNETİM SİSTEMLERİ 1 Küme Operatörleri ile Birleştirme UNION ve UNION ALL Union, verilen koşul ifadesine uygun olarak, çift kayıtların gözardı edilerek her iki kümedeki tüm kayıtları seçer. Union All, çift kayıtları da dahil eden birleştirme işlemidir. SQL> SELECT Adı,Görevi FROM PERSONEL WHERE Adı LIKE ‘A*’ UNION SELECT Adı, Görevi FROM PERSONEL WHERE Görevi LIKE ‘M*’;

14 BTP102 VERİTABANI YÖNETİM SİSTEMLERİ 1 INTERSECT Her iki koşula da uygun varlıkları elde etmede kullanılır. Küme kesişimi olarak da algılanabilir. SQL> SELECT Adı,Görevi FROM PERSONEL WHERE Adı LIKE ‘A*’ INTERSECT SELECT Adı, Görevi FROM PERSONEL WHERE Görevi LIKE ‘M*’;

15 BTP102 VERİTABANI YÖNETİM SİSTEMLERİ 1 MINUS Birinci tabloda olan ikinci tabloda olmayan kayıtları ayıklamada kullanılmaktadır. Kümesel fark işlemi olarak düşünülebilir (A/B) SQL> SELECT Adı,Görevi FROM PERSONEL WHERE Adı LIKE ‘A*’ MINUS SELECT Adı, Görevi FROM PERSONEL WHERE Görevi LIKE ‘M*’;


"VERİTABANI YÖNETİM SİSTEMLERİ 1 Öğr.Gör.Emre KAÇMAZ ANADOLU ÜNİVERSİTESİ." indir ppt

Benzer bir sunumlar


Google Reklamları