Veritabanınızı Normalleştirme: İkinci Normal Form'a (2NF) Geçiş

İkinci Normal Formda Veri Tabanı Oluşturmak

Geçen ay, bir veritabanı tablosunu normalleştirmenin çeşitli yönlerine baktık. İlk olarak, veritabanı normalleştirmesinin temel prensiplerini tartıştık. Son kez, ilk normal formun (1NF) ortaya koyduğu temel gereksinimleri araştırdık. Şimdi, yolculuğumuza devam edelim ve ikinci normal formun (2NF) ilkelerini ele alalım.

2NF'nin genel gereksinimlerini hatırlayın:

Bu kurallar basit bir ifadeyle özetlenebilir: 2NF bir tablodaki gereksiz veri miktarını çıkartarak, yeni tabloya yerleştirerek ve bu tablolar arasında ilişkiler oluşturmaya çalışır .

Bir örneğe bakalım. Müşteri bilgilerini bir veritabanında saklayan bir çevrimiçi mağaza düşünün. Aşağıdaki öğelerle Müşteriler adında tek bir tablo olabilir:

Bu tabloya kısa bir bakış az miktarda gereksiz veriyi ortaya çıkarmaktadır. "Sea Cliff, NY 11579" ve "Miami, FL 33157" girişlerini iki kez saklıyoruz. Şimdi, bu bizim basit örneğimizde çok fazla eklenmiş depolama alanı gibi görünmeyebilir, ancak bizim masada binlerce satır varsa, boş alanı hayal edin. Ayrıca, Sea Cliff'in posta kodu değişecek olursa, bu değişikliği veritabanında birçok yerde yapmamız gerekecek.

2NF uyumlu bir veritabanı yapısında, bu gereksiz bilgi ayıklanır ve ayrı bir tabloda saklanır. Yeni tablomuz (ZIP’leri diyelim) aşağıdaki alanlara sahip olabilir:

Süper verimli olmak istiyorsak, bu tabloyu önceden bile doldurabiliriz - postane tüm geçerli posta kodlarının ve şehir / eyalet ilişkilerinin bir dizinini sağlar. Şüphesiz, bu tip veritabanının kullanıldığı bir durumla karşılaştın. Siparişi alan bir kişi, önce posta kodunuzu sormuş olabilir ve daha sonra aradığınız şehri ve eyaleti biliyor olabilir. Bu tip düzenleme, operatör hatasını azaltır ve verimliliği arttırır.

Artık yinelenen verileri Müşteriler tablosundan çıkardık, ikinci normal formun ilk kuralını yerine getirdik. İki tabloyu birbirine bağlamak için hala yabancı bir anahtar kullanmamız gerekiyor. Bu ilişkiyi oluşturmak için ZIP kodunu ( ZIP tablosundan birincil anahtar) kullanacağız. İşte yeni Müşteriler masamız:

Şimdi veritabanında saklanan gereksiz bilgi miktarını en aza indirdik ve yapımız ikinci normal formda!

Veritabanınızın normalleştirildiğinden emin olmak istiyorsanız, bu sitedeki diğer makaleleri inceleyin: