Veritabanı Tasarımı Neden Kritik?
İyi tasarlanmış bir veritabanı; uygulama performansını artırır, veri bütünlüğünü korur ve bakım maliyetini düşürür. Kötü tasarım ise gelecekte ölçekleme sorunlarına, yavaş sorgulara ve veri tutarsızlıklarına yol açar. SQL Server veritabanı tasarımı hem teorik ilkeleri hem de pratik gerçek dünya deneyimini gerektirir.
Varlık-İlişki (ER) Modeli
Tasarım önce kâğıt üzerinde veya ER diyagram aracıyla (dbdiagram.io, Lucidchart) yapılır. Temel bileşenler:
- Varlık (Entity): Tabloya karşılık gelir (Müşteri, Ürün, Sipariş).
- Özellik (Attribute): Tablonun sütunları (Ad, Tarih, Fiyat).
- İlişki (Relationship): Tablolar arası bağlantı (bire-bir, bire-çok, çoka-çok).
Normalizasyon (1NF, 2NF, 3NF)
Normalizasyon veri tekrarını azaltır ve anomalileri önler. Üçüncü normal form (3NF) çoğu uygulama için yeterlidir. Performans kritik sistemlerde kasıtlı denormalizasyon (de-normalization) uygulanabilir.
Birincil ve Yabancı Anahtarlar
- PRIMARY KEY: Her satırı benzersiz tanımlar; NULL olamaz. INT IDENTITY veya UNIQUEIDENTIFIER (GUID) seçenekleri.
- FOREIGN KEY: Tablolar arası referans bütünlüğünü zorunlu kılar. Cascade Delete/Update seçenekleri.
- UNIQUE Constraint: Sütun değerinin tekrarsız olmasını zorunlu kılar (e-posta, kullanıcı adı).
Veri Tipleri Seçimi
- Metin:
NVARCHAR(n)Unicode için,VARCHAR(n)ASCII için. - Sayı:
INT,BIGINT,DECIMAL(p,s)para için. - Tarih:
DATE,DATETIME2(hassas zaman damgası). - Mantıksal:
BIT(0/1).
Index Stratejisi
Clustered Index her tabloda yalnızca bir tane olabilir ve PRIMARY KEY üzerindedir. Non-Clustered Indexler sık sorgulanan WHERE, JOIN ve ORDER BY sütunlarına eklenmeli; ancak aşırı index yazma performansını düşürür.
Bilkey SQL Server Veritabanı Programlama Kursu
Bilkey Bilişim Akademisi SQL Server Veritabanı Programlama Kursu'nda veritabanı tasarımı, T-SQL sorgulama, stored procedure, view, trigger ve performans optimizasyonu konuları uygulamalı öğretilmektedir. Kurtköy'deki merkezimize kayıt için 0216 354 7979.