İLİŞKİSEL VERİ MODELİ Tablolar ile Gösterim Her İlişki iki boyutlu bir tablo olarak gösterilir. Tablonun her sütununa bir nitelik atanır. Tablonun her satırı ise bir kaydı gösterir. Bilimsel kesimde daha çok ilişki terimi kullanılırken, kullanıcılar arasında daha çok tablo terimi kullanılmaktadır. Her ilişkinin (tablonun) tekil bir adı vardır.
Değer Alanları (Kayıtlar) Örnek Örnek olan r ilişkisi (tablosu) 3 sütun, 6 satırlı bir tablo olarak görülebilir. İlişkinin nitelikleri tablonun sütunlarına karşı gelir ve sütun başlıklarına niteliklerin adları yazılır. İlişkinin kayıtları ise tablonun satırlarına karşı gelir. Nitelik İsimleri A B C a 2 x y 3 b 1 c Değer Alanları (Kayıtlar)
İlişkinin (tablonun) Özellikleri Satırların (kayıtların) sırası önemsizdir. Tüm satırların birbirinden farklı olması gerekir (ilişki bir satırlar kümesi olduğuna göre aynı satır ilişkide birden çok kez yer alamaz). Tüm satırlar birbirinden farklı olduğuna göre ilişkinin en az bir anahtarı vardır. En kötü olasılıkla, tüm niteliklerin birleşimi anahtarı oluşturur. İlişkinin her sütunu bir niteliğe karşı geldiğine ve sütun başlığında niteliğin adı yer aldığına göre, sütunların sırası da önemsizdir.
İlişkinin (tablonun) Özellikleri Bir sütünda yer alan tüm değerler, belirli bir değer alanından gelen değerler olup tümünün türü aynıdır. Tabloda yer alan her değer bir sayı, bir ad, bir miktar, bir tutar, bir adres, bir tarih,.. vb gibi yalın değerler olabilir. Tablonun bir öğesi bir dizi, bir vektör, bir başka tablo ya da karmaşık bir değer olamaz. Başka bir deyişle tablonun nitelikleri yalın ve tek değerli niteliklerdir.
İlişki Anahtarları İlişki kuramına göre her ilişkinin mutlaka bir anahtarının bulunması gerekir. Bir ilişkinin niteliklerinin bir ya da birkaç altkümesinin değerleri tüm kayıtlarda birbirinden farklıdır. En kötü koşullarda ilişki anahtarı tüm niteliklerden oluşur. Her ilişkinin anahtarının ya da anahtarlarının bilinmesi son derece önemlidir.
Varlık-İlişki Çizelgelerinin Tablolara Dönüştürülmesi Varlık-ilişki modeli kullanılarak veri modelleme yapıldığında, eğer veri tabanını gerçekleştirmek için ilişkisel bir VTYS kullanılacaksa, oluşturulan varlık- ilişki çizelgesinin 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 ilişki şeması oluşturulur. İlişkinin nitelikleri olarak da varlık kümesinin nitelikleri kullanılır.
Örnek DKODU SOYADI ADI CİNSİYETi DERS KREDİSİ ÖĞRNO ÖĞRENCİ DOĞTAR DERSADI Daha önce verilmiş bir örnek olan, ÖĞRENCİ ve DERS varlık kümelerine karşılık, ilişkisel modelde aşağıdaki ilişki şemaları oluşturulur. ÖĞRENCİ (ÖĞRNO, ADI, SOYADI, CİNSİYETİ, DOĞTAR) DERS (DKODU, DERSADI, KREDİSİ)
İlişki Kümelerinin Dönüştürülmesi Genel olarak varlık-ilişki modelindeki her ilişki kümesi, ilişkisel modelde bir ilişki şemasına dönüştürülür. Ancak kimi ilişki kümeleri için ilişkisel modelde ayrı bir ilişki şeması oluşturmaya gerek yoktur. Bunun yerine varlık kümesi için oluşturulan ilişki şemalarından birine, diğer varlık kümesinin anahtarında yer alan nitelikleri eklemek yeterlidir.
Birden-Çoğa İlişki Kümelerinin Dönüştürülmesi Her Varlık için birer tablo oluşturulur, ve Bir tarafta olan Varlığın Birincil Anahtarı, Çok tarafta olan Varlığa Yabancı Anahtar olarak eklenir. Birden-çoğa ya da çoktan-bire ilişkisel modelde ilişki kümesi için ayrı bir şema oluşturmaya gerek yoktur.
Örnek Bölüm (bno , bAdı) Personel ( pNo, adı, soyadı, doğtar, bno)
Birden-Bire İlişki Kümelerinin Dönüştürülmesi Bire-bir varlık kümelerini ilişkisel modelde göstermek için, varlık kümelerinden birinin anahtarını, varsa ilişkinin tanımlayıcı nitelikleri ile birlikte, diğer varlık kümesine karşı gelen şemaya eklemek yeterlidir. Birden-bire (ilişki her iki yönde de işlevsel) ilişkisel modelde ilişki kümesini göstermek için de ayrı bir şema oluşturmaya gerek yoktur.
Örnek Eğer her bölümün bir başkanı olabiliyorsa; bir personel de en çok bir bölümün başkanı olabiliyorsa, her iki yönde de işlevsel olan bu ilişkinin türü bire-birdir.
Örnek 1. seçenek: BÖLÜM (BNO, BADI) PERSONEL (PNO, ADI, SOYADI, DOĞTAR, YBNO ) Burada YBNO personelin (bölüm başkanının) yönettiği bölümün numarasıdır.
Örnek 2. seçenek: BÖLÜM (BNO, BADI, BBPNO ) PERSONEL (PNO, ADI, SOYADI, DOĞTAR) Burada BBPNO bölüm başkanı personel numarasıdır. (Bu örnek için bu seçenek daha uygun bir çözüm olarak görülmektedir.)
Aynı Varlık Kümesi İçindeki İlişki Kümeleri Eğer ilişki kümesi iki farklı varlık kümesi arasında tanımlanmak yerine, aynı varlık kümesi içinde tanımlanmışsa, bu varlık kümesinin işlevsel modele dönüştürülmesinde hiçbir farklılık yoktur. İlişki kümesinin türünün birden-bire, birden- çoğa ya da çoktan-çoğa olmasına göre yukarıda söylenenlerin tümü geçerlidir.
Aynı Varlık Kümesi İçindeki İlişki Kümeleri Ancak aralarında ilişki kurulan varlık kümeleri aynı olduğu için, bir ilişki şemasında aynı niteliğin farklı rollerde yer alması söz konusu olabilir. Bunun için de, roller de düşünülerek niteliklere uygun adlar seçilmesi gerekir.
Örnek PERSONEL varlık kümesi ve bu varlık kümesi içindeki birden-çoğa YÖNETİCİ ilişkisi ilişkisel modelde tek bir şema ile gösterilebilir. PERSONEL(SİCİLNO, ADI, BÖLÜMÜ, GÖREVİ, GBAŞTAR, YSİCİLNO ) BÖLÜMÜ SİCİLNO YÖNETİCİ ADI PERSONEL ast GBAŞTAR üst GÖREVİ
Ç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 şemasında, 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, MALKODU, MİKTAR) MAĞNO MAĞADI MALKODU MALADI SATTIĞI MAĞAZA MAL MİKTAR
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, ilişki nitelikleri olarak varlık kümesi özelliklerinin kullanılması yeterlidir. Ancak eğer varlık kümesi, anahtarı olmayan zayıf bir varlık kümesi ise, ilişki nitelikleri olarak zayıf varlık kümesinin niteliklerinin kullanılması yeterli değildir.
Zayıf Varlık Kümelerinin Dönüştürülmesi Çünkü bu niteliklerin hepsi birlikte alındığında bile bir anahtar oluşturmadığı ve anahtarı bulunmayan bir ilişkinin olamayacağı bilinmektedir. Bu nedenle zayıf bir varlık kümesine karşı gelen ilişki şeması 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 SOYADI LİSENO ADI LİSEADI OKUDUĞU ÖĞRNO ÖĞRENCİ LİSE KENT Daha önce verdiğimiz 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 ilişki şemaları oluşturulur. LİSE (LİSENO, LİSEADI, KENT) ÖĞRENCİ (LİSENO, ÖĞRNO, ADI, SOYADI)
Örnek ÜRÜN KATEGORİ SİPARİŞ FİRMA MÜŞTERİ AİT OLDUĞU Sipariş Detay Alış Fiyat Satış Fiyat KDV Oranı AİT OLDUĞU Ürün ID ÜRÜN KATEGORİ Kategori Adı Ürün Adı Kategori ID Sipariş Detay TEDARİK EDEN Adet SiparişNo Adres Tarih SİPARİŞ Firma ID FİRMA Adres Ad Firma Adı VERDİĞİ Telefon MÜŞTERİ Soyad Müşteri ID Telefon
İlişkisel Veri Modeli Gösterimi ÜRÜN(Ürün ID, Ürün Adı, Alış Fiyatı, Satış Fiyatı, Kategori ID, Firma ID) KATEGORİ(Kategori ID, Kategori Adı, KDV Oranı) FİRMA(Firma ID, Firma Adı, Telefon, Adres) MÜŞTERİ(Müşteri ID, Adı, Soyadı, Adresi, Telefonu) SİPARİŞ(Sipariş ID, Müşteri ID, Tarih) SİPARİŞ_DETAY(Sipariş ID, Ürün ID, Adet)