data101

2. ER (Varlık-İlişki) Diyagramları

2.1. ER Diyagramlarının Temel Bileşenleri

ER Diyagramları, veritabanı tasarımının temel taşlarından biridir. Varlık-İlişki (Entity-Relationship) diyagramları, veritabanındaki varlıklar, bu varlıkların öznitelikleri ve varlıklar arasındaki ilişkileri görsel olarak temsil eder. Bu sayede, veritabanı yapısını daha iyi anlamak ve etkili bir şekilde tasarlamak mümkün olur.

2.1.1. Varlıklar (Entities)

2.1.2. Öznitelikler (Attributes)

2.1.3. İlişkiler (Relationships)


2.2. Kardinalite ve İlişkiler

Kardinalite, varlıklar arasındaki ilişkinin sayısal doğasını belirtir. Bir ilişkideki kardinalite, bir varlığın diğer varlıkla kaç kez ilişki kurabileceğini ifade eder.

2.2.1. Kardinalite Türleri

  1. Bire-Bir (1:1):
    • Tanım: Bir varlığın bir diğer varlıkla sadece bir kez ilişki kurabildiği durumdur.
    • Örnek: Her çalışan, bir adet kimlik kartına sahip olabilir.
    • Görsel: İki varlık arasındaki ilişkiyi temsil eden çizginin her iki ucunda da “1” işareti bulunur.

img1.png

  1. Bire-Çok (1:M): - Tanım: Bir varlığın birden fazla diğer varlıkla ilişki kurabildiği durumdur. - Örnek: Bir müşteri birçok sipariş verebilir. - Görsel: Bir varlık ile bir diğer varlık arasındaki ilişkiyi temsil eden çizginin bir ucunda “1”, diğer ucunda “*” işareti bulunur.

img2.png

  1. Çok-Çok (M:M):

    • Tanım: Birden fazla varlığın birden fazla diğer varlıkla ilişki kurabildiği durumdur.
    • Örnek: Bir öğrenci birçok derse kayıt olabilir ve bir ders birçok öğrenci tarafından alınabilir.
    • Görsel: İki varlık arasındaki ilişkiyi temsil eden çizginin her iki ucunda da “*” işareti bulunur.

img3.png

2.2.2. İlişki Dereceleri

2.2.3. Zorunluluğa Bağlı Kardinalite Gösterimi

  1. Çizgi Türleri ve Anlamları

Öncelikle iki temel çizgi türünden başlayalım:

Bu çizgilerin sonlarına eklenen semboller, katılımın zorunlu ya da isteğe bağlı olup olmadığını gösterir ve her iki varlık için ayrı ayrı uygulanabilir. Bir taraf zorunlu katılım gösterirken diğer taraf isteğe bağlı katılım gösterebilir.

  1. Semboller ve Anlamları
    • ||: Zorunlu katılım – Varlığın bu ilişkiye katılması zorunludur.
    • |o: İsteğe bağlı katılım – Varlık, bu ilişkiye katılmak zorunda değildir; katılabilir veya katılmayabilir.

img25.png

img26.png

Örnek Gösterim:

img4.png

2.3. ER Diyagramı Çizimi

ER diyagramları, veritabanı tasarımının görsel bir temsilidir. Aşağıda, ER diyagramı çizimi için temel adımlar ve örnek bir senaryo üzerinden nasıl çizileceği anlatılmaktadır.

2.3.1. ER Diyagramı Çizim Adımları

  1. Varlıkları Belirleme:
    • İlk olarak, veritabanında yer alacak temel varlıkları tanımlayın.
    • Örneğin, bir e-ticaret sitesi için Müşteri, Ürün, Sipariş varlıkları.
  2. Öznitelikleri Tanımlama:
    • Her varlığın sahip olması gereken öznitelikleri belirleyin.
    • Müşteri: ID, Ad, Soyad, E-posta.
    • Ürün: ID, İsim, Fiyat, Stok.
    • Sipariş: ID, MüşteriID, Tarih.
  3. İlişkileri Tanımlama:
    • Varlıklar arasındaki ilişkileri belirleyin.
    • Müşteri Verir Sipariş ilişkisi (1:M).
    • Sipariş İçerir Ürün ilişkisi (M:M).
  4. Kardinaliteyi Belirleme:
    • İlişkilerin kardinalitesini belirleyin ve diyagramda gösterin.
  5. Görsel Temsil:
    • Varlıkları dikdörtgenlerle, öznitelikleri ovalarla ve ilişkileri çizgilerle temsil edin.
    • Kardinaliteyi ilişki çizgilerinin uçlarına ekleyin.

2.3.2. Örnek ER Diyagramı Senaryosu

Senaryo: Bir e-ticaret sitesi, müşterilerin verdiği siparişleri yönetmek istiyor. Her müşteri bir veya daha fazla sipariş verebilir ve her sipariş bir veya daha fazla ürünü içerebilir.

Adımlar:

  1. Varlıklar:
    • Müşteri (Customer)
    • Ürün (Product)
    • Sipariş (Order)
    • Sipariş_Urun (Order_Product) (Çok-Çok ilişkiler için bağlantı varlığı)
  2. Öznitelikler:
    • Müşteri:
      • ID (INT, PK)
      • Ad (VARCHAR)
      • Soyad (VARCHAR)
      • E-posta (VARCHAR)
    • Ürün:
      • ID (INT, PK)
      • İsim (VARCHAR)
      • Fiyat (DECIMAL)
      • Stok (INT)
    • Sipariş:
      • ID (INT, PK)
      • MüşteriID (INT, FK)
      • Tarih (DATE)
    • Sipariş_Urun:
      • SiparişID (INT, FK)
      • ÜrünID (INT, FK)
      • Miktar (INT)
  3. İlişkiler:
    • Müşteri Verir Sipariş (1:M):
      • Bir müşteri birçok sipariş verebilir.
    • **Sipariş İçerir Ürün (M:M):
      • Bir sipariş birçok ürünü içerebilir ve bir ürün birçok siparişte yer alabilir.
      • Bu ilişkiyi yönetmek için Sipariş_Urun adlı bir bağlantı varlığı kullanılır.
  4. Kardinalite ve Zorunluluk:
    • Müşteri - Sipariş:
      • Müşteri tarafı: 1
      • Sipariş tarafı: 0..*
    • Sipariş - Ürün:
      • Sipariş tarafı: 1
      • Ürün tarafı: 0..*

2.3.3. ER Diyagramı Örneği

Aşağıda, yukarıdaki senaryo için oluşturulmuş örnek bir ER diyagramı bulunmaktadır:

img5.png

img6.png

2.4. ER Diyagramı Çizimi İçin İpuçları ve En İyi Uygulamalar


2.5. ER Diyagramı Çizimi Örnekleri

2.5.1. E-Ticaret Veri Modelleme ER Diyagramı

Senaryo: Bir e-ticaret sitesi, müşterilerin verdiği siparişleri ve bu siparişlerdeki ürünleri yönetmek istiyor. Her müşterinin birden fazla siparişi olabilir ve her sipariş birden fazla ürünü içerebilir.

Açıklama:

2.5.2. Sağlık Sektörü Veri Modelleme ER Diyagramı

Senaryo: Bir hastane, hastaların randevularını, doktorlarını ve tedavi süreçlerini yönetmek istiyor. Her hastanın birden fazla randevusu olabilir ve her randevu bir doktora atanabilir.

ER Diyagramı:

img7.png

Açıklama:


2.6. ER Diyagramı Çizimi için Araçlar ve Teknolojiler

ER diyagramları çizmek için birçok araç mevcuttur. Bu araçlar, veri modelleme sürecini kolaylaştırır ve diyagramların profesyonel görünmesini sağlar.


2.7. ER Diyagramı Çizimi İçin En İyi Uygulamalar


2.8. ER Diyagramı Çiziminde Sık Karşılaşılan Hatalar ve Çözümleri


2.9. Örnek ER Diyagramı

Üye ve Ödünç Alma arasında bire-çok, Kitap ve Ödünç Alma arasında bire-çok, Kitap ve Yazar arasında çok-çok ilişki gösterilmektedir

img8.png

Açıklama: