430 likes | 906 Views
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.
E N D
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.
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.
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.
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.
Ö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 :
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.
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.
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ı