data101

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

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

ER Diyagramları, veri modelleme sürecinin kritik bir parçasıdır. Varlık-İlişki (Entity-Relationship) diyagramları, veritabanındaki varlıkları, bu varlıkların özniteliklerini 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): (Düz Çizgi ile Gösterilir)
    • Tanım: Bir varlığın bir diğer varlıkla sadece bir kez ilişki kurabildiği durumdur.
    • Örnek (C2C Taksi Uygulaması): Her sürücünün tek bir ehliyet belgesi olabilir.
    • Görsel: İki varlık arasındaki ilişkiyi temsil eden çizginin her iki ucunda da “1” işareti bulunur.
  2. Bire-Çok (1:N): (Bir Ucu Düz, Diğer Ucu Crowfoot(Kaz Ayakları) ile Gösterilir)
    • Tanım: Bir varlığın birden fazla diğer varlıkla ilişki kurabildiği durumdur.
    • Örnek: Bir sürücünün birden fazla aracı olabilir.
    • Görsel: Bir varlık ile bir diğer varlık arasındaki ilişkiyi temsil eden çizginin bir ucunda “1”, diğer ucunda “N” veya “*” işareti bulunur.
  3. Çok-Çok (M:N): (Her İki Ucu Crowfoot(Kaz Ayakları) ile Gösterilir, lakin bu durum için pivot tablo gereklidir)
    • Tanım: Birden fazla varlığın birden fazla diğer varlıkla ilişki kurabildiği durumdur.
    • Örnek: Bir yolcu birçok seyahat yapabilir ve bir seyahatte birden fazla yolcu olabilir (eğer uygulama paylaşım özellikli ise).
    • Görsel: İki varlık arasındaki ilişkiyi temsil eden çizginin her iki ucunda da “N” veya “*” işareti bulunur.

2.2.2. İlişki Dereceleri (ER Diagramda direkt olarak gösterilmez, fakat ilişkideki varlık sayısını belirtir)

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

Zorunluluk, bir varlığın diğer varlıkla ilişki kurmasının gerekliliğini ifade eder.

Örnek (C2C Taksi Uygulaması):

Seyahat -> Düz Çizgi -> İçerir -> Kesikli Çizgi -> Ödeme

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 C2C taksi uygulaması üzerinden bir örnek sunulmaktadır.

*2.3.1. ER Diyagramı Çizim Adımları

  1. Varlıkları Belirleme:
    • Sistemdeki temel varlıkları tanımlayın.
    • Örnek: Kullanıcı, Araç, Seyahat, Ödeme.
  2. Öznitelikleri Tanımlama:
    • Her varlığın sahip olması gereken öznitelikleri belirleyin.
    • Kullanıcı: KullanıcıID, İsim, Soyisim, TelefonNumarası, Rol.
    • Araç: AraçID, PlakaNo, Marka, Model, Renk, KullanıcıID.
    • Seyahat: SeyahatID, BaşlangıçKonumu, BitişKonumu, BaşlamaZamanı, BitişZamanı, SürücüID, YolcuID.
    • Ödeme: ÖdemeID, SeyahatID, Tutar, ÖdemeYöntemi, ÖdemeZamanı.
  3. İlişkileri Tanımlama:
    • Varlıklar arasındaki ilişkileri belirleyin.
    • Kullanıcı Kullanır Araç ilişkisi (1:N).
    • Kullanıcı Yapar Seyahat ilişkisi (1:N).
    • Seyahat İçerir Ödeme ilişkisi (1:1).
  4. Kardinaliteyi Belirleme:
    • İlişkilerin kardinalitesini ve zorunluluğunu belirleyin ve diyagramda gösterin.
  5. Görsel Temsil:
    • Varlıkları dikdörtgenlerle, öznitelikleri ovalarla ve ilişkileri çizgilerle temsil edin.
    • Kardinalite ve zorunluluk sembollerini ilişki çizgilerinin uçlarına ekleyin.

2.3.2. C2C Taksi Uygulaması ER Diyagramı

*Adımlar:

  1. Varlıklar:
    • Kullanıcı (User)
    • Araç (Vehicle)
    • Seyahat (Ride)
    • Ödeme (Payment)
  2. Öznitelikler:
    • Kullanıcı:
      • KullanıcıID (INT, PK)
      • İsim (VARCHAR)
      • Soyisim (VARCHAR)
      • TelefonNumarası (VARCHAR)
      • Rol (VARCHAR)
    • Araç:
      • AraçID (INT, PK)
      • PlakaNo (VARCHAR)
      • Marka (VARCHAR)
      • Model (VARCHAR)
      • Renk (VARCHAR)
      • KullanıcıID (INT, FK)
    • Seyahat:
      • SeyahatID (INT, PK)
      • BaşlangıçKonumu (VARCHAR)
      • BitişKonumu (VARCHAR)
      • BaşlamaZamanı (DATETIME)
      • BitişZamanı (DATETIME)
      • SürücüID (INT, FK)
      • YolcuID (INT, FK)
    • Ödeme:
      • ÖdemeID (INT, PK)
      • SeyahatID (INT, FK)
      • Tutar (DECIMAL)
      • ÖdemeYöntemi (VARCHAR)
      • ÖdemeZamanı (DATETIME)
  3. İlişkiler:
    • Kullanıcı Kullanır Araç (1:N):
      • Bir sürücü bir veya daha fazla araca sahip olabilir.
      • Bir araç sadece bir sürücüye aittir.
    • Kullanıcı Yapar Seyahat (1:N):
      • Bir yolcu birden fazla seyahat yapabilir.
      • Bir seyahat bir yolcuya aittir.
      • Bir sürücü birden fazla seyahat gerçekleştirebilir.
      • Bir seyahat bir sürücü tarafından gerçekleştirilir.
    • Seyahat İçerir Ödeme (1:1):
      • Her seyahatin bir ödemesi vardır.
      • Her ödeme bir seyahate aittir.

*2.3.3. ER Diyagramı Örneği

Aşağıda, C2C taksi uygulaması için oluşturulmuş örnek bir ER diyagramı bulunmaktadır: diagram.png


*2.4. Kardinalite ve Zorunluluk Sembolleri

ER diyagramlarında kardinalite ve zorunluluk, ilişkilerin detaylarını belirtmek için kullanılır.

*Örnek (C2C Taksi Uygulaması):


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


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

ER diyagramları çizmek için kullanabileceğiniz bazı araçlar şunlardır:


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


2.8. Örnek ER Diyagramı

*C2C Taksi Uygulaması için Tamamlanmış ER Diyagramı: (Not: Görsel temsil için bir çizim aracı kullanarak diyagramı oluşturabilirsiniz.)

*Açıklama: