Slayt 1

advertisement
İlişkisel Veri Modeli
İlişkisel Veri Modeli
Kavramsal veri
modeli
(ODL, E/R)
Grafikler (E/R)
Mantıksal Model
(İlişkisel Model)
Fiziki Model
tablolar
Fizİki dosya
yapıları
İlişkisel Modelin Kısa Tarihi
• E.F.Codd tarafından 1970’de önerilmiştir
• İlk sistemler:
– System R
– INGRES
• İlk uygulamalar
– Peterlee Relational Test Vehicle
– İlk ticari sistemler (1970’lerin sonu)
Kavramlar
• İlişki (relation)- satır ve sütunlardan oluşan ikiboyutlu
tablo
• Özellik (attribute)-ilişkinin adlandırılmış sütunu
• Alan (domain)- bir veya birkaç özelliğin ala bileceği
değerler kümesi
• Satır (tuple)- ilişkideki bir satır
• Derece(değree)- ilişkinin özellikleri sayısı
• Satırlar sayısı(cardinality)
• İlişkisel Veritabanı(relational database)normalleştirilmiş ilişkiler kümesi
Kavramlar (örnek)
Branch ve Staff ilişkilerinin özellikleri için alanlar
İlişkilerin matematiksel anlamı
• D1 ve D2 kümeleri D1={2,4} D2= {1,3,5}
• Kartezyen çarpımı D1xD2
D1xD2={(2,1),(2,3),(2,5),(4,1),(4,3),(4,5)}
Kartezyen çarpımın her bir altkümesi ilişkidir
Örn., R={(x,y) |xD1, y D2, ve y=1} gibi
tanımlanan bir R ilişkisi R={(2,1),(4,1)} olabilir
S={(x,y) |xD1, y D2, ve x=2y} ilişkisi için
R={(2,1)}
Şemalar
• İlişkisel şema:
İlişki adı + özellik adları
– Branch(Address, Tel_No,Fax_No)
veya alan ve özellik adları çiftleri kümesi
– {A1:D1, A2:D2 ,…, An:Dn}
• R ilişkisi n-sayıda satırlar kümesidir:
{A1:d1, A2:d2 ,…, An:dn}
Burada d1 D1, d2 D2, dn Dn
• Veri Tabanı Şeması
– İlişkisel şemalar kümesi
– Branch(Address,Tel_No,Fax_No)
– Staff (Name, Address, Phone)
Örnekler
• İlişkisel şemanın örneği R(A1,…,Ak), uygun
alanlardan değerler alan k özellikli ilişkidir.
• Veri tabanı şemasının örneği R1(…), R2(…), …, Rn(…),
uygun ilişkisel şema örneklerinden oluşmaktadır
Veritabanının güncellenmesi
Veri Tabanı, veri tabanının o andaki durumunu saklar
Verilerin güncellenmesi:
1) satır ilave etme
2) satır silme
3) satırda özelliğin değiştirilmesi
Verilerin güncellenmesi, yani veritabanı örneğinin değişmesi
çok sıkı rastlanan işlemdir
Şema ise çok daha az değişime uğrar.
İlişki örneği- Şube(Branch) ilişkisi
İlişki örneği-Personel (Staff) ilişkisi
İlişki örneği-kiralık ev
İlişki örneği-ev sahibi(owner)
İlişki örneği-kiracı(Renter)
İlişki örneği- kira(Lease) sözleşmesi
İlişki örneği-kiralık ev(Property-for_rent)
(küçültülmüş ilişki)
İlişkilerin özellikleri
•
•
•
•
•
•
•
İlişkinin diğer ilişki adlarından farklı olan bir adı vardır
İlişkinin her hücresi kesin olarak tek (atomik )değer içermelidir
Her özelliğin farklı adı vardır
Özelliğin değerleri aynı alandan olmalıdır
Özelliklerin sırasının önemi yoktur
Her satır farklıdır. Tekrarlanan satırlar olamaz
Satırların sırasının önemi yoktur. (ama uygulamalarda bunun
verimliliğe büyük etkisi ola bilir)
Anahtarlar
• Genel anahtar (superkey)
ilişki dahilinde satırı eşsiz tanımlayan özellik veya özellikler kümesi
• Basit anahtar- yalnız bir özellikten oluşan anahtar
• Karmaşık anahtar- birkaç özellikten oluşan anahtar
• Aday anahtar (candidate key)-Altkümesi genel anahtar olmayan
genel anahtar, başka değişle, her hangi biçimde parçalandığı zaman anahtarlık
özelliğini kaybeden karmaşık anahtar; her bir basit genel anahtar aday
anahtardır.
• Birincil anahtar-Aday anahtarlar içinden seçilmiş aday anahtar
• Yabancı anahtar-Bir ilişkinin , başka bir ilişkinin aday anahtarı
ile eşleşen özellik veya özellikler kümesi
Anahtarlar (devamı)
• Aday anahtarın özellikleri:
eşsizlik- her bir satır için eşsiz değer alması;
küçülmezlik- karmaşık aday anahtarın her hangi altkümesinin anahtar
özelliği yoktur
• Birincil anahtarın özellikleri:
– Özellikler kümesi en küçük olmalı;
– değerlerinin değişme olasılığı düşük olmalı;
– eşsizlik özelliğini kaybetme olasılığı düşük olmalı
–
ismi çok sayıda karakterle ifade edilmemeli;
–
kullanıcı tarafından kolay kullanıla ve anlaşıla bilir olmalı;
– satır için anlam ifade etmeli
İlişkisel Bütünlük (relational İntegrity)
• Boş (Null) değerler
– Özelliğin, verilmiş satır için uygulana bilmeyen veya şuan
belli olmayan değerini ifade eder
• Varlık bütünlüğü (Entity İntegrity)
– Taban ilişkide birincil anahtar özelliği boş değer alamaz
• Erişimsel Bütünlük (Referential İntegrity)
– İlişkide yabancı anahtar varsa, bu anahtarın değeri, ana
ilişkinin her hangi bir satırındaki aday anahtarının değerine
eşit olmalı veya boş değer almalıdır
• Sınırlamalar
– Kullanıcılar veya veri tabanı yöneticisi tarafından belirlenmiş
kurallar
Download