Prompt
Sen veri bütünlüğünü ve sorgu performansını birlikte düşünen deneyimli bir veritabanı tasarımcısısın.
Uygulama ve iş alanı: [UYGULAMA]
İş kuralları (varlıklar, ilişkiler, kısıtlar): [IS_KURALLARI]
En sık çalışacak sorgular / ekranlar: [SORGULAR]
Veritabanı ve ölçek beklentisi: [VERITABANI]
Başlamadan önce: Şemayı etkileyecek belirsiz bir kural varsa (ör. bir sipariş birden fazla adrese gidebilir mi?) en fazla 3 kısa soru sor ve yanıtımı bekle.
Tasarım:
1. Varlık listesi ve ilişkiler (1-1, 1-N, N-N) ve her ilişkinin gerekçesi.
2. Tablolar: Sütun, tip, boş olabilir mi, varsayılan; birincil ve yabancı anahtarlar, benzersizlik ve CHECK kısıtları.
3. Normalizasyon: Hangi normal formda olduğu; bilinçli olarak yapılan denormalizasyonlar ve nedeni.
4. İndeksler: Verdiğim sorgulara göre, her indeksin hangi sorguya hizmet ettiği.
5. Özel konular: Soft delete, zaman damgaları, para birimi (float kullanmadan), çok dillilik veya denetim kaydı gerekiyorsa yaklaşım.
6. DDL: Çalıştırılabilir CREATE TABLE komutları.
7. ER diyagramı: Mermaid formatında.
Kurallar: Para için ondalık (DECIMAL) veya kuruş cinsinden tam sayı kullan. Silme davranışlarını (CASCADE, RESTRICT) her yabancı anahtar için bilinçli seç ve belirt.
Doldurulacak alanlar 4
- [UYGULAMA]
- Uygulama ve iş alanı Örn. Veteriner kliniği randevu ve hasta takip sistemi
- [IS_KURALLARI]
- İş kuralları Örn. Bir sahibin birden fazla hayvanı olabilir; her muayenede birden fazla aşı/ilaç uygulanabilir; aşıların tekrar tarihi takip edilir
- [SORGULAR]
- En sık çalışacak sorgular Örn. Bu hafta aşı tarihi gelen hayvanlar, bir hayvanın tüm geçmişi, günlük randevu listesi
- [VERITABANI]
- Veritabanı ve ölçek Örn. PostgreSQL 16, 3 şube, yılda ~20.000 muayene
Örnek çıktı
1. İlişkiler
- owners 1-N pets: Bir sahibin birden fazla hayvanı olabilir.
- pets 1-N visits
- visits N-N treatments (visit_treatments ara tablosu): Bir muayenede birden fazla aşı/ilaç.
2. Tablo örneği
visit_treatments
- id BIGSERIAL PK
- visit_id BIGINT NOT NULL FK → visits(id) ON DELETE CASCADE
- treatment_id INT NOT NULL FK → treatments(id) ON DELETE RESTRICT
- next_due_date DATE NULL
- price_cents INTEGER NOT NULL CHECK (price_cents >= 0)
4. İndeks
CREATE INDEX idx_vt_next_due ON visit_treatments (next_due_date) WHERE next_due_date IS NOT NULL;
→ "Bu hafta aşısı gelen hayvanlar" sorgusu için kısmi indeks.
7. ER diyagramı
erDiagram
OWNERS ||--o{ PETS : sahiptir
PETS ||--o{ VISITS : muayene
VISITS ||--o{ VISIT_TREATMENTS : içerir
...
- owners 1-N pets: Bir sahibin birden fazla hayvanı olabilir.
- pets 1-N visits
- visits N-N treatments (visit_treatments ara tablosu): Bir muayenede birden fazla aşı/ilaç.
2. Tablo örneği
visit_treatments
- id BIGSERIAL PK
- visit_id BIGINT NOT NULL FK → visits(id) ON DELETE CASCADE
- treatment_id INT NOT NULL FK → treatments(id) ON DELETE RESTRICT
- next_due_date DATE NULL
- price_cents INTEGER NOT NULL CHECK (price_cents >= 0)
4. İndeks
CREATE INDEX idx_vt_next_due ON visit_treatments (next_due_date) WHERE next_due_date IS NOT NULL;
→ "Bu hafta aşısı gelen hayvanlar" sorgusu için kısmi indeks.
7. ER diyagramı
erDiagram
OWNERS ||--o{ PETS : sahiptir
PETS ||--o{ VISITS : muayene
VISITS ||--o{ VISIT_TREATMENTS : içerir
...
0
- Kopyalanma
- 129
- Olumlu oy
- +0
- Yorum
- 0
Promptun aracı
ChatGPT için diğer promptlarBenzer promptlar
- Arama Niyetine Uygun SEO Blog Yazısı Hedef anahtar kelimenize göre arama niyetini analiz eden, önce taslak sunup onayınızı alan, sonra özgün deneyim ve örneklerle zenginleştirilmiş SEO uyumlu bir blog yazısı yazdırın.
- Dürüst ve Güven Veren Ürün İnceleme Yazısı Kullandığınız bir ürünü kendi deneyiminize dayanarak; artıları, eksileri, kime uygun olup olmadığı ve alternatifleriyle birlikte okurun karar vermesini kolaylaştıran dürüst bir incelemeye dönüştürün.
- "En İyi X Öneri" Formatında Liste Yazısı (Listicle) "En iyi 10 ...", "... için 7 öneri" gibi liste yazılarını; her maddesi gerçekten fark yaratan, seçim kriterleri açık ve okuyucuya "hangisi bana uygun?" sorusunun cevabını veren biçimde yazın.
- Okunan ve Tıklanan E-Bülten (Newsletter) Hazırlama Haftalık veya aylık e-bülteniniz için; açılma oranını artıran konu satırları, kişisel bir giriş, taranabilir bölümler ve tek net eylem çağrısıyla okunan bir bülten hazırlayın.
Topluluk denemeleri (0)
Bu promptla üretilen görseller. Siz de denediyseniz sonucunuzu paylaşın; editör onayından sonra burada görünür.
Henüz paylaşılan deneme yok. İlk sonucu siz paylaşın.
Yorumlar (0)
Henüz yorum yok
Promptu denediyseniz deneyiminizi veya geliştirme önerinizi paylaşın.
Yorum yapmak için giriş yap