# Veri Tabanında Normalizasyon

Canonical: https://kaantanis.com/bloglar/veri-tabani/veri-tabaninda-normalizasyon

Yayın tarihi: 2024-10-03

Etiketler: Veri Tabanı

Yazar: Kaan Tanış

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ğerBir 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ı olsunSipariş 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ınSipariş 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 edelimHayı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.
