Kaan Tanış, Mersin’de freelance web tasarım, yazılım geliştirme ve mobil uygulama üreten full-stack geliştirici ve UI tasarımcısıdır.

Veri Tabanında Normalizasyon

Veri Tabanında Normalizasyon

Aynı müşteri adını beş tabloda tekrar tekrar yazıyorsanız bir yerde yanlış gidiyorsunuz demektir. Normalizasyon bu tekrarı ortadan kaldırmanın yolu. Her veri bir yerde durur, gerisi ona referans verir.

1NF: hücrede tek değer

Bir hücrede "123-456, 789-101" gibi virgüllü liste olmamalı. Her telefon numarası ayrı satırda durur. Kural bu kadar.

2NF: her alan anahtara bağlı olsun

Sipariş tablosunda müşteri adı tutuyorsanız, o ad sipariş ID'ye değil müşteri ID'ye bağlı. Yani yanlış tabloda. Müşteri adını müşteri tablosuna taşıyıp siparişten ID ile referans veriyorsunuz.

3NF: dolaylı bağımlılık olmasın

Sipariş tablosunda müşteri ID ve şehir varsa, şehir aslında müşteriye bağlı, siparişe değil. Şehri müşteri tablosuna taşıyorsunuz.

Peki hep normalize mi edelim

Hayır. Çok bölünmüş tablo çok join demek, o da yavaş sorgu demek. Okuma ağırlıklı, hızlı dönmesi gereken ekranlarda bazen bilerek tekrar veri tutarsınız. Buna denormalizasyon deniyor. Bilinçli yapıldığı sürece yanlış değil, ama önce normal halini bilmek lazım ki neyi bozduğunuzu bilesiniz.

Özet: yazma tarafında normal tut, okuma tarafında gerekiyorsa gevşet.

İlgili Yazılar

Yorum Yap

Yorumunuz onaylandıktan sonra yayınlanacaktır. Bildirim almak isterseniz e-posta adresinizi girebilirsiniz.