VERİTABANI YÖNETİM SİSTEMLERİ 2- Tasarım ve ER Modeli
VT Tasarım Aşamaları Bir Veritabanının tasarımının başlıca 3 aşaması vardır. Bunlar: Aşama Açıklama 1. Kavramsal Tasarım Tasarlanacak veritabanı hangi alana hizmet verecekse o alanla ilgili bilirkişilere danışılarak ihtiyaçlar tespit edilir, analizler yapılır. 2. Mantıksal Tasarım ORM(Object Role Modelling), ER(Entity-Relationship Model) veya UML (Unified Modelling Language)’den biri ile Veritabanının modellenmesi yapılır ve veritabanı, VTYS’den bağımsız olarak ortaya çıkmaya başlar. 3. Fiziksel Tasarım Tasarlanan veritabanı fiziksel olarak bir VTYS üzerinde hayata geçirilir. Veritabanı gerçek anlamda bu safhanın sonunda ortaya çıkar.
Varlık-İlişki Modeli (Vİ)/ Entity Relationship Model (ER) Kavramsal tasarım için en yaygın kullanılan yöntem ER modelidir. Kavram Açıklama Varlık Modeli en temel öğesidir. Varolan ve benzerlerinden ayrılan herşey bir varlıktır. Kitap, öğrenci, araba… birer varlıktır (kayıt). ER Modeli içerisinde dikdörtgen ile gösterilir ve içine varlığın adı yazılır. Birden fazla varlığın oluşturduğu kümeye «varlık kümesi» (tablo) denir. Nitelik Varlıkların her bir özelliği bir nitelik’tir. Öğrencinin adı, numarası, sınıfı… ER Modeli içerisinde oval şekli ile gösterilir ve içine niteliğin (tablonun sütunları) adı yazılır. Bir niteliğin değeri her varlık için farklıysa, «anahtar nitelik» (birincil anahtar) olarak isimlendirilir ve oval içinde altı çizili olarak gösterilir. Çok değerli nitelik Bir niteliğin alabileceği birden fazla değer varsa çok değerli nitelik denir. Örneğin bir personelin birden fazla yabancı dil bilmesi gibi. Çok değerli nitelikler ER Model içerisinde çift çizgili oval ile gösterilirler.
Personel varlık kümesi gösterimi Varlık İlişki Modeli Personel varlık kümesi gösterimi Personel Perno Görev Ad Maaş Yabanci_dil
Varlık İlişki Modeli Kavram Açıklama Domain (Etki Alanı) Niteliklerin alabileceği değer aralığıdır. Etki alanı, ER Model içerisinde gösterilmez. İlişki Farklı varlıklar arasındaki ilişkileri ifade eder. Örneğin öğrenciler ve dersler ayrı varlık kümeleri olsalar da öğrenciler ders almak zorunda oldukları için aralarında ders alma ilişkisi vardır. İlişkiler, ER Model içerisinde baklava dilimi ile gösterilir ve içine ilişkinin ismi yazılır. Baklava dilimi, ilişkili olduğu varlıklarla düz çizgi ile bağlanır.
Varlık İlişki Modeli Öğrenci-Ders ER Modeli Personel-Bölüm ER Modeli ÖğrenciNo Ad Bölüm Sınıf Alır Ders Derskodu DersAdı Öğrenci-Ders ER Modeli Personel-Bölüm ER Modeli Personel Bölüm Çalışır
Varlık İlişki Modeli Kavram Açıklama Tanımlayıcı Nitelik Varlık kümeleri arasında oluşturulan ilişkilerde, ilişki sonucu nitelikler oluşabilir. Bunlara tanımlayıcı nitelik denir. ER model içerisinde oval ile gösterilip, ilişkiye düz bir çizgi ile bağlanır. Oluşturulan bir ilişki yoksa tanımlayıcı nitelik hiçbir zaman oluşmaz. Film Sinema Oynar Yönetmen Y_tarihi FilmID Film_Adi Tarih Saat SinemaID Sinema_Adi Adres Telefon
Varlık İlişki Modeli İlişki Türleri 1-1 İlişki (Bire-Bir) İki kayıt kümesinden birindeki bir kaydın diğer tarafta sadece bir kayıtla eşleşmesi durumudur. Örneğin bir erkeğin tek bir kadınla evli olması. 1-n (Bir-Çok/Çok-Bir) İki kayıt kümesinden birindeki bir kaydın diğer tarafta birçok kayıtla eşleşmesi durumudur. Örneğin bir hastanın defalarca muayene olabilmesi. Çoka-Çok (n-m) İki kayıt kümesinden her iki taraftaki kayıtların diğer tarafta birçok kayıtla eşleşmesi durumudur. Örneğin bir filmin aynı anda farklı sinemalarda oynarken bir yandan aynı sinemada başka filmlerin de oynatılabilmesi.
Öğrenci Ders Alır 1 n Film Sinema Oynar Yönetmen Y_tarihi FilmID Personel Bölüm Çalışır Yönetici n 1 Film Sinema Oynar Yönetmen Y_tarihi FilmID Film_Adi Tarih Saat SinemaID Sinema_Adi Adres Telefon n m
Recursive İlişki: İlişkiler çoğunlukla farklı varlık kümeleri ile oluşturulur. Ancak bazı durumlarda tek bir varlık kümesi kendi ile ilişki kurabilir. Örneğin bir kişi hem personel hem yönetici olabilir. Yani birden fazla kişi bir kişinin yönetiminde olabilir ve bir kişi birden fazla kişiyi yönetir. Personel Yönetir n 1
Zayıf Varlık Kümesi: Bir varlık kümesi anahtar niteliğe sahip değilse zayıf varlık kümesi olarak adlandırılır. Zayıf varlık kümeleri güçlü varlık kümeleri ile ilişkilendirilerek kullanılırlar. Yani zayıf varlık kümelerinin güçlü varlık kümelerine var olma bağımlılığı vardır. Zayıf varlık kümeleri ER Modelde çift çizgili dikdörtgen ile gösterilirler. Üniversite fakülte ilişkisinde bir fakülte, üniversite olmadan olamayacağı için ve aynı fakülte isminde başka üniversitelerde de fakülte olabileceği için fakülte varlık kümesi zayıf varlık kümesidir. Üniversite Fakülte Aittir 1 n
Sembol Açıklama Varlık kümesi Nitelik Anahtar Nitelik İlişki Çok Değerli Nitelik Zayıf Varlık Kümesi NitelikAdı
Varlık-İlişki Modelinin Tablolara Dönüştürülmesi Bire-Bir (1-1) İlişkilerin Tabloya Dönüştürülmesi Varlık kümeleri tablolara dönüştürülür. Nitelikler tablo sütunlarına dönüştürülür. İlişkide bir tablonun birincil anahtarı diğer tablonun yabancıl anahtarı olarak belirlenir. Hangisinin birincil hangisinin yabancıl olacağına tablo içeriğine göre karar verilir. Model içerisinde oluşturulan ilişkilerde tanımlayıcı nitelik bulunuyorsa, tanımlayıcı nitelikler yabancı anahtar olarak kullanılan tabloya sütun olarak eklenir. Personel PerID Maaş Adres AdSoyad Yönetici Bölüm BolumID Adı 1
1. Yol 2. Yol Personel Tablosu PK PerID Adsoyad Adres Maas Bölüm Tablosu PK BolumID Adı PerID Personel Tablosu PK PerID Adsoyad Adres Maas BolumID Bölüm Tablosu PK BolumID Adı 1 1 1
Bire-Çok (1-n/n-1) İlişkilerin Tabloya Dönüştürülmesi Varlık kümeleri tablolara dönüştürülür. Nitelikler tablo sütunlarına dönüştürülür. İlişkinin n tarafındaki tabloya 1 tarafındaki tablonun birincil anahtar sütunu yabancıl anahtar olarak eklenir. Model içerisinde oluşturulan ilişkilerde tanımlayıcı nitelik bulunuyorsa, tanımlayıcı nitelikler ilişkinin bulunduğu n tarafındaki tabloya sütun olarak eklenir. Personel Tablosu PK PerID Adsoyad Adres Maas BolumID Bölüm Tablosu PK BolumID Adı Personel PerID Maaş Adres AdSoyad Bölüm Adı BolumID Çalışır n 1 1 n
İlişkide «Tanımlayıcı Nitelik» bulunması durumu örneği Araya, tanımlayıcı niteliğin bulunduğu tablo eklenir. İlişkide «Tanımlayıcı Nitelik» bulunması durumu örneği KayıtTar Öğrenci Tablosu PK Ogrno Adsoyad Adres Cinsiyet BolumID KayıtTar Bölüm Tablosu PK BolumID Adı 1 n Öğrenci OgrNo Adres Cinsiyet AdSoyad Bölüm BolumAd BolumID Okur n 1
Çoka-Çok İlişkilerin Tabloya Dönüştürülmesi Varlık kümeleri tablolara dönüştürülür. Oluşturulan ilişki isminde tablo oluşturulur. Nitelikler tablo sütunlarına dönüştürülür. Tanımlayıcı nitelikler, ilişkiden oluşturulan tabloya sütun olarak eklenir. İlişkiyi oluşturan tabloların birincil anahtarları ilişkiyi oluşturan tabloya yabancıl anahtar olarak eklenir. İlişkiden oluşturulan tablonun birincil anahtarı oluşturulan yabancıl anahtarların birleşiminden oluşur. Eğer bu şekilde oluşturulan birincil anahtar ihtiyaçlara cevap vermiyorsa yeni bir sütun eklenerek birincil anahtar yapılır.
Film Tablosu PK FilmID Film_Adı Y_Tarihi Yönetmen Oynar Tablosu PK Sinema Oynar Yönetmen Y_Tarihi FilmID Film_Adı Tarih Saat SinemaID Sinema_Adı Adres Telefon Film Tablosu PK FilmID Film_Adı Y_Tarihi Yönetmen Oynar Tablosu PK OynarID FilmID SinemaID Tarih Saat Sinema Tablosu PK SinemaID Sinema_Adı Adres Telefon 1 n 1 n
Uygulamalar-1
Uygulamalar-2 Tablo yapısı çözümlemesi verilen veritabanına dair ER modelini çiziniz.
Uygulamalar-3 Aşağıda bilgileri verilen veritabanına dair ER modellemesi ve tablo çözümlemesini yapınız.
Uygulamalar-4
Uygulamalar-5
Uygulamalar-6
Uygulamalar-7
Kaynaklar «Veritabanı Yönetim Sistemleri 1», T.ÖZSEVEN, Murathan Yayınları, 2010 http://www2.amk.fi/digma.fi/www.amk.fi/opintojaksot/0303011/1142845462205/1 142847802793/1142848508953/1142848642251.html