Transcript ER-Diagram

KAVRAMSALikinciMODEL
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
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.
ePosta
dYeri
gsmNo
• 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. Ö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 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
Ö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