Normalizasyon Bütünlük Kısıtları. (integrity constraints) Veritabanında yer alacak değerleri sınırlar. Nesne bütünlüğü: Her nesne “unique” olarak ifade edilmeli. Primary key. İlişkisel bütünlük: Nesneler arasındaki bağ. Foreign key. Önemli nokta “fonksiyonel bağımlılığın” anlaşılmasıdır.
Normal Formun 3 Hali Eğer bir ilişki tekrarlı gruplar içermiyorsa, 1.NF durumundadır. 1.NF kaydın şekli ile uğraşır. Eğer bir ilişki tekrarlı gruplar içermiyorsa ve fonksiyonel bağımlılığı tam anahtarla sağlanıyorsa 2.NF durumundadır. Eğer bir ilişki tekrarlı gruplar içermiyorsa ve fonksiyonel bağımlılığı tam anahtarla sağlanıyorsa ve geçişli fonksiyonel bağımlılık taşımıyorsa 3.NF durumundadır.
Normalizasyon: Bir fatura örneği
Bütün veri ögelerini yazalım: Satıcı Firma, Satıcı Firma Adresi, Satıcı Firma Vergi Dairesi, Satıcı Firam Vergi Numarası, Satıcı Firma Telefonu, Satıcı Firma Web Adresi, Satıcı Firma Adresi, Fatura Numarası, Fatura Tarihi, İrsaliye Numarası, İrsaliye Tarihi, Alıcı Firma Adı, Alıcı Firma Adresi, Alıcı Firma Vergi Dairesi, Alıcı Firma Vergi Numarası, Açıklama, Miktar, Birim, Fiyat, Tutar, Açıklama, Miktar, Birim, Fiyat, Tutar, Açıklama, Miktar, Birim, Fiyat, Tutar, Açıklama, Miktar, Birim, Fiyat, Tutar,….
Normalizasyon: Bir fatura örneği Kısaltmalarla ifade edelim: SFrm Adı, SFrm Adr, SFrm VD, SFrm VN, SFrm Tlf, SFrm Web Adr, SFrm Adr, Ftr N, Ftr Trh, İrs N, İrs Trh, AFrm Adı, AFrm Adr, AFrm VD, AFrm VN, (Açk, Mkt, Br, Br Fyt, Tt, Açk, Mkt, Br, Br Fyt, Ttr; Açk, Mkt, Br, Br Fyt, Ttr)
Normalizasyon: Bir fatura örneği 1. NF SFrm, Ftr, SFrm, SFrm, SFrm, SFrm, SFrm, SFrm, Ftr, İrs, İrs, AFrm, AFrm, AFrm, AFrm, Açk, Mkt, Br, Br, Ttr Adı N Adr VD VN Tlf Web Trh N Trh Adı Adr VD VN Fy SFrm, Ftr, SFrm, SFrm, SFrm, SFrm, SFrm, SFrm, Ftr, İrs, İrs, AFrm, AFrm, AFrm, AFrm, Açk, Mkt, Br, Br, Ttr Adı N Adr VD VN Tlf Web Trh N Trh Adı Adr VD VN Fy SFrm, Ftr, SFrm, SFrm, SFrm, SFrm, SFrm, SFrm, Ftr, İrs, İrs, AFrm, AFrm, AFrm, AFrm, Açk, Mkt, Br, Br, Ttr Adı N Adr VD VN Tlf Web Trh N Trh Adı Adr VD VN Fy SFrm, Ftr, SFrm, SFrm, SFrm, SFrm, SFrm, SFrm, Ftr, İrs, İrs, AFrm, AFrm, AFrm, AFrm, Açk, Mkt, Br, Br, Ttr Adı N Adr VD VN Tlf Web Trh N Trh Adı Adr VD VN Fy SFrm, Ftr, SFrm, SFrm, SFrm, SFrm, SFrm, SFrm, Ftr, İrs, İrs, AFrm, AFrm, AFrm, AFrm, Açk, Mkt, Br, Br, Ttr Adı N Adr VD VN Tlf Web Trh N Trh Adı Adr VD VN Fy SFrm, Ftr, SFrm, SFrm, SFrm, SFrm, SFrm, SFrm, Ftr, İrs, İrs, AFrm, AFrm, AFrm, AFrm, Açk, Mkt, Br, Br, Ttr Adı N Adr VD VN Tlf Web Trh N Trh Adı Adr VD VN Fy SFrm, Ftr, SFrm, SFrm, SFrm, SFrm, SFrm, SFrm, Ftr, İrs, İrs, AFrm, AFrm, AFrm, AFrm, Açk, Mkt, Br, Br, Ttr Adı N Adr VD VN Tlf Web Trh N Trh Adı Adr VD VN Fy SFrm, Ftr, SFrm, SFrm, SFrm, SFrm, SFrm, SFrm, Ftr, İrs, İrs, AFrm, AFrm, AFrm, AFrm, Açk, Mkt, Br, Br, Ttr Adı N Adr VD VN Tlf Web Trh N Trh Adı Adr VD VN Fy Tek boyutlu yapı kaklmış, iki boyutlu bir yapı oluşmuştur; veri tekrarı giderilmiştir.
Normalizasyon: Bir fatura örneği 2. NF SFrm Adı, Ftr N, Ftr Trh, İrs N, İrs Trh, AFrm Adı, AFrm Adr, AFrm VD, AFrm VN SFrm Adı, SFrm Adr, SFrm VD, SFrm VN, SFrm Tlf, SFrm Web Adr, SFrm Adr SFrm Adı, Ftr N, Açk, Mkt, Ttr Açk, Br, Br Fyt Yalnızca ‘SFrm Adı’na bağlı olan attribute’lar ayrılmış; ve yalnızca ‘Ack’ ya bağlı olan attributelar ayrılmıştır. Böylece her bir entity’de sadece o entity’nin anahtar bütününe (composite key) bağlı olan attribute’lar kalmıştır. 1. NF SFrm Adı, Ftr N, Ftr Trh, İrs N, İrs Trh, SFrm Adr, SFrm VD, SFrm VN, SFrm Tlf, SFrm Web Adr, SFrm , Adr, AFrm Adı, AFrm Adr, AFrm VD, AFrm VN, Açk, Mkt, Br, Br Fyt, Ttr SFrm Adı, Ftr N, Açk, Mkt, Br, Br Fyt, Ttr Yeşil renkli tekrarlı grup ayrılarak yeni bir tablo oluşturulmuştur.
Normalizasyon: Bir fatura örneği 3. NF SFrm Adı, Ftr N, Ftr Trh, İrs N, İrs Trh SFrm Adı, Ftr N, Açk, Mkt, Ttr SFrm Adı, SFrm Adr, SFrm VD, SFrm VN, SFrm Tlf, SFrm Web Adr, SFrm Adr Açk, Br, Br Fyt AFrm Adı, AFrm Adr, AFrm VD, AFrm VN Anahtara bağlı olmayan attribute’lardan bir veya birkaçı, anahtar dışında bir attribute’a bağlı ise onlar ayrı bir tablo oluşturur. AFrm Adr, AFrm VD, AFrm VN attribute’ları ‘AFrm Adı’na bağlı olup anahtara bağlı değildir ve bunlar ayrılmıştır.
Normalizasyon: Bir fatura örneği Bir nesnenin bütün anahtar-dışı ögeleri, tamamen ve fonksiyonel olarak Anahtara bağlıdır (1 NF), Anahtarın bütününe bağlıdır (2 NF), Anahtardan başkasına bağlı değildir (3 NF).
Normalizasyon Anonim bir tekerleme: All non-key data attributes of an entity are fully functionally dependent on the key, the whole key, nothing but the key. So, help me Codd !