erDiagram
Ogrenci {
int ogrenci_id PK
string adi }
erDiagram Ogrenci { int ogrenci_id PK string adi }
ER modelleme için mermaid Entity Relationship Diagram kullanacağız. Çünkü mermaid’in markdown sözdizimi daha kolay anlaşılmaktadır. Ayrıca markdown düz metin olarak git gibi kaynak kontrol araçlarıyla sürüm kontrolü yapılabilir. Ek olarak mermaid diyagramları github, gitlab ve azure devops gibi kaynak kontrol araçlarının web sürümleri tarafından otomatik olarak gösterilir.
Varlıklar diyagramlardaki en temel kısımdır. Normalde veritabanı tablolarına karşılık gelirler. Ayrıca diyagramda niteliklerini veya sütunlarını da verebiliriz. Aşağıdaki örneğe bakınız.
Varlıkların ilişkileri olmalıdır. Diğer varlıklarla etkileşimleri bu şekildedir. Bunun sözdizimi aşağıdadır:
<birinci-varlık> [<ilişki> <ikinci-varlık> : <ilişki-etiketi>]
İlişki etiketi, gereksinimlerde veya sahada nasıl çalıştığını göstermelidir. Lütfen buna göre seçmeye çalışın.
Bir öğrencinin birçok derse kaydolduğu bir örnek. Bunu aşağıdaki gibi yazabiliriz.
Bu sözdiziminde, aşağıdaki tablo varlıkların kardinalitesini nasıl modelleyebileceğimizi göstermektedir. Bu, varlıklar arasında 0,1 veya çok olduğu bilgisidir.
Değer (Sol) | Değer (Sağ) | Anlamı |
---|---|---|
|o | o| | Sıfır veya bir |
|| | || | Tam olarak bir |
}o | o{ | Sıfır veya çok (Üst limit yok) |
}| | |{ | One veya çok (Üst limit yok) |
Bu bilgiyi şu şekilde okuyabiliriz:
erDiagram
Ogrenci ||--o{ Kurs : "kayıt_olur"
Kurs ||--|{ Ders : "içerir"
Ogretmen ||--o{ Kurs : "Ögretir"
Ogretmen ||--o{ Ders : verir
Ogrenci ||--o{ Ders : "katılır"
Ogrenci {
int id PK
string adi
date olusturuldugu_tarih
date guncellendigi_tarih
}
Kurs {
int id PK
string baslik
string tanim
date olusturuldugu_tarih
date guncellendigi_tarih
}
Ders {
int id PK
int Kurs_id FK
string baslik
date planlanan_tarih
date olusturuldugu_tarih
date guncellendigi_tarih
}
Ogretmen {
int id PK
string adi
string eposta
date olusturuldugu_tarih
date guncellendigi_tarih
}
erDiagram Ogrenci ||--o{ Kurs : "kayıt_olur" Kurs ||--|{ Ders : "içerir" Ogretmen ||--o{ Kurs : "Ögretir" Ogretmen ||--o{ Ders : verir Ogrenci ||--o{ Ders : "katılır" Ogrenci { int id PK string adi date olusturuldugu_tarih date guncellendigi_tarih } Kurs { int id PK string baslik string tanim date olusturuldugu_tarih date guncellendigi_tarih } Ders { int id PK int Kurs_id FK string baslik date planlanan_tarih date olusturuldugu_tarih date guncellendigi_tarih } Ogretmen { int id PK string adi string eposta date olusturuldugu_tarih date guncellendigi_tarih }
Mermaid normal bir markdown kodu olduğundan taslak diyagramlarımızı oluşturmak için ChatGPT, Gemini veya Perplexity gibi LLM’leri kullanabiliriz.
Aşağıdaki AI istemi (prompt), başlamak için taslak bir mermaid diyagramı oluşturur.
Lütfen bana öğrencileri, kursları, dersleri ve öğretmenleri gösteren basit bir mermaid entity relationship diyagramı oluşturun. Tüm varlıkların ortak sütunları olmalıdır.
Sonucu görmek için AI araçlarında deneyin.