Çarşamba 22 Mart 2023
Hakkında
Yazarlarımız
Reklam
Künye
İletişim
Webmaster.Kitchen – Türkiye'nin Webmaster MutfağıWebmaster.Kitchen – Türkiye'nin Webmaster Mutfağı

Bülten

Sosyal Medya Yasası Kabul Edildi

Binance ‘e Siber Saldırı

Webmaster.Kitchen – Türkiye'nin Webmaster MutfağıWebmaster.Kitchen – Türkiye'nin Webmaster Mutfağı
  • BAŞLARKEN
    • KOD
      • PHP
      • Asp.Net
      • Swift
      • MySQL
      • CMS
  • TASARIM
    • İpuçları
    • Çizim
    • Illustrator
    • Photoshop
    • Trendler
  • ARAYÜZ
    • JavaScript
    • HTML5
    • CSS
    • REACT
  • İPUÇLARI
    • API
    • Güvenlik
    • IDE
    • Framework
    • OS
    • Verimlilik
    • İçerik
      • Dökümantasyon
      • İpuçları
      • Nasıl Oluşturulur?
  • KAYNAKLAR
    • Tasarım
    • Kod
    • İş
  • GİRİŞİM
    • Finans
    • Girişimci
    • Nasıl yapılır?
  • ARAÇLAR
  1. Anasayfa
  2. MySQL
  3. Veri Tabanı Tasarımında Normalizasyonun Önemi
 Veri Tabanı Tasarımında Normalizasyonun Önemi
MySQL

Veri Tabanı Tasarımında Normalizasyonun Önemi

Yazar : Hakan Karataş 11 Haziran 2016 2 Comments

İçindekiler

  • Normalizasyon Amaçları

    • Veri Bütünlüğünün Sağlanması

    • Uygulamadan Bağımsızlık

    • Performansı Arttırmak

  • Normalizasyon Kuralları

    • Birinci Normal Form

    • Oluşacak Sorunlar:

    • İkinci Normal Form

    • Üçüncü Normal Form

    • Dördüncü Normal Form

    • Beşinci Normal Form

Arkadaşlar bugün normalizasyon nedir, veri tabanı tasarımda normalizasyonun önemini, normalizasyon kurallarını, kurallara uyarken oluşacak adımları inceleyeceğiz. Normalizasyon kuralları ile oluşturulan veri tabanı her zaman daha iyi bir tasarım ve sorunsuz yapıya sahip olur. Öncelik olarak normalizasyonun tanımı sonrasında normalizasyon işlemlerini yapmaktaki amacı kavradıktan sonra normalizasyon kurallarına geçiş yapacağız. Sevgili arkadaşlar yararlı bir yazı olması dileği ile keyifli okumalar 🙂

Normalizasyon; veri tabanı tasarım aşamasında veri tekrarını, veri kaybını veya veri yetersizliğini önlemek için gerçekleştirilen işlemlerdir.

Normalizasyon (Ayrıştırma) tanım olarak, veri tabanlarında çok fazla sütun ve satırdan oluşan bir tabloyu tekrarlardan arındırmak için daha az satır ve sütun içeren alt kümelerine ayrıştırma işlemidir.

Normalizasyon Amaçları

  1. Veri Bütünlüğünün Sağlanması

    – Gereksiz veri tekrarını önleyerek verilerdeki bozulmaları önlemek

  2. Uygulamadan Bağımsızlık

    – Uygulama değişse bile veritabanı tutarlı olarak çalışmalı

  3. Performansı Arttırmak

    – Veri tekrarı en aza iner ve arama hızlı olur.

Normalizasyon yapılırken uyulması gereken kuralların her birine normal form adı verilir. 5 adet normal form vardır. Biz bu normal formların özellikle ilk üçü üzerinde duracağız.

  • Birinci Normal Form (1 NF)
  • İkinci Normal Form (2 NF)
  • Üçüncü Normal Form (3 NF)
  • Dördüncü Normal Form (4 NF)
  • Beşinci Normal Form (5 NF)

İlk 3 normal form ihlal edilmesi durumunda

  1. Kayıt güncelleme
  2. Kayıt silme
  3. Kayıt bulmakta zorluk çekilir.

Asterisk, star icon 3 NF’de olan tablolar 1 NF ve 2 NF’ye uygundur. 2 NF’de olan tablolarda 1 NF ‘ye uygundur.

Normalizasyon Kuralları

Birinci Normal Form

Tekrarlanan sütun yapıları olmamalıdır.

Birden fazla bilgi tek bir sütunda olamaz.

Bir alan içerisindeki bilgi özel karakterlerle ayrılarak tutulmamalıdır.

webmaster-kitchen-normalizasyon-2

<!> Yukarıdaki tablolarımıza 1. normal form kurallarına uygun hale getirirsek aşağıda şekilde gözüktüğü gibi bir görünüm elde ederiz.

webmaster-kitchen-normalizasyon

Oluşacak Sorunlar:

Veri Ekleme
• Eklenen verinin daha önce olup olmadığının kontrolü zor
Veri güncelleme
• Kişiye ait bir telefon numarası güncellenmek istediğine hangisinin güncelleneceği
Veri silme
• Silinecek verinin hangisi olduğu

İkinci Normal Form

Tabloda bir birincil anahtar olmalı ve anahtar olmayan
sütunlar birincil anahtara bağımlı olmalı.

Birincil anahtar birden fazla sütundan oluşuyorsa
tablodaki veriler her iki sütuna da bağımlı olmalıdır.

webmaster-kitchen-normalizasyon-3

<!> Aşağıdaki tabloda 2. normal kuralına göre öğrenci bilgileri ve not bilgileri ayrılmalıdır.

webmaster-kitchen-normalizasyon-4

Üçüncü Normal Form

Anahtar olmayan sütunlar anahtar sütuna tam bağımlı olmalıdır. Anahtar olmayan sütuna bağımlı olmamalıdır. Yani bir tablo için, anahtarı olmayan bir alan, anahtarı olmayan başka hiç bir alana bağlı olamaz.

webmaster-kitchen-normalizasyon-5

<!> Yukarıdaki tablomuzu 3. normal form kurallarına göre şekillendirdiğimizde birim ve ürün tablosu şeklinde ayırmış oluruz ve bu iki tablomuzu birim adındaki sütunumuz ile ilişkilendirerek iki tablomuzu birbirlerini bağlamış oluruz.

webmaster-kitchen-normalizasyon-6

Dördüncü Normal Form

Birincil anahtar alanlar ile anahtarı olmayan alanlar arasında, birden fazla bağımsız bire-çok ilişkisine izin verilmez. Örneğin tabloda yer alan bir film, hem korku filmi hem de bilim-kurgu filmi olabilir. Bu durum Film tablosunda nasıl ifade edilebilir? 4. normal formu sağlamak için, her bağımsız bire çok ilişki için ayrı bir tablo oluşturulması gerekir. Örneğimizde, türler için yeni bir tablo açılması gerekir. Tablonun adına türler denilebilir. Sonrasında filmTurleri diye başta bir tablo açılması gerekir. ‘Korku filmleri’ adlı kitap film için, öncelikle film numarası, korku bölümünün kodunun yer aldığı bir satır ; ardından da yine film numarası, ardından da bilim-kurgu türünün kodunun aldığı yeni bir satırın daha eklenmesi gerekir.

Beşinci Normal Form

Tekrarlamaları ortadan kaldırmak için her bir tablonun mümkün olduğunca küçük parçalara bölünmesi gerekir. Aslında ilk 4 kural sonuçta bu işe yarar ancak, bu kurallar kapsamında olmayan tekrarlamalar da 5 normalizasyon kuralı ile giderilebilir. Bir tablomuzda bir sütun girdisi eklenmek istendiğinde bu bölüme girilecek bilgiler belli başlıdır. Bu bilgiler başka bir tabloda tutulabilir. Böylelikle, kullanıcıların bu alana gelişi güzel bilgiler girmesi engellenmiş olur.

Etiketler: ayrıştırma form kural normal normal form normalizasyon normalizasyon amaçları normalizasyon kuralları normalization veri tabanı veri tabanı tasarımı
Önceki Yazı
Sonraki Yazı

Hakan Karataş

author

Back-End Developer @Webmaster.Kitchen.Ağırlıklı olarak Back-end tarafında bilgi, birikim ve yeni öğrendiğim bilgiler ile mutfakta yer almaktayım. Görüş, düşünce ve tecrübelerinizi bizlerle paylaşabilirsiniz. Yorum alanı ile mutfağa katkıda bulunun.

2 Yorumlar

  • TP says:
    14 Haziran 2016 at 21:56

    Merhabalar,
    Rica etsem veri tekrarını, veri kaybını veya veri yetersizliğini biraz açabilir miyiz. Teşekkürler hayatta başarılar

    Reply
    • Hakan Karataş says:
      17 Haziran 2016 at 16:27

      Merhabalar,
      Veri tekrarı aynı veya benzeri veriler birçok farklı tablolarda karşılaşabiliriz. Bundan dolayı en uygun tabloda mümkün olduğunca o bilginin en az sayıda tabloda gözükmesi daha sağlıklıdır. Bunun tam tersi de mevcuttur. Az sayıda tabloda yer alsın derken bazı verilerden tam anlamıyla bilgi sahibi olamayabiliriz. Veri kaybından söz edecek olursak depolanan verinin normal yollarla erişilemez hale gelmesi şeklinde tanımlayabiliriz. Bu durum dosyanın formatından, veri depo ortamında bozulma ve hasar görmelerin gözükmesinden ve daha birçok nedenden dolayı olabilir. Teşekkür ederim.

      Reply

Yorum Yap Yorumu İptal Et.

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Taze Yazılar
Güncel

Sosyal Medya Yasası Kabul Edildi

14 Ekim 2022
Blockchain

Binance ‘e Siber Saldırı

8 Ekim 2022
Blockchain

Binance ‘den Ücretsiz Eğitim

5 Ekim 2022
Güncel

Japonya için Yenilenen Corolla

4 Ekim 2022
© 2021 Webmaster Kitchen. Tüm Hakları Saklıdır.