Kavramsal modellemede veri tabanının şematik tasarımı Varlık–İlişki (ER) diyagramlarıyla yapılır. Bu ünite diyagramdaki sembolleri, ilişki türlerini ve diyagramın tablolara nasıl dönüştürüleceğini anlatır.
Semboller
- Dikdörtgen: Varlık kümesi (veri tabanında tablo). Çift çizgili dikdörtgen: zayıf varlık.
- Oval: Nitelik (tablonun sütunu). Altı çizili oval: anahtar nitelik. Çift çizgili oval: çok değerli nitelik. Kesik çizgili oval: türetilmiş nitelik.
- Baklava dilimi: İlişki (bağıntı). Çift çizgili baklava: varolma bağıntısı.
Varlık, nitelik ve anahtar
Varlık, var olan ve benzerlerinden ayırt edilebilen her şeydir; öğrenci, kitap gibi fiziksel ya da ders, şirket gibi soyut olabilir. Benzer varlıklar bir varlık kümesi oluşturur. Varlığın her özelliği bir niteliktir. Niteliğin alabileceği değer aralığına etki alanı (domain) denir; örneğin sınav notu için 0–100.
Nitelik türleri: bölünemeyen çekirdek nitelik (e-posta), parçalardan oluşan birleşik nitelik (isim = ad + soyad), başka niteliklerden hesaplanan türetilmiş nitelik (doğum tarihinden yaş) ve birden çok değer alabilen nitelik (birden fazla telefon).
Birincil anahtar (PK) NULL değer ve tekrar eden değer içeremez. Yabancı anahtar (FK) başka bir tablonun birincil anahtarıyla eşleşen sütundur ve tabloları birbirine bağlar.
Bağıntılar
Varlıklar arasındaki anlamlı bağlantılara bağıntı denir; iki varlık arasında birden fazla bağıntı olabilir. Bağıntılar tanımlanırken veri bütünlüğü için eleman sayısı ve katılım kısıtları belirlenir.
- Bire-bir (1–1): Bir öğretim elemanının yalnızca bir ofisi vardır.
- Bire-çok (1–N): Bir bölümde birçok öğrenci okur; en çok kullanılan türdür.
- Çoğa-çok (M–N): Bir öğrenci birçok ders alır, bir dersi birçok öğrenci alır.
- Katılım: Zorunlu katılım düz çizgiyle, isteğe bağlı (kısmi) katılım yuvarlakla gösterilir.
Zayıf varlık ve diğer kavramlar
Zayıf varlık, tek başına ayakta duramayan, varlığı başka bir varlığa bağlı olan varlıktır. Bir personel işten ayrılınca çocuklarının kaydı da silinir; çocuğun adı tek başına anahtar olamaz, ancak personel_no + çocuk_adı birlikte benzersiz olur. Fakülte de üniversite olmadan var olamayacağı için zayıf varlıktır.
- Özyineli bağıntı: Varlığın kendi içinde kurulan bağıntı; örneğin zümre başkanının da bir öğretmen olması.
- Bağıntı derecesi: Bağıntıya katılan varlık sayısıdır. "Hangi firma, hangi projedeki hangi malzemeyi sağladı?" sorusu üç varlık içerdiği için 3. dereceden bir bağıntıdır.
- Kümelenme: Bir ilişkinin tek bir varlığa değil, başka bir ilişkinin bütününe bağlanmasıdır.
ER modelinden tablolara
- 1–1 ilişki: Bir tablonun birincil anahtarı diğerine yabancı anahtar olarak eklenir. Boş (NULL) değer az kalacak taraf seçilir; örneğin bölüm başkanının numarası bölüm tablosuna konur.
- 1–N ilişki: N tarafındaki tabloya 1 tarafının birincil anahtarı eklenir. Bir müşterinin birçok siparişi varsa musteri_no sipariş tablosuna eklenir.
- M–N ilişki: İlişkinin adıyla yeni bir bağlantı tablosu oluşturulur; iki tablonun birincil anahtarları buna yabancı anahtar olarak eklenir. Gerekirse ayrı bir anahtar sütunu tanımlanır (aynı filmin aynı sinemada farklı saatlerde oynaması gibi).
- Zayıf varlık: Güçlü varlığın anahtarı zayıf varlığın tablosuna eklenir ve bileşik birincil anahtarın parçası olur: Fakulte (univNo, fakulteNo, fakulteAdi).