... konulu sunumlar: "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ı."— Sunum transkripti:
1
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.
2
Ö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. ABC a2x a2y a3y b1x c1y c3x Nitelik İsimleri Değer Alanları (Kayıtlar)
3
1. Satırların (kayıtların) sırası önemsizdir. 2. 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). 3. 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. 4. İ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.
4
5. 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. 6. 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.
5
İ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.
6
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.
7
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.
8
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İ) ÖĞRENCİ ADI SOYADI CİNSİYETi ÖĞRNODOĞTAR DERS DERSADI DKODU KREDİSİ
9
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.
10
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.
11
Bölüm (bno, bAdı) Personel ( pNo, adı, soyadı, doğtar, bno)
12
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.
13
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.
14
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.
15
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.)
16
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.
17
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.
18
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 ) PERSONEL YÖNETİCİ GBAŞTAR ADI BÖLÜMÜ GÖREVİ SİCİLNO üst ast
19
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.
20
Ö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ĞAZAMAL SATTIĞI MAĞNOMAĞADIMALKODUMALADI MİKTAR
21
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.
22
Çü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.
23
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) ÖĞRENCİ ADI SOYADI ÖĞRNO LİSE LİSEADI LİSENO KENT OKUDUĞU
24
ÜRÜN Satış Fiyat Alış Fiyat Ürün ID KATEGORİ Kategori ID Kategori Adı AİT OLDUĞU KDV Oranı Ürün Adı FİRMA Adres Firma ID Firma Adı Telefon TEDARİK EDEN SİPARİŞ MÜŞTERİ Müşteri ID Soyad Ad Adres Telefon Sipariş Detay VERDİĞİ Tarih Adet SiparişNo
25
Ü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)