İçeriğe geç

SQL Server Veritabanı Tasarımı: Normalizasyon ve İlişki Türleri

30.05.2024 2,637 okunma

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.

sql normalizasyon sql veritabanı tasarımı sql foreign key sql ilişki türleri sql 1nf 2nf 3nf
SQL Programlama Eğitimi hakkında bilgi almak ister misiniz?

Birebir özel yüz yüze eğitim yada uzaktan eğitim, esnek ders saatleri ile Pendik Kurtköy'de.