🚀 Türkiye'nin ilk meslek-bazlı AI rehberi

Veri Modelleme (ER Diyagram)

Entity-Relationship diyagram. Varlıklar, ilişkiler, öznitelikler, normalizasyon.

👔 İş Analisti #veri 📊 Ileri 💎 Premium

💬 Prompt

🔒

Bu prompt Premium üyelere özel

Mesleğine özel 500+ profesyonel promptun tamamına erişmek için Premium'a geç. Aylık sadece 99₺.

💎 Premium'a Geç Ücretsiz Promptları Gör
Aşağıdaki sistem için veri modeli ve ER diyagram hazırla:

SİSTEM:
- Ad: [SİSTEM]
- Amaç: [NE YAPAR]
- Kullanıcılar: [KİMLER]
- İşlem hacmi: [YAKLAŞıK KAÇ KAYIT]

ANA VARLıKLAR (high-level):
[LİSTELE - ÖRN: MÜŞTERI, ÜRÜN, SIPARIŞ, FATURA]

VERİ MODELLEME 7 ADIMDA:

ADIM 1 — VARLIK (ENTITY) TESPİTİ

1.1 NESNE / KAVRAM TANIMLAMA

VARLIK NEDİR:
- Hakkında bilgi saklanan "şey"
- Ad, fiil değil (ör: "Müşteri" evet, "Satış" tartışmalı)
- Birden fazla örneği olabilir
- Benzersiz tanımlanabilir

VARLıK ÖRNEKLERI:
- İnsan: Müşteri, Çalışan, Kullanıcı
- Yer: Şube, Depo, Mağaza
- Nesne: Ürün, Araç, Bina
- Olay: Sipariş, Rezervasyon, Şikayet
- Kavram: Kategori, Rol, Durum

1.2 VARLIK ADLANDIRMA

KURAL:
- Tekil form ("Müşteri" değil "Müşteriler")
- Büyük harf başlangıç
- Tek kelime tercih
- Anlaşılır

İYI ÖRNEKLER:
- Ürün, Sipariş, Fatura
- Kullanıcı, Rol, Yetki
- Şube, Departman, Pozisyon

KÖTÜ ÖRNEKLER:
- "Müşteri Bilgileri" (→ Müşteri)
- "Satışlar" (→ Satış)
- "Temp_Data" (tanımsız)

1.3 ZAYIF VS GÜÇLÜ VARLIKLAR

GÜÇLÜ VARLIK:
- Kendi başına var olabilir
- Birincil anahtarı var
- Örnek: Müşteri

ZAYıF VARLıK:
- Başka varlığa bağımlı
- Kendi başına anlamı yok
- Bağlı olduğu varlıkla birlikte tanımlı
- Örnek: Sipariş Satırı (Siparişe bağımlı)
- Çift kenarlı dikdörtgen ile gösterilir

ADIM 2 — ÖZNİTELİK (ATTRIBUTE) TESPİTİ

2.1 ÖZNİTELİK TİPLERİ

BASİT (atomic):
- Tek değer
- Bölünemez
- Örnek: Yaş, Cinsiyet

BİRLEŞİK (composite):
- Alt özniteliklere ayrılabilir
- Örnek: Adres → Sokak, Şehir, Posta Kodu

TEKLİ VS ÇOKLU DEĞER:
- Tekli: Telefon (1 adet)
- Çoklu: Telefonlar (birden fazla) — 3NF'e göre ayrı tablo

TÜRETİLMİŞ (derived):
- Başka özniteliklerden hesaplanır
- Örnek: Yaş (Doğum Tarihi'nden)
- Saklamaya gerek yok (cache hariç)

NULL YAPABILEN:
- Zorunlu değil
- Boş olabilir
- İş kuralları ile belirlenir

2.2 VERİ TİPLERİ

METİN:
- VARCHAR(N): Değişken uzunluk (adres, ad)
- CHAR(N): Sabit uzunluk (TC kimlik 11)
- TEXT: Uzun metin (açıklama)

SAYI:
- INT: Tam sayı (yaş)
- DECIMAL(10,2): Ondalık (para)
- FLOAT: Kayan nokta (ağırlık)

TARIH / ZAMAN:
- DATE: Sadece tarih
- TIME: Sadece saat
- DATETIME: İkisi
- TIMESTAMP: Unix zaman

BOOLEAN:
- TRUE / FALSE
- Bit alan

ENUM:
- Sınırlı seçenek
- Örnek: ('aktif', 'pasif', 'beklemede')

JSON:
- Yarı yapılandırılmış veri

BLOB:
- Dosya, görsel
- Gerçek sistemde dosyayı ayrı tut, referans sakla

2.3 KISITLAMALAR

NOT NULL:
- Zorunlu alan

UNIQUE:
- Benzersiz
- E-posta, TC kimlik

DEFAULT:
- Varsayılan değer
- Örnek: DEFAULT CURRENT_TIMESTAMP

CHECK:
- Değer kontrolü
- Örnek: CHECK (yaş > 0 AND yaş < 150)

ADIM 3 — BİRİNCİL ANAHTAR (PRIMARY KEY)

3.1 NATURAL KEY

- Gerçek dünyada benzersiz bir öznitelik
- Örnek: TC kimlik, ISBN, e-posta
- Pro: Anlamlı
- Con: Değişebilir (e-posta), hassas (TC), büyük (VARCHAR)

3.2 SURROGATE KEY

- Sistem tarafından üretilen
- Anlamsız (çoğunlukla sayı)
- Örnek: customer_id INT AUTO_INCREMENT
- Pro: Basit, hızlı, değişmez
- Con: İş anlamı yok

BEST PRACTICE:
- Surrogate key ana
- Natural key UNIQUE constraint
- Performans için surrogate
- Veri bütünlüğü için natural

3.3 COMPOSITE KEY

- Birden fazla sütun birleşimi
- Örnek: (ders_kodu, dönem_id) → kurs benzersiz
- Genelde zayıf varlıklarda

ADIM 4 — İLİŞKİLER (RELATIONSHIPS)

4.1 KARDINALITE (Cardinality)

BIR'E BİR (1:1):
- Her A için en fazla 1 B, her B için en fazla 1 A
- Örnek: Kişi ↔ Pasaport
- Nadir (genellikle aynı tabloya birleştirilebilir)

BIR'E ÇOKA (1:N):
- Her A için birden fazla B, her B için sadece 1 A
- Örnek: Müşteri → Sipariş
- Yabancı anahtar (FK) "çok" tarafında

ÇOKTAN ÇOKA (M:N):
- Her A için birden fazla B, her B için birden fazla A
- Örnek: Öğrenci ↔ Ders
- Junction table gerekli (öğrenci_ders)

4.2 KATILIM (Participation)

TOTAL (zorunlu):
- Her A, bir B ile ilişkili olmalı
- Örnek: Her sipariş bir müşteriye aittir (NOT NULL FK)

PARTIAL (opsiyonel):
- Her A, B ile ilişkili olabilir ama gerek yok
- Örnek: Her müşterinin siparişi olmayabilir (yeni kayıtlı)

4.3 İLİŞKİ ADLANDIRMA

- Fiil ifade
- Çift yönlü okunmalı
- Örnek: "Müşteri SİPARİŞ VERİR"; "Sipariş MÜŞTERİYE AİTTİR"

4.4 YABANCI ANAHTAR (FOREIGN KEY)

REFERANS BÜTÜNLÜĞÜ:
- CASCADE: Silinirse bağlı kayıtlar da silinir
- SET NULL: Silinirse FK null olur
- RESTRICT: Bağlı kayıt varsa silme
- NO ACTION: Hata fırlat

ADIM 5 — NORMALIZASYON

5.1 NEDEN

- Tekrar azaltma
- Tutarlılık artırma
- Güncelleme anomalilerini önleme

5.2 NORMAL FORMLAR

1NF (Birinci Normal Form):
- Atomic (bölünemez) değerler
- Çoklu değer yok (virgüllü liste yok)
- Her hücrede tek değer

ÖRNEK KÖTÜ: Telefonlar = "0532...,0533..."
ÖRNEK İYİ: Ayrı Telefon tablosu

2NF:
- 1NF
- Parttial dependency yok
- Composite key varsa tüm non-key'ler tam key'e bağımlı

3NF:
- 2NF
- Transitive dependency yok
- Non-key, non-key'e bağımlı değil

ÖRNEK KÖTÜ: (öğrenci_id, bölüm_adı, bölüm_dekan)
- bölüm_dekan, bölüm_adı'na bağımlı (transitive)
ÖRNEK İYİ: Ayrı Bölüm tablosu

BCNF (Boyce-Codd):
- 3NF
- Daha sıkı

5.3 DENORMALIZASYON (yüksek performans için)

- Bazı durumlarda normalleştirmeme
- Read-heavy sistemler
- Raporlama
- Cache değerler
- Trade-off: disk kullanımı ↑, query hızı ↑, consistency kontrol lazım

ADIM 6 — ER DIYAGRAM NOTASYONU

6.1 CHEN NOTASYONU

- Varlık: Dikdörtgen
- İlişki: Elmas
- Öznitelik: Oval (dikdörtgenden çıkan)
- Birincil anahtar: Altı çizili öznitelik
- Zayıf varlık: Çift kenarlı dikdörtgen

6.2 CROW'S FOOT NOTASYONU (modern, yaygın)

- Varlık: Dikdörtgen
- İlişki: Çizgi (ucunda kardinalite sembolleri)

SEMBOLLER:
- Tek çizgi: 1 (zorunlu)
- O: 0 (opsiyonel)
- Crow's foot: çok (N)
- Zorunlu çok: Crow's foot + tek çizgi
- Opsiyonel çok: Crow's foot + daire

6.3 UML SINIF DIYAGRAM

- Varlık: Sınıf (dikdörtgen)
- 3 bölüm: Ad, Öznitelikler, Metotlar
- İlişki: Çizgi + kardinalite yazılı (1..*, 0..1)

ADIM 7 — ARAÇLAR

ÜCRETSİZ:
- draw.io / diagrams.net
- Lucidchart (ücretsiz plan)
- dbdiagram.io (kod ile)
- MySQL Workbench (otomatik)
- ER/Studio

ÜCRETLI:
- Enterprise Architect
- Visual Paradigm
- Erwin
- PowerDesigner

CODE-FIRST:
- Liquibase
- Flyway
- Django ORM
- Hibernate

ÖRNEK MODEL — E-TICARET:

VARLıKLAR:
- Kullanıcı (user_id PK, ad, email, şifre_hash, kayıt_tarihi)
- Ürün (urun_id PK, ad, fiyat, stok, aciklama, kategori_id FK)
- Kategori (kategori_id PK, ad, üst_kategori_id FK)
- Sipariş (siparis_id PK, user_id FK, tarih, toplam, durum)
- Sipariş_Satırı (zayıf varlık, siparis_id+urun_id composite PK, adet, birim_fiyat)
- Adres (adres_id PK, user_id FK, sokak, şehir, posta_kodu, tip)
- Ödeme (odeme_id PK, siparis_id FK, tutar, yöntem, durum, tarih)

İLİŞKİLER:
- Kullanıcı 1 — N Sipariş
- Sipariş 1 — N Sipariş_Satırı
- Ürün 1 — N Sipariş_Satırı
- Kategori 1 — N Ürün (self-referencing: alt kategoriler)
- Kullanıcı 1 — N Adres
- Sipariş 1 — 1 Ödeme (veya 1 — N taksit için)

KISITLAMALAR:
- email UNIQUE
- stok CHECK (stok >= 0)
- toplam CHECK (toplam > 0)
- durum ENUM ('beklemede','kargoda','teslim','iptal')

DOKÜMANTASYON:
- ER Diyagram (PDF)
- Veri Sözlüğü (Excel)
  * Her tablo için: ad, açıklama
  * Her sütun için: ad, tip, null, default, kısıtlamalar, açıklama
- Örnek veri (10-20 satır her tablo için)

Türkçe. IEEE ve endüstri best practice'lerine uygun.

🎯 Nasıl Kullanılır?

  1. Yukarıdaki 📋 Kopyala butonuna bas
  2. Köşeli parantez içindeki [alanları] kendi bilgilerinle değiştir
  3. ChatGPT / Claude / Gemini'a yapıştır, gönder
  4. Çıkan sonucu ihtiyacına göre ince ayarla
0
Görüntülenme
0
Kopyalama

📚 İş Analisti için Diğer Promptlar

SQL Sorgu Yazımı + Veri Analizi
#veri 💎
Kullanıcı Hikayesi (User Story) Yazımı
#dokuman
Gereksinim Belgesi (BRD / FRD) Hazırlama
#dokuman 💎
Süreç Haritası (BPMN / Swim Lane) Çizimi
#surec 💎
Use Case Yazımı ve Diyagram
#dokuman 💎
SQL Veri Sorgulama (İş Analisti İçin)
#beceri 💎
Tüm İş Analisti promptlarını gör →