Varlık-İlişki Modellemesi
Varlık-ilişki modellemesi, bir etki alanını varlık kümeleri, bunların nitelikleri ve aralarındaki ilişkiler koleksiyonu olarak tanımlayan, ilişkisel bir şemaya dönüştürülebilen üst düzey bir diyagram üreten kavramsal bir tasarım tekniğidir.
Tanım
Varlık-ilişki modeli, bir veritabanının varlık kümeleri (benzer gerçek dünya nesnelerinin koleksiyonları), onları karakterize eden nitelikler ve varlıkları ilişkilendiren, kardinalite ve katılım kısıtlamalarıyla açıklanmış ilişki kümeleri tarafından tanımlandığı kavramsal bir veri modelidir.
Kapsam
Bu konu, varlık-ilişki (ER) modelinin yapılarını — varlık kümeleri, nitelikler (basit, bileşik, çok değerli, türetilmiş), ilişki kümeleri, kardinalite ve katılım kısıtlamaları, zayıf varlıklar ve genişletilmiş ER modelindeki genelleme/uzmanlaşma hiyerarşileri — ve bir ER diyagramını ilişkisel tablolara eşlemek için sistematik kuralları kapsamaktadır. Normalizasyon yoluyla ortaya çıkan şemanın mantıksal iyileştirilmesi ve ilişkisel modelin kendi yapısı bu kapsamın dışındadır.
Temel sorular
- Varlıklar, nitelikler ve ilişkiler gereksinimlerden nasıl belirlenir?
- Kardinalite ve katılım kısıtlamaları bir ilişki hakkında ne ifade eder?
- Bir varlık ne zaman zayıftır ve başka bir varlık aracılığıyla nasıl tanımlanır?
- Genelleme ve uzmanlaşma genişletilmiş ER modelinde nasıl yakalanır?
- Bir ER diyagramını ilişkisel tablolara dönüştürme kuralları nelerdir?
Anahtar kavramlar
- varlık kümesi ve varlık
- nitelikler: basit, bileşik, çok değerli, türetilmiş
- ilişki kümesi
- kardinalite (eşleme) kısıtlamaları
- katılım kısıtlamaları
- zayıf varlık kümeleri
- genelleme ve uzmanlaşma
- ER'den ilişkisele eşleme
Temel kuramlar
- Varlıklar, ilişkiler ve nitelikler
- ER modeli, ilgi çekici şeyleri (varlıklar), aralarındaki ilişkileri (ilişkiler) ve her birinin tanımlayıcı özelliklerini (nitelikler) ayırt ederek veri tanımını birleştirmekte, uygulamadan bağımsız kavramsal tasarım için bir kelime dağarcığı sunmaktadır.
- Kardinalite ve katılım kısıtlamaları
- Eşleme kardinaliteleri (bire-bir, bire-çok, çoka-çok) ve tam veya kısmi katılım, bir ilişkide kaç varlığın yer alabileceğini ve katılımın zorunlu olup olmadığını belirterek geçerli veritabanı durumlarını kısıtlamaktadır.
- ER'den ilişkisele eşleme
- Sistematik kurallar, varlık kümelerini tablolara, ilişki kümelerini kardinaliteye bağlı olarak tablolara veya yabancı anahtarlara, zayıf varlıkları ve alt sınıfları uygun ilişkisel yapılara dönüştürerek kavramsal ve mantıksal tasarımı birleştirmektedir.
Klinik önem
ER modellemesi, endüstri genelinde veritabanı tasarımının standart ön ucudur: analistler ve geliştiriciler, herhangi bir tablo oluşturulmadan önce paydaşlarla gereksinimleri yakalamak ve iletmek için ER diyagramlarını kullanır, bu da kurumsal, web ve bilgi yönetim sistemlerindeki yedekliliği ve tasarım hatalarını azaltmaktadır.
Tarihçe
Peter Chen, 1976 yılında ağ, ilişkisel ve varlık kümesi veri görünümlerini grafiksel bir kavramsal gösterimle birleştirmenin bir yolu olarak varlık-ilişki modelini tanıtmıştır. Model daha sonra genelleme ve uzmanlaşma (gelişmiş ER modeli) ile genişletilmiş ve nesne ile UML sınıf modellemesini etkilemiş, veritabanı tasarım eğitimi ve pratiğinin temel bir unsuru olarak kalmıştır.
Öne çıkan isimler
- Peter Chen
İlgili konular
Temel eserler
- chen1976
- silberschatz2019
Sıkça sorulan sorular
- Varlık-ilişki diyagramı ile ilişkisel şema arasındaki fark nedir?
- Bir ER diyagramı, varlıklar ve ilişkiler açısından bir etki alanının kavramsal, teknolojiden bağımsız bir tanımı olup, analiz ve iletişim amaçlıdır. İlişkisel bir şema ise gerçek tabloların, sütunların ve anahtarların mantıksal tasarımıdır. ER'den ilişkisele eşleme kuralları, birincisini ikincisine dönüştürmektedir.
- Bir ilişki ne zaman kendi tablosu haline gelmelidir?
- Çoka-çok ilişkiler her zaman her iki katılımcı varlığın anahtar niteliklerini içeren ayrı bir tablo gerektirmektedir. Bire-çok ve bire-bir ilişkiler genellikle yeni bir tablo oluşturmak yerine varlık tablolarından birine yabancı anahtar eklenerek temsil edilebilmektedir.