ER Model KAVRAMSAL MODEL KAVRAMSAL MODEL Conceptual Model

  • Slides: 56
Download presentation
ER Model KAVRAMSAL MODEL

ER Model KAVRAMSAL MODEL

KAVRAMSAL MODEL (Conceptual Model) • Veri tabanı sistemlerinin modellenmesi amacıyla, ilk aşamadaki verilere göre

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

Varlık - Bağıntı Çizeneği

Varlık - Bağıntı Çizeneği • 1970’lerde, DR. Peter Chen ve arkadaşları tarafından geliştirilmiştir. •

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,

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. e. Posta d. Yeri gsm. No • Bir nitelik tanımlanırken, değer alanı, veri tipi, biçim ve büyüklüğü de tanımlanmalıdır.

Niteliklerin Gösterimi • Değer Alanı (Domain): Bir niteliğin değer alanı, alabileceği değerler kümesini tanımlar.

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ı 181 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

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

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

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

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

Nitelik Türleri

Varlık Tiplerinin Gösterimi • Varlık (entity), veritabanı sisteminde tek başına anlam ifade edebilen ve

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ı 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,

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,

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ı

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

ZayıF Varlık Örnekler

Bağıntı Tipleri • Varlıklar, veritabanı sisteminde, birbirleri ile bağıntı içinde bulunabilirler. • Baklava dilimi

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

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.

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ı )

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 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ı )

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ı • 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ı )

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ı )

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ış

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

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

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

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

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ı

Varolma Bağıntısı

Özyineli Bağıntı • Bir varlığın kendisi ile kurduğu bağıntıdır. • Bir varlık içerisinden, özel

Ö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ı

Özyineli Bağıntı

VBÇ’nin Okunması • VBÇ okunurken, belirli kurallara dikkat edilir ve sıra ile okunur. •

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ı

VBÇ’nin Okunması

VBÇ Tasarım İpuçları • Bir veritabanı sistemi modellenirken, iki önemli bütünlük kuralına dikkat edilmelidir.

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 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

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

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

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İ

VBÇ GÖSTERİMLERİ ÖZETİ

Örnek Bir hastanede doktorun hasta muayene sistemini düşünelim. . Muayene tarih ve saatinin, hasta

Örnek Bir hastanede doktorun hasta muayene sistemini düşünelim. . Muayene tarih ve saatinin, hasta ile ilgili muayene sonucu verdiği kararların tutulacağı bir sistem olsun. Tablolar? İlişkiler?