İçindekiler:
Tanım - Üçüncü Normal Form (3NF) ne anlama geliyor?
Üçüncü normal form (3NF), bir veritabanını normalleştirmenin üçüncü adımıdır ve birinci ve ikinci normal formlar (1NF ve 2NF) üzerine kuruludur.
3NF, başvurulan verilerde birincil anahtara bağlı olmayan tüm sütun başvurusunun kaldırılması gerektiğini belirtir. Bunu koymanın bir başka yolu, başka bir tabloya başvurmak için yalnızca yabancı anahtar sütunlarının kullanılması ve başvurulan tabloda üst tablodan başka hiçbir sütun bulunmamasıdır.
Techopedia, Üçüncü Normal Formu (3NF) açıklıyor
İki tablo içeren bir bankanın veritabanını düşünün: müşteri ayrıntılarını depolamak için CUSTOMER_MASTER ve hangi müşterinin hangi hesabı içerdiği de dahil olmak üzere banka hesapları hakkındaki ayrıntıları saklamak için ACCOUNT_MASTER. Bu durumda, bir hesabı sahibi olan müşteriye bağlamak için iki tabloyu bağlamanın bir yolu olmalıdır. Bunu yapmanın yolu yabancı bir anahtar. Bu, ACCOUNT_MASTER tablosunda CUSTOMER_MASTER üst tablosundaki karşılık gelen bir sütunu (birincil anahtar olarak adlandırılır) işaret eden veya referans alan bir sütundur. Bu sütuna CustID diyelim.
Müşteri Andrew Smith'in CustID 20454 ile CUSTOMER_MASTER tablosunda bir hesap oluşturduğunu varsayalım. Bay Smith, detayları ACCOUNT_MASTER tablosunda saklanan S-200802-005 numaralı bir tasarruf hesabı bulunduruyor. Bu, ACCOUNT_MASTER tablosunun orijinal veri parçası olmayan CustID adlı bir sütuna sahip olacağı anlamına gelir. Bunun yerine, aynı CustID değerini CUSTOMER_MASTER tablosunda referans alan 20454 değerine de sahiptir.
Şimdi, 3NF, ACCOUNT_MASTER tablomuzda, müşteri hakkında sahip olduğumuz tek bilginin CustID (20454) yabancı bir anahtar olarak olması gerektiğini ve CUSTOMER_MASTER tablosunda aynı CustID'ye sahip olan müşteriyi (Andrew Smith) ifade eder ve tanımlar. ). Müşterimizle ilgili başka hiçbir veri (ad, doğum tarihi, cinsiyet vb.) ACCOUNT_MASTER tablosunda veya gerçekten başka bir tabloda depolanmamalıdır, çünkü onunla ilgili tüm bu veriler zaten CUSTOMER_MASTER'da saklanır. Bunu yaparak, CUSTOMER_MASTER tablosunun dışında depolanan tek müşteri verisi CustID'dir. Bu, veri çoğaltması olmadığından emin olarak yakışıklı temettüler ödemektedir, bu da sorguların çok daha verimli çalışmasını sağlar ve gerekli depolama alanını azaltır.