220 likes | 624 Views
İlişkisel Veri Modeli. İlişkisel Veri Modeli. Kavramsal veri modeli (ODL, E/R). Mantıksal Model (İlişkisel Model). Fiziki Model. Grafikler (E/R). 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
E N D
İlişkisel Veri Modeli Kavramsal veri modeli (ODL, E/R) Mantıksal Model (İlişkisel Model) Fiziki Model Grafikler (E/R) tablolar Fizİkidosya 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
İ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) |xD1, y D2, ve y=1} gibi tanımlanan bir R ilişkisi R={(2,1),(4,1)} olabilir S={(x,y) |xD1, 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, dnDn • Veri Tabanı Şeması • İlişkisel şemalar kümesi • Branch(Address,Tel_No,Fax_No) • Staff(Name, Address, Phone)
Örnekler • İlişkisel şemanın örneğiR(A1,…,Ak),uygun alanlardan değerler alan k özellikli ilişkidir. • Veri tabanı şemasının örneğiR1(…), 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-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 genelanahtar, 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