KAVRAMSAL MODEL ikinci aşama
KAVRAMSAL MODEL (Conceptual Model) Veri tabanı sistemlerinin modellenmesi amacıyla, ilk aşamadaki verilere göre hazırlanır. Varlık - Bağıntı Çizeneği kullanılır. (ERD) Bu aşamada, varlıklar, bağıntılar, iş kuralları, bütünlük kısıtları tanımlanır. Şekiller ile hazırlanılarak ifade edilir.
Varlık - Bağıntı Çizeneği Bir yerlerden tanıdık gelmiyor mu?
Varlık - Bağıntı Çizeneği 1970’lerde, DR. Peter Chen ve arkadaşları tarafından geliştirilmiştir. Diyagram şeklinde hazırlanır. Veritabanı tasarımcıları için geliştirilmiş bir araçtır.
Niteliklerin Gösterimi Nitelik (attribute)’ler birazdan öğreneceğimiz varlıklar ya da bağıntılar ile ilgili özellikleri, belirtir. Nitelikler oval şekiller içinde tanımlanır. Bir nitelik tanımlanırken, değer alanı, veri tipi, biçim ve büyüklüğü de tanımlanmalıdır. ePosta dYeri gsmNo
Niteliklerin Gösterimi Değer Alanı (Domain): Bir niteliğin değer alanı, alabileceği değerler kümesini tanımlar. Örneğin: şehir plaka kodları 1-81 arasındadır. Veri Tipi (data type): Verilerin hangi tipte saklanacağını tanımlar. Örneğin : sayısal değerler integer tanımlanır.
Niteliklerin Gösterimi Biçim (Format): Verilerin hangi biçimde saklanacağını gösterir. Örneğin : Tarih bilgisi için gg.aa.yyyy formatı Büyüklük (size): Girilecek verilerin ne kadar büyük olacağını tanımlar. Örneğin : Soyad bilgisi için 20 karakter
Nitelik Türleri Çekirdek Nitelik (atomic attribute) En sade hali ile tanımlanmış niteliklerdir. Alt parçalara bölünemezler. Birleşik Nitelik (composite attribute) Birden fazla niteliğin birleşmesi ile oluşur.
Nitelik Türleri Türetilmiş Nitelik (derived attribute) Veri tabanında bir değer tutmayan, varolan değerlerden birisini kullanarak hesaplanan değerlerdir. Kesik dış çizgilerle gösterilir.
Nitelik Türleri Birden Çok Değer Alabilen Nitelik (multivalued attribute) Bu nitelikler birden fazla değer alabilir. Örneğin; bir kişinin birden fazla mail adresinin tutulması gereken durumlar olabilir.
Nitelik Türleri
Varlık Tiplerinin Gösterimi Varlık (entity), veritabanı sisteminde tek başına anlam ifade edebilen ve diğer varlıklardan ayrıştırılabilen herşeydir. Mutlaka ayrıştırıcı bir birincil anahtara sahip olmalıdır. En az bir niteliğe sahip olmalıdır.
Varlık Kümeleri Benzer özellikler içeren elemanlar, varlık kümelerinde toplanır. Örneğin, tüm kullanıcılar, sistemde tek bir varlık kümesine alınabilir. Çünkü veritabanında tutulacak özellikleri aynıdır.
Varlık Kümeleri Benzer özellikler içeren elemanlar, varlık kümelerinde toplanır. Örneğin, tüm kullanıcılar, sistemde tek bir varlık kümesine alınabilir. Çünkü veritabanında tutulacak özellikleri aynıdır.
Zayıf Varlıklar Tek başına sistemde bir anlam ifade etmezler. Başka varlıklara bağımlı olan varlıklardır.
ZayıF Varlık Örnekler
Bağıntı Tipleri Varlıklar, veritabanı sisteminde, birbirleri ile bağıntı içinde bulunabilirler. Baklava dilimi şeklinde gösterilirler. Bağıntılar iki veya daha fazla varlığı birbirine bağlayabilirler.
Bağıntı Tipleri
Bütünlük Kısıtları Bütünlük kısıtları 2 farklı konu üzerinde yapılır.Eleman sayısı ve katılım.
Eleman Sayısı Bütünlük Kısıtları Bire bir Bağıntı ( 1 - 1 Bağıntı ) Bire bir bağıntıda bulunan elemanlar, karşı taraftan sadece bir eleman ile eşleşebilir. Bir otobüs firmasının bilet sisteminin veri tabanını düşünelim.
Eleman Sayısı Bütünlük Kısıtları Bire bir Bağıntı ( 1 - 1 Bağıntı )
Eleman Sayısı Bütünlük Kısıtları Bire Çok Bağıntı ( 1 - N Bağıntı ) Bağıntıda bulunan varlıklardan bir tanesinin elemanının, diğer varlığın birden fazla elemanıyla eşleşebildiği bağıntıdır. Hepsiburada.com gibi alışveriş sitelerinin, adres bilgilerini düşünelim:
Eleman Sayısı Bütünlük Kısıtları Bire Çok Bağıntı ( 1 - N Bağıntı )
Eleman Sayısı Bütünlük Kısıtları Çoğa Çok Bağıntı ( M - N Bağıntı ) Bağıntıda bulunan varlıkların her ikisinin elemanlarının, diğer tarafın birden fazla elemanı ile eşleşebildiği bağıntıdır. Sınav ve soruların bir veri tabanında tutulduğunu düşünelim:
Eleman Sayısı Bütünlük Kısıtları Çoğa Çok Bağıntı ( M - N Bağıntı )
Katılım Bütünlük Kısıtları Zorunlu Katılım ( mandatory ) Zorunlu katılım olarak tanımlanmış bir varlığa ait elemanların, bağıntının diğer tarafındaki varlığa eleman girilirken mutlaka bulunması gerekir. Yolcu - Koltuk örneğimizi tekrar ele alalım :
Katılım Bütünlük Kısıtları Zorunlu Katılım ( mandatory ) Burada yolcu varlığına, her yeni bir eleman eklendiğinde, ona ait bir koltuk numarası da tanımlanmalıdır. Girilmesi zorunlu olan taraftan çıkan yola, düz çizgi eklenerek gösterilir.
Katılım Bütünlük Kısıtları Kısmen (Opsiyonel) Katılım ( optional ) Opsiyonel katılım olarak tanımlanmış bir varlığa ait elemanların, bağıntının diğer tarafındaki varlığa eleman girilirken mutlaka bulunması zorunlu değildir. Yolcu - Koltuk örneğimizden devam edelim :
Katılım Bütünlük Kısıtları Kısmen (Opsiyonel) Katılım (optional ) Burada koltuklar varlığına, yeni bir eleman eklendiğinde, ona bir yolcu oturtulması zorunlu değildir. Koltuklar, sisteme önceden boş olarak eklenebilir. Girilmesi zorunlu olmayan taraftan çıkan yola, daire eklenerek gösterilir.
Varolma Bağıntısı Her zayıf varlığın bir var olma bağıntısı olması gereklidir. Zayıf varlığın var oluşu, hangi varlığa bağlıysa ona doğru bir var olma bağıntısı oluşturulur. Çift çizgili baklava dilimi içerisinde gösterilir.
Varolma Bağıntısı
Özyineli Bağıntı Bir varlığın kendisi ile kurduğu bağıntıdır. Bir varlık içerisinden, özel bir eleman seçileceği zaman, özyineli bağıntı kurulur. Meclis için bir veritabanı modeli oluşturalım ve bir kısmını örnek olarak inceleyelim :
Özyineli Bağıntı
VBÇ’nin Okunması VBÇ okunurken, belirli kurallara dikkat edilir ve sıra ile okunur. Önce varlıklar ve bu varlıkları tanımlayan nitelikler okunur. Devamında bağıntılar okunur. Sonra eleman sayısı ve katılım bütünleme kısıtları okunur.
VBÇ’nin Okunması
Kümelenme Bazı durumlarda, bazı varlık kümelerini ve bunların aralarındaki bağıntıları kullanarak yeni bir bağıntı oluşturmaya gereksinim duyulur. Bu duruma kümelenme adı verilir.
Kümelenme Örneği
VBÇ Tasarım İpuçları Bir veritabanı sistemi modellenirken, iki önemli bütünlük kuralına dikkat edilmelidir. Varlık Bütünlüğü Kuralları Her varlık mutlaka bir birincil anahtara sahip olmalı Bir varlıktaki iki kayıt, aynı anahtar değerine sahip olamaz. Anahtar nitelik değerleri boş (NULL) olamaz.
VBÇ Tasarım İpuçları Referans Bütünlüğü Kuralları Yabancıl anahtarlar referans verdikleri varlıklara ait birincil anahtarlar ile eşleşmelidir. Bazı durumlarda yabancıl anahtarlar boş olabilir.
Veri Tabanı Tasarımında Dikkat Edilmesi Gereken Durumlar Gereksinimlerin dikkatle incelenerek sistemde bulunması gereken varlıkların belirlenmesi. Bu varlıkların birincil anahtarlarının tanımlanması Varlıkların niteliklerinin tanımlanması Varlıklar arasındaki bağıntıların tanımlanması Her bağıntıya ait eleman sayısı ve katılım kısıtlarının tanımlanması
Veri Tabanı Tasarımında Dikkat Edilmesi Gereken Durumlar Her bağıntıya tek ve anlamlı bir ismin verilmesi Tasarımlarda gereksiz bağıntılar kurmaktan kaçınılması Verilere erişim için kullanılan yolların dikkatle hazırlanması ve aynı bilgilerin tekrarlı olarak sistemde tutulmasından kaçınılması Tasarımlarda birden fazla alternatif geliştirilerek, en uygun olanının seçilmesi Zayıf varlıkların mutlaka çift çizgili kutularda gösterilmesi ve her zayıf varlık için en az bir varolma bağıntısının kurulması
VBÇ GÖSTERİMLERİ ÖZETİ
Serhat Körük Zafer Tekke Teşekkürler