Normalizasyon Nedir


Normalizasyon Nedir

Örneklerle 1NF, 2NF, 3NF ve BCNF

Normalleştirme nedir?
Normalleştirme, tabloları, fazlalık ve verinin bağımlılığını azaltacak şekilde düzenleyen bir veritabanı tasarım tekniğidir.

İlişkisel modelin mucidi Edgar Codd, İlk Normal Form'un getirilmesiyle normalizasyon teorisini ortaya çıkardı  ve İkinci ve Üçüncü Normal Form ile teorisini genişletmeye devam etti. Daha sonra Boyce-Codd Normal Form teorisini geliştirmek için Raymond F. Boyce ile birlikte çalıştı.
SQL'de Veri Normalleştirme Teorisi hala daha da geliştirilmektedir. Örneğin, 6. Normal Form'da bile tartışmalar var. Bununla birlikte, çoğu pratik uygulamada normalizasyon, 3. Normal Form'da en iyisini sağlar . Normalleşme teorilerinin evrimi aşağıda gösterilmektedir.


Veritabanı Normalleştirme Örnekleri -

Bir video kütüphanesinin, kiralanmış bir film veritabanını sakladığını varsayalım. Herhangi bir normalizasyon olmadan, tüm bilgiler aşağıda gösterildiği gibi bir tabloda saklanır. Burada Movies Rentered  sütununda birden çok değer var .

Veritabanı Normal Formları

Şimdi 1. Normal Form'a geçelim
  • 1NF (İlk Normal Form) Kuralları
  • Her tablo hücresi tek bir değer içermelidir.
  • Her kaydın benzersiz olması gerekir.
yukarıdaki tablo 1NF Örneği

ANAHTAR nedir?

KEY, tablodaki bir kaydı benzersiz şekilde tanımlamak için kullanılan bir değerdir. ANAHTAR, tek bir sütun veya birden çok sütunun kombinasyonu olabilir
Not: Bir kaydı benzersiz olarak tanımlamak için kullanılmayan bir tablodaki sütunlara anahtar olmayan sütun denir.
Birincil Anahtar Nedir?

Birincil, bir veritabanı kaydını benzersiz şekilde tanımlamak için kullanılan tek bir sütun değeridir.
Aşağıdaki özelliklere sahiptir
  • Birincil anahtar NULL olamaz
  • Birincil anahtar değer benzersiz olmalıdır
  • Birincil anahtar değerler nadiren değiştirilmelidir
  • Yeni bir kayıt eklendiğinde, birincil anahtara bir değer verilmelidir.

Kompozit Anahtar Nedir?

Bir bileşik anahtar, benzersiz bir kaydı tanımlamak için kullanılan birden çok sütundan oluşan bir birincil anahtardır.
Veritabanımızda Robert Phil adında iki kişi var ama farklı yerlerde yaşıyorlar.
 

Bu nedenle, bir kaydı benzersiz şekilde tanımlamak için hem Tam Ad hem de Adres gerektirir. Bu bileşik bir anahtardır.
İkinci normal form 2NF'ye geçelim.

2NF (İkinci Normal Form) Kuralları

  • 1NF'de olun
  • Tek Sütun Birincil Anahtar
Yukarıdaki tabloyu bölmedikçe basit veritabanımızı  Normalizasyon formunda yapmak için ileri gidemeyeceğimiz açıktır.
Tablo1

Tablo 2
1NF tablomuzu ikiye böldük. Tablo 1 ve Tablo2. Tablo 1 üye bilgilerini içerir. Tablo 2'de kiralanan filmler hakkında bilgiler yer almaktadır.
Tablo 1 için birincil anahtar olan Membership_id adlı yeni bir sütun hazırladık. Kayıtlar, üyelik kimliği kullanılarak Tablo 1'de benzersiz bir şekilde tanımlanabilir

Veritabanı - Yabancı Anahtar (foreign key)

Tablo 2'de, Membership_id Yabancı Anahtardır
 
Yabancı Anahtar, başka bir Tablonun birincil anahtarına atıfta bulunur! Tablolarınızı bağlamanıza yardımcı olur
  • Bir yabancı anahtarın, birincil anahtardan farklı bir adı olabilir.
  • Bir tabloda satırların diğerinde karşılık gelen satırlara sahip olmasını sağlar
  • Birincil anahtarın aksine, benzersiz olmaları gerekmez. Çoğu zaman değildir
Yabancı anahtarlar, birincil anahtarlar olmasa bile boş olabilir


3NF (Üçüncü Normal Form) Kuralları


  • Kural 1- 2NF'de olun
  • Kural 2- Geçişli fonksiyonel bağımlılık yok
2NF tablomuzu 3NF'ye taşımak için, tablomuzu tekrar bölmemiz gerekir.

3NF Örneği

 

Tablolarımızı tekrar böldük ve ünvanları  depolayan yeni bir tablo oluşturduk.
Geçişli fonksiyonel bağımlılıklar yoktur ve bu nedenle tablomuz 3NF’dedir.
Tablo 3'te salutation_ID birincil anahtardır ve Tablo 1'de salutation_ID, Tablo 3'teki birincil anahtara yabancıdır.

Şimdi küçük örneğimiz, daha yüksek normalleştirme formlarına ulaşmak için ayrılamayacak bir seviyede. Aslında, zaten daha yüksek normalleştirme formlarında. Karmaşık veritabanlarında normalde bir sonraki normalleştirme verisi seviyesine geçmeye yönelik ayrı çabalar gereklidir. Bununla birlikte, ileride yapılacak olan normalizasyon seviyelerini aşağıda kısaca tartışacağız.

Boyce-Codd Normal Formu (BCNF)

Bir veritabanı. Normal Formda olsa bile, birden fazla Aday Anahtarına sahip olsaydı, yine de anomaliler ortaya çıkardı.
Bazen BCNF, 3.5 Normal Form olarak da adlandırılır .

4NF (Dördüncü Normal Form)


Hiçbir veritabanı tablosu örneği, ilgili varlığı açıklayan iki veya daha fazla bağımsız ve çok değerli veri içermiyorsa, 4. Normal Formdadır.

5NF (Beşinci Normal Form) 


Bir tablo yalnızca 4.NF'deyse 5. Normal Formdadır ve veri kaybı olmadan herhangi bir sayıda daha küçük tabloya ayrıştırılamaz.

6NF (Altıncı Normal Form) 


6. Normal Form standartlaştırılmamıştır, ancak bir süredir veri tabanı uzmanları tarafından tartışılmaktadır. Umarım yakın gelecekte 6. Normal Form için net ve standartlaştırılmış bir tanımımız olur.
 
 

İlginizi Çekebilir

Sonraki
« Önceki
Previous Article
Next Post »
Yorumlar
Yorumlar