İlişkisel Veri Modeli Veri Tabanı Modeli İlişkisel Şema Varlık-İlişki Çizelgesi Tablolar, Sütun Adları (Özellikler) (E-R Diagram) BİL 106 Veritabanı Yönetimi Fiziki Bellek Dosya Yapıları ve İndisler TOBB ETÜ İlişkisel Veri Modeli Kavramlar • İlişki (Relation) : Satır ve sütunlardan oluşan iki boyutlu tablo. • Özellik (Attribute) : İlişkinin adlandırılmış sütunu. • Alan (Domain) : Bir veya birkaç özelliğin alabileceği değerler kümesi. • Özellikler Kümesi (Tuple) : İlişkideki bir satır. • Derece (Degree) : İlişkinin özellikleri sayısı. • Satırların sayısı (Cardinality) • İlişkisel Veritabanı (Relational Database) : Normalleştirilmiş ilişkiler kümesi. Formal Olmayan Kavramlar • Tablo (Table) • Sütun (Column) • Satır (Row) • Sütundaki değerler • Tablo tanımı BİL 106 Veritabanı Yönetimi Formal Kavramlar • İlişki (Relation) • Özellik (Attribute) • Özellikler Kümesi (Tuple) • Alan (Domain) • İlişki Şeması TOBB ETÜ İlişkisel Veri Modeli Kavramlar (Örnek) Özellikler (Attributes) Sicil No Adı Soyadı Giriş Tarihi Doğum Tarihi 1 Mehmet Taner 06/03/2004 15/10/1970 2 Aysu Şahin 15/10/2003 01/08/1966 3 Kemal Atlı 29/05/2002 10/02/1971 4 Ali Demirci 12/05/2005 18/07/1974 5 Gülin Merter 07/08/2007 23/02/1972 Birincil Anahtar Satır Sayısı İlişki (Relation) PERSONEL Sütun Sayısı - Derece (Degree) ÜNVANLAR Sıra No Unvan_Kodu Açıklama Terfi Tarihi Sicil No 1 SM Satış Müdürü 06/03/2004 1 2 PM Proje Müdürü 15/10/2003 1 3 MUH Mühendis 29/05/2002 2 4 UZMUH Uzman Mühendis 12/05/2005 2 BİL 106 Veritabanı Yönetimi Satırlar (Tuples) Yabancı Anahtar TOBB ETÜ İlişkisel Veri Modeli Matematiksel İlişkiler • D1 = {2, 4} ve D2 = {1, 3, 5} kümeleri için • R ilişkisi R ⊆ D1xD2, kartezyen çarpımı sonucu R= {(2,1),(2,3),(2,5),(4,1),(4,3),(4,5)} • Kartezyen çarpımın her bir altkümesi bir ilişkidir • Örnek R={(x,y) | x D1, y D2, ve y=1} ilişkisi için aşağıdaki altküme söz konusudur • R = {(2,1), (4,1)} ilişkisinde 2 satır (tuple) vardır. BİL 106 Veritabanı Yönetimi TOBB ETÜ İlişkisel Veri Modeli İlişkilerin Özellikleri • İlişkilerin diğer ilişkilerden farklı bir adı vardır. • İlişkinin her özelliği tek atomik (bölünemez) değer içermelidir. • Her özelliğin farklı bir adı vardır. • Özellikler belli bir veri kümesinden değerler alabilir. • Özelliklerin sırasının önemi yoktur. • Her satır birbirinden farklıdır. • Satırların sırasının önemi yoktur. BİL 106 Veritabanı Yönetimi TOBB ETÜ İlişkisel Veri Modeli Şemalar • İlişki Şeması : R(A1, …, Ak) şeklinde uygun alanlardan değerler alan k adet özellikli ilişkidir. • İlişki Adı (Özellik1, Özellik2, Özellik3, …) • Örnek: PROJE (Proje No, Proje Adı, Bütçe, Süre, Bölüm No) • Veritabanı Şeması • R1(…), R2(…), …, Rn(…) şeklinde n adet ilişki şemaları kümesi • Örnek: ŞİRKET veritabanı şeması •ÇALIŞAN (Sicil No, Adı, Göbek Adı, Soyadı, Tam Adı, Doğum Tarihi, Maaşı, Cinsiyeti, Bölüm No, Yönetici) •BÖLÜM (Bölüm No, Bölüm Adı, Çalışan Sayısı) •BÖLÜM_YÖNETİCİ (Bölüm No, Sicil No, Başlama Tarihi) •PROJE (Proje No, Proje Adı, Bütçe, Süre, Bölüm No) •PROJE_ÇALIŞAN (Proje No, Sicil No, Haftalık Saati) •SİGORTALI (Sicil No, Sıra, Adı, Doğum Tarihi, Cinsiyeti, Yakınlık) BİL 106 Veritabanı Yönetimi TOBB ETÜ İlişkisel Veri Modeli Anahtarlar • Genel Anahtar (Superkey) : İlişkideki satırları eşsiz biçimde 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) : Herhangi biçimde parçalandığı takdirde genel anahtarlık özelliğini kaybeden karmaşık anahtar veya basit genel anahtar. • Birinci Anahtar (Primary key) : Aday anahtarlar arasından 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. BİL 106 Veritabanı Yönetimi TOBB ETÜ İlişkisel Veri Modeli Anahtarlar • Aday Anahtarın Özellikleri • Eşsizlik : Her bir satır için eşsiz değer alması. • Bölünmezlik : Karmaşık aday anahtarın herhangi bir alt kümesinin anahtar özelliği yoktur. •Birincil Anahtar için beklenen ( zorunlu olmayan) özellikler • Özellikler kümesi en küçük olmalı • Değerlerinin değişme olasılığı düşük olmalı • Kullanıcı ve programcılar için kolay kullanılabilir ve anlaşılabilir ismi olmalı (SQL sorgularında ve programlarda sıkça kullanılacağı için) BİL 106 Veritabanı Yönetimi TOBB ETÜ İlişkisel Veri Modeli İlişkisel Bütünlük • NULL değerler : İlişkideki bir özelliğin, bir satır için uygulanabilmeyen veya halihazırda belli olmayan değerini ifade eder. • Varlık Bütünlüğü (Entity Integrity) : İlişkide birincil anahtar özelliği null değer alamaz. Çünkü, birincil anahtar satırları eşsiz biçimde tanımlamak için kullanılır. • Erişimsel Bütünlük (Referential Integrity): İlişkideki yabancı anahtarın değeri için 2 durum söz konusudur. • ana ilişkinin birincil anahtarının herhangi satırındaki bir değerine eşit olmalıdır veya • birincil anahtarın bir parçası değilse null değeri alabilir. • İş Kuralları (Business Rules) : Kullanıcılar veya veritabanı yöneticisi tarafından belirlenmiş kurallar. (Örnek; Bir personelin yıllık mazeret izni 40 saati geçemez) BİL 106 Veritabanı Yönetimi TOBB ETÜ İlişkisel Veri Modeli İlişkiler Üzerinde GÜNCELLEME İşlemleri • Satır EKLEME • Satır SİLME • Satırdaki bir veya daha fazla özelliği DEĞİŞTİRME • Güncelleme işlemleri bütünlük kısıtlamalarını ihlal etmemelidir. • Bir güncelleme, başka güncellemelerin otomatik olarak yapılmasını gerektirebilir. (Tanımlanmış olan bütünlük kısıtlamaları nedeniyle) • Birden fazla güncelleme işleminin ard arda sırayla çalıştırılması gerekebilir. (Örnek; PERSONEL ilişkisine bir satır eklenmesi durumunda, BÖLÜM ilişkisindeki Çalışan_Sayısı özelliğinin değeri 1 artırılır. PROJE ilişkisindeki Bütçe özelliğinin değeri personel maliyeti kadar artırılır.) BİL 106 Veritabanı Yönetimi TOBB ETÜ İlişkisel Veri Modeli İlişkiler Üzerinde GÜNCELLEME İşlemleri • Bütünlük kısıtlamalarının ihlal edilmesi durumunda aşağıdaki işlemlerden birisi yapılabilir • İhlale neden olan işlem iptal edilir (REJECT) • İşlem yerine getirilir fakat kullanıcı uyarılır (WARNING) • İhlalin neden olacağı veri tutarsızlığını önlemek üzere bir dizi güncelleme işlemi tetiklenir (CASCADE veya SET NULL seçenekleri) (Örnek; BÖLÜM ilişkisinden bir satırın silinmesi durumunda PERSONEL tablosunda bu bölümde çalışanların bilgilerini içeren satırların silinmesi veya satırların Bölüm_No özelliklerine NULL değeri verilmesi) • Kullanıcının belirlediği bir hata-düzeltme programının çalıştırılması BİL 106 Veritabanı Yönetimi TOBB ETÜ İlişkisel Veri Modeli Örnek Veritabanı (Sanal Alışveriş Sitesi) • Veritabanı Gereksinimleri • Sanal alışveriş sitesinde değişik KATEGORİLER altında ÜRÜNLER bulunmalıdır. • Her ÜRÜN farklı bir FİRMA tarafından tedarik edilmektedir. • MÜŞTERİ’lerin hangi tarihte hangi ÜRÜN’den kaç adet SİPARİŞ verdiği saklanmalıdır. BİL 106 Veritabanı Yönetimi TOBB ETÜ İlişkisel Veri Modeli Satış Fiyat Ürün ID Örnek Veritabanı (SANAL ALIŞVERİŞ SİTESİ) Varlık-İlişki Çizeneği KDV Oranı ÜRÜN N N 1 AİT OLDUĞU KATEGORİ N Kategori ID Ürün Adı TEDARİK EDEN 1 Firma Adı ÜRÜN_SİPARİŞ Adet N Adres Firma ID Kategori Adı FİRMA Telefon Tarih SİPARİŞ Adres N MÜŞTERİ_SİPARİŞ 1 MÜŞTERİ Telefon BİL 106 Veritabanı Yönetimi Ad Soyad Müşteri ID TOBB ETÜ İlişkisel Veri Modeli Örnek Veritabanı (Sanal Alışverişi Sitesi) İlişkisel Veri Modeli Gösterimi İlişki Şemaları • ÜRÜN (Ürün No, Ürün Adı, Satış Fiyatı, Kategori No, Firma No) • KATEGORİ (Kategori No, Kategori Adı, KDV Oranı) • FİRMA (Firma No, Firma Adı, Adresi, Telefon) • MÜŞTERİ (Müşteri No, Adı, Soyadı, Adresi, Telefonu) • SİPARİŞ (Sipariş No, Tarih, Müşteri No) • ÜRÜN_SİPARİŞ (Sipariş No, Ürün No, Adet) BİL 106 Veritabanı Yönetimi TOBB ETÜ İlişkisel Veri Modeli Örnek Veritabanı (ŞİRKET) – İlişkisel Veri Modeli Gösterimi İlişki Şema Çizeneği URUN URUNNO URUNADI KDVORANI KATEGORIADI FIRMA FIRMAADI ADI SIPARIS SOYADI SIPARISNO URUNNO BİL 106 Veritabanı Yönetimi ADRESI ADRESI TARIH SATISFIYATI KATEGORINO TELEFON TELEFONU KATEGORINO FIRMANO KATEGORI FIRMANO MUSTERINO MUSTERI MUSTERINO SIPARISNO ADET URUN_SIPARIS TOBB ETÜ