Sobes.tech
Junior

Veritabanında normalizasyon nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Veritabanı normalizasyonu, verilerdeki gereksiz tekrarları (düplikasyonları) azaltmak ve veri bütünlüğünü artırmak amacıyla veritabanındaki verilerin düzenlenmesi sürecidir. Bu, büyük tabloların daha küçük tablolara bölünmesi ve aralarındaki ilişkilerin tanımlanmasıyla gerçekleştirilir.

Normalizasyonun temel amacı:

  • Veri tekrarını azaltmak: Aynı bilginin farklı yerlerde tekrar edilmesini önlemek.
  • Veri bütünlüğünü artırmak: Verilerin doğruluğunu ve tutarlılığını sağlamak.
  • Esneklik sağlamak: Veritabanı yapısında değişiklikleri ve genişletmeleri kolaylaştırmak.

Normalizasyon, normal form adı verilen bir dizi kuralla tanımlanır. En yaygın üç normal form şunlardır:

  1. Birinci Normal Form (1NF):

    • Her sütun atomik (bölünemez) değerler içermelidir.
    • Tekrarlayan sütun grupları olmamalıdır.
    • Her satır benzersiz olmalıdır (birincil anahtar aracılığıyla).
  2. İkinci Normal Form (2NF):

    • Tablo 1NF'dedir.
    • Tüm anahtar olmayan öznitelikler (birincil anahtar dışındaki sütunlar), tam olarak birincil anahtara bağlıdır (bileşik anahtar varsa). Kısmi bağımlılıklar olmamalıdır.
  3. Üçüncü Normal Form (3NF):

    • Tablo 2NF'dedir.
    • Transitif bağımlılıklar yoktur. Anahtar olmayan öznitelikler, diğer anahtar olmayan özniteliklere bağlı değildir.

Daha yüksek normal formlar (BCNF, 4NF, 5NF, 6NF) de vardır, ancak genellikle 3NF çoğu pratik amaç için yeterlidir.

Örnek (basitleştirilmiş):

Müşteri siparişleri için normalize edilmemiş tablo:

Sipariş ID Müşteri Adı Müşteri Adresi Ürünler Miktar Birim Fiyat
101 Ivan Moskova Dizüstü Bilgisayar 1 50000
101 Ivan Moskova Fare 2 1000
102 Maria Saint Petersburg Klavye 1 3000

Normalizasyon sonrası (örneğin, 3NF'ye kadar):

Siparişler Tablosu:

Sipariş ID Müşteri ID Sipariş Tarihi
101 1 2023-10-26
102 2 2023-10-26

Müşteriler Tablosu:

Müşteri ID Müşteri Adı Müşteri Adresi
1 Ivan Moskova
2 Maria Saint Petersburg

Sipariş Detayları Tablosu:

Detay ID Sipariş ID Ürün ID Miktar Birim Fiyat
1 101 10 1 50000
2 101 20 2 1000
3 102 30 1 3000

Ürünler Tablosu:

Ürün ID Ürün Adı
10 Dizüstü Bilgisayar
20 Fare
30 Klavye

Denenormalizasyon, normalizasyonun tersidir ve bazen veri okuma performansını artırmak için kullanılır, ancak bu, gereksiz tekrarların artması pahasına olur.