BMB207 Veri Tabanı Yönetimi Ahmet SAYGILI TNKÜ Çorlu Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü Hafta 3 ER Çizelgelerinin VTYS’ye Dönüşümü E - R Çizelgelerini İVTYS’ye Dönüştürme • Varlık - ilişki modeli kullanılarak veri modelleme yapıldıktan sonra, eğer veri tabanını gerçekleştirmek için ilişkisel bir VTYS kullanılacaksa, oluşturulan varlık - ilişki çizelgesinin tablolara (ilişki şemalarına) dönüştürülmesi gerekir. • Bu amaçla varlık - ilişki modelindeki her farklı kavramın (varlık kümesi, nitelik, ilişki kümesi, ilişki kümesinin tanımlayıcı niteliği, güçlü ve zayıf varlık kümeleri, var olma bağımlılığı, genelleme, kümeleme, ..vb) ilişkisel modelde nasıl gösterileceğinin bilinmesi gerekir. Varlık Kümelerinin Dönüştürülmesi • Varlık - ilişki modelindeki her varlık kümesi için ilişkisel modelde bir tablo oluşturulur. • Tablonun alanları olarak varlık kümesinin nitelikleri kullanılır. Örnek • Daha önce verilmiş bir örnek olan, ÖĞRENCİ ve DERS varlık kümelerine karşılık, ilişkisel modelde aşağıdaki tablolar oluşturulur. – ÖĞRENCİ ( ÖĞRNO , ADI, SOYADI, CİNSİYETİ, DOĞTAR) – DERS ( DKODU , DERSADI, KREDİSİ) ÖĞRENCİ ADI SOYADI CİNSİYETi ÖĞRNO DOĞTAR DERS DERSADI DKODU KREDİSİ Zayıf Varlık Kümelerinin Dönüştürülmesi • Eğer varlık kümesi en az bir anahtarı bulunan güçlü bir varlık kümesi ise, tablo alanları olarak varlık kümesinin niteliklerinin kullanılması yeterlidir. • Eğer varlık kümesi anahtarı olmayan zayıf bir varlık kümesi ise (niteliklerin hepsi birlikte alındığında bile bir anahtar oluşturmuyorsa), tablo alanları olarak zayıf varlık kümesinin niteliklerinin kullanılması yeterli değildir. Zayıf Varlık Kümelerinin Dönüştürülmesi • Bu nedenle zayıf bir varlık kümesine karşı gelen tablo oluşturulurken, ilişki nitelikleri olarak zayıf varlık kümesinin niteliklerine ek olarak, bu varlık kümesinin var olma bağımlı olduğu güçlü varlık kümesinin anahtarında yer alan niteliklerde kullanılır. Örnek • Yukarıdaki çizimdeki güçlü LİSE varlık kümesi ile zayıf ÖĞRENCİ varlık kümelerine karşılık, ilişkisel modelde aşağıdaki tablolar oluşturulur: – LİSE ( LİSENO , LİSEADI, KENT) – ÖĞRENCİ ( LİSENO , ÖĞRNO , ADI, SOYADI) ÖĞRENCİ ADI SOYADI ÖĞRNO LİSE LİSEADI LİSENO KENT OKUDUĞU İlişki Kümelerinin Dönüştürülmesi • Varlık - ilişki modelindeki her ilişki kümesi için ilişkisel modelde bir tablo oluşturulmasına gerek yoktur. Sadece çoğa - çok ilişki türü için bir ara - tablo kullanmak gereklidir. • Eğer ilişki türü birden - çoğa yada birden - bire ise varlık kümesi için oluşturulan tablolardan birine, diğer varlık kümesinin anahtarında yer alan nitelikleri eklemek yeterlidir. İkili Çoktan - Çoğa İlişki Kümelerinin Dönüştürülmesi • Eğer bir ikili ilişki kümesinin türü çoktan - çoğa (ilişki hiçbir yönde işlevsel değil) ise ilişkisel modelde bu ilişki kümesi için ayrı bir şema oluşturulur. • İlişki kümesine karşılık gelen ilişki tabloda, her iki varlık kümesinin anahtarları ile, varsa ilişki tanımlayıcı niteliklerine yer verilir. Örnek • Örneğin SATTIĞI ilişkisi ilişkisel modelde aşağıda şeması verilen ilişki ile gösterilir. SATTIĞI ( MAĞNO, ÜRÜNKODU , MİKTAR) MAĞAZA ÜRÜN SATTIĞI MAĞNO MAĞADI ÜRÜNKODU ÜRÜNADI MİKTAR m n İkiden Büyük Dereceli İlişki Kümelerinin Dönüştürülmesi • Eğer bir ilişki kümesi ikiden çok varlık kümesi arasında kurulmuşsa, ilişkinin diğer özellikleri (eşleme sınırlamaları, ilişkinin tanımlayıcı niteliklerinin bulunup bulunmaması, ..vb.) ne olursa olsun, ilişkisel modelde bu ilişki kümesine karşılık ayrı bir tablo oluşturulur. • Oluşturulan tabloda, aralarında ilişki kurulan tüm varlık kümelerinin anahtarlarına ek olarak, varsa ilişkinin tanımlayıcı niteliklerine yer verilir. • Bu varlık kümelerinden biri ya da birkaçı zayıf varlık kümesi ise, bu varlık kümelerinin anahtarlarını bulmak için ilgili yöntem kullanılır. Örnek • KONSER, ESER ve MÜZİSYEN varlık kümeleri arasındaki KATILIM adlı üçlü ilişki kümesini düşünelim. KONSER TARİH SALON GÖREVİ KONSNO MZSNO ESER ESTÜRÜ ESNO BESTECİ KATILIM MÜZİSYEN SOYADI ESADI ADI Örnek • Bu ilişki kümesi hangi konserde, hangi eser çalınırken orkestrada hangi müzisyenlerin yer aldığını ve görevlerinin ne olduğunu göstermektedir. KONSER TARİH SALON GÖREVİ KONSNO MZSNO ESER ESTÜRÜ ESNO BESTECİ KATILIM MÜZİSYEN SOYADI ESADI ADI Örnek KONSER( KONSNO , TARİH, SALON) ESER( ESNO , ESADI, ESTÜRÜ, BESTECİ) MÜZİSYEN( MZSNO , ADI, SOYADI) KONSER TARİH SALON GÖREVİ KONSNO MZSNO ESER ESTÜRÜ ESNO BESTECİ KATILIM MÜZİSYEN SOYADI ESADI ADI Örnek • Üçlü KATILIM ilişkisi için, ilişkisel modelde aşağıdaki tablo oluşturulur: KATILIM ( KONSNO, ESNO, MZSNO , GÖREVİ) • Eğer varlık kümeleri arasındaki ikili eşlemelerin (konser - eser, konser - müzisyen ve eser - müzisyen) her üçü de çoktan - çoğa ise KATILIM ilişkisinin anahtarı, yukarıdaki tabloda görüldüğü gibi üç varlık kümesinin anahtarlarının birleşiminden oluşur. İkili Birden - Çoğa İlişki Kümelerinin Dönüştürülmesi • Eğer bir ikili ilişki kümesinin türü birden - çoğa ya da çoktan - bire (ilişki bir yönde işlevsel) ise ilişkisel modelde bu ilişki kümesi için ayrı bir şema oluşturmaya gerek yoktur. • Örneğin BÖLÜM ve PERSONEL varlık kümeleri arasındaki ÇALIŞAN ilişkisini düşünelim. Örnek • Eğer her personel yalnız bir bölümde çalışıyorsa, bu ilişkinin türü BÖLÜM'den PERSONEL'e birden - çoğadır. Yani ilişki PERSONEL'den BÖLÜM'e işlevseldir. • Bu varlık - ilişki çizelgesi ilişkisel modele dönüştürülürken BÖLÜM ve PERSONEL varlık kümelerine karşı gelen ve anahtarları sırasıyla BNO ve PNO olan iki şema oluşturulur. Örnek • Eğer ÇALIŞAN ilişki kümesi için ayrı bir şema oluşturulursa, bu şema, anahtarı PNO olan ve çalışan her personel için yalnız bir satırı olan bir şema olacaktır. • Oysa anahtarı PNO olan ve kurumdaki her personel için yalnız bir satır içeren PERSONEL şeması zaten vardır. • Dolayısıyla ÇALIŞAN ilişki kümesini göstermek için ayrı bir ilişki oluşturmaya gerek yoktur. Örnek • Bu ilişki kümesini göstermek için PERSONEL ilişkisine BÖLÜM varlık kümesinin anahtarı olan BNO ile ilişkinin tanımlayıcı nitelikleri olan GÖREVİ ve GBAŞTAR eklenir. • Bu durumda, yukarıdaki çizimdeki PERSONEL ve BÖLÜM varlık kümeleri ile aralarındaki ÇALIŞAN ilişkisine karşılık, ilişkisel modelde iki şema oluşturulur. Örnek BÖLÜM ( BNO , BADI) PERSONEL ( PNO , ADI, SOYADI, DOĞTAR, BNO, GÖREVİ, GBAŞTAR) • Yukarıdaki tablolardan ilki varlık - ilişki çizeneğindeki BÖLÜM varlık kümesine, ikincisi ise hem PERSONEL varlık kümesine hem de ÇALIŞAN ilişkisine karşılık gelmektedir.