SlideShare a Scribd company logo
1 of 17
Veri Tabanı
Hafta 5
Normal Formlar
Sibel Kuzgun Akın
Artık Veriler
Artık veriler (redundancy), veri tabanında aynı
verilerin farklı yerlerde tekrar edilmesidir.
(-) Diskte yer işgal ederler.
(-) Verilerin tutarlılığını sağlamak zorlaşır.
Kayıt giriş, güncelleme ve silme sonucunda
kayıtlar tutarsız olur.
Tutarsız Veriler

Aynı verinin kopyaları farklı farklı ise, veri
tutarsızdır (inconsistency).

Örneğin, öğrencileri kaydederken ad soyad
ve öğrenci noyu birden fazla yerde
kullanırsak ve sonra bir öğrencinin soyadı
bir tek yerde değişirse ne olur?

Veri tabanının bir yerinde 17371 nolu
öğrencinin adı “Ayşe Yılmaz” bir başka
yerinde 17371 nolu öğrenci “Ayşe Şahin”
olursa, veri tutarsızlığı oluşur!
İşlevsel Bağımlılık

İşlevsel bağımlılık (functional dependency)
ok (→) işareti ile gösterilir.

Diyelim ki A'nın değeri, B'nin değerini
belirliyorsa; A → B'dir.

Örneğin: ogrenci_no → ad
Birinci Normal Form 1NF

ER şemalarındaki çok değerli (multi valued) veya
bileşik özellikler bir ilişki veya varlığın birinci
normal formda olmasını engeller.

Eğer varlık veya ilişkinin tüm özellikleri basit
özelliklerse, tablosu birinci normal formdadır.

İlişkisel veri tabanı tabloları zorunlu olarak 1NF'dir.
Birinci Normal Form

Üstteki öğrenci ilişkisinde, telefon özelliği
olarak birden fazla telefon saklanmaya
çalışıldığı için, bu yapı 1NF'yi sağlamaz.

Tablo oluşturmak için alttaki gibi bir yapı
gerekir. 1NF sağlanır.
İkinci Normal Form 2NF

Tablo öncelikle birinci normal formda olmalıdır.

İlişki parsiyel bağımlılık (partial dependency)
içermemelidir.

Birincil anahtar adayını oluşturan kolonların
bazılarına işlevsel olarak bağımlı kolonlar
varsa, ikinci normal form bozulur.

Bir tablonun 2NF olması için hem 1NF olmalı,
hem de anahtar harici tüm kolonlar aday
birincil anahtara bağımlı olmalıdırlar.
İkinci Normal Form
ÖNEMLİ: Yalnızca birden fazla kolondan oluşan bir
anahtar varsa, 2NF var mı diye bakılır. Birincil anahtar
tek kolondan oluşuyorsa, 2NF zaten sağlanır!
Üçüncü Normal Form 3NF

Öncelikle 2NF sağlanmalıdır.

Birincil anahtar dışında kalan kolonlarda,
geçişli bağımlılık olmayacak.

R(A,B,C,D,E): A → B,C,D,E ise
D → E gibi bir bağımlılık olmayacak.

Anahtar harici bütün kolonlar doğrudan
birincil anahtara bağlı olmalıdır.
Üçüncü Normal Form
Fatura no → Tarih, Firma Adı, Tutar, KDV, KDV'li tutar
Firma Adı → Vergi Dairesi, Vergi No
Boyce Codd Normal Formu
BCNF

3,5. normal form diye de düşünülebilir.
3NF'nin biraz daha güçlendirilmiş halidir.

İlişkisel bir veri tabanı BCNF'da ise, işlevsel
bağımlılıktan kaynaklanan tüm artık
verilerden kurtulmuş oluruz.
BCNF Kurallar
Bir R tablosundaki tüm önemli (non-trivial)
işlevsel bağımlılıkların aşağıdaki kurallara
uyması gerekir:

X → Y arasında işlevsel bağımlılık varsa

X, R tablosunun (ilişkisinin) süper anahtarı
olmalıdır.
“Her bir kolon anahtar hakkında bir gerçeği
saklamalıdır ve anahtarın tamamına ve
yalnızca anahtara bağlı olmalıdır.”
BCNF Örnek
4NF ve 5NF

Literatürde 4. ve 5. normal formlar da
vardır ancak yaygın olarak
kullanılmamaktadırlar.

4NF: Bir varlığın (ilişkinin) iki veya daha
fazla, birbirinden bağımsız, çok değerli
özelliği olmamalıdır.

Örnek: Kişi (Ad, Yetenek, Yabanci_Dil) gibi
bir yapı 4NF'yi sağlamaz!
Özet

İlişkisel veri tabanı kullanıyorsak, tablolar
veri tabanının doğası gereği 1NF olur.

2NF ve 3NF anahtar kolonlarla diğer
kolonlar arasındaki ilişkileri düzenler.

Birincil anahtar birden fazla kolondan
oluşursa 2NF aranır. 2NF için birinci
anahtara parsiyel olarak bağlı kolonlar
olmamalıdır.
Özet

3NF birincil anahtar dışındaki tüm
kolonların, birincil anahtara bağlı olmalarını
ve kendi aralarında geçişli bağımlılık
olmamasını ister.

Her bir normal form, daha alt seviyedeki
normal formların sağlanmasını zorunlu
kılar.

Hepsinin amacı artık veriden kurtulmaktır!
Kaynaklar

GeeksForGeeks, Database Normalization
https://www.geeksforgeeks.org/database-normalization-introduction/

Boyce Codd Normal Form
http://www.vertabelo.com/blog/technical-articles/boyce-codd-normal-form-bcnf

A Simple Guide to Five Normal Forms in Relational
Database Theory
http://www.bkent.net/Doc/simple5.htm

More Related Content

What's hot

Chapter 9 communications and networks
Chapter 9   communications and networksChapter 9   communications and networks
Chapter 9 communications and networkshaider ali
 
Cardinality and participation constraints
Cardinality and participation constraintsCardinality and participation constraints
Cardinality and participation constraintsNikhil Deswal
 
Decomposition methods in DBMS
Decomposition methods in DBMSDecomposition methods in DBMS
Decomposition methods in DBMSsoniyagoyal3
 
Database normalization
Database normalizationDatabase normalization
Database normalizationJignesh Jain
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7Dimitris Psounis
 
Bluetooth protocol stack
Bluetooth protocol stackBluetooth protocol stack
Bluetooth protocol stackstuimrozsm
 
03 - Cabling Standards, Media, and Connectors.ppt
03 - Cabling Standards, Media, and Connectors.ppt03 - Cabling Standards, Media, and Connectors.ppt
03 - Cabling Standards, Media, and Connectors.pptssuserf7cd2b
 
Parallel programming concept dependency and loop parallelization
Parallel programming concept dependency and loop parallelizationParallel programming concept dependency and loop parallelization
Parallel programming concept dependency and loop parallelizationAISHWARYA RAJKUMAR
 
EDGE COMPUTING: VISION AND CHALLENGES
EDGE COMPUTING: VISION AND CHALLENGESEDGE COMPUTING: VISION AND CHALLENGES
EDGE COMPUTING: VISION AND CHALLENGESsuthi
 
Cab estruturado-unidade8
Cab estruturado-unidade8Cab estruturado-unidade8
Cab estruturado-unidade8Leandro Almeida
 

What's hot (20)

Chapter 9 communications and networks
Chapter 9   communications and networksChapter 9   communications and networks
Chapter 9 communications and networks
 
Cardinality and participation constraints
Cardinality and participation constraintsCardinality and participation constraints
Cardinality and participation constraints
 
Red wimax
Red wimaxRed wimax
Red wimax
 
Normalization
NormalizationNormalization
Normalization
 
Decomposition methods in DBMS
Decomposition methods in DBMSDecomposition methods in DBMS
Decomposition methods in DBMS
 
Database normalization
Database normalizationDatabase normalization
Database normalization
 
Normalization in DBMS
Normalization in DBMSNormalization in DBMS
Normalization in DBMS
 
Ethernet Frames Explained
Ethernet Frames ExplainedEthernet Frames Explained
Ethernet Frames Explained
 
Wireless LAN Security
Wireless LAN SecurityWireless LAN Security
Wireless LAN Security
 
Normalization
NormalizationNormalization
Normalization
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7
 
ΠΛΗ31 ΜΑΘΗΜΑ 3.5
ΠΛΗ31 ΜΑΘΗΜΑ 3.5ΠΛΗ31 ΜΑΘΗΜΑ 3.5
ΠΛΗ31 ΜΑΘΗΜΑ 3.5
 
Parallel Processing
Parallel ProcessingParallel Processing
Parallel Processing
 
Bluetooth protocol stack
Bluetooth protocol stackBluetooth protocol stack
Bluetooth protocol stack
 
03 - Cabling Standards, Media, and Connectors.ppt
03 - Cabling Standards, Media, and Connectors.ppt03 - Cabling Standards, Media, and Connectors.ppt
03 - Cabling Standards, Media, and Connectors.ppt
 
Parallel programming concept dependency and loop parallelization
Parallel programming concept dependency and loop parallelizationParallel programming concept dependency and loop parallelization
Parallel programming concept dependency and loop parallelization
 
EDGE COMPUTING: VISION AND CHALLENGES
EDGE COMPUTING: VISION AND CHALLENGESEDGE COMPUTING: VISION AND CHALLENGES
EDGE COMPUTING: VISION AND CHALLENGES
 
Normalization
NormalizationNormalization
Normalization
 
Cab estruturado-unidade8
Cab estruturado-unidade8Cab estruturado-unidade8
Cab estruturado-unidade8
 
Normalization
NormalizationNormalization
Normalization
 

More from Sibel Kuzgun AKIN

More from Sibel Kuzgun AKIN (11)

Requirements Analysis
Requirements AnalysisRequirements Analysis
Requirements Analysis
 
Cost Estimation
Cost EstimationCost Estimation
Cost Estimation
 
User Interface and User Experience
User Interface and User ExperienceUser Interface and User Experience
User Interface and User Experience
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
 
Testing Software
Testing SoftwareTesting Software
Testing Software
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
ER Şemaları
ER ŞemalarıER Şemaları
ER Şemaları
 
Veri Tabanı: SQL Gelişmiş Sorgular (Hafta 3)
Veri Tabanı: SQL Gelişmiş Sorgular (Hafta 3)Veri Tabanı: SQL Gelişmiş Sorgular (Hafta 3)
Veri Tabanı: SQL Gelişmiş Sorgular (Hafta 3)
 
Veri Tabani: SQL'e Giriş (Hafta 2)
Veri Tabani: SQL'e Giriş (Hafta 2)Veri Tabani: SQL'e Giriş (Hafta 2)
Veri Tabani: SQL'e Giriş (Hafta 2)
 
Veri Tabanı: Temel Kavramlar (Hafta 1)
Veri Tabanı: Temel Kavramlar (Hafta 1)Veri Tabanı: Temel Kavramlar (Hafta 1)
Veri Tabanı: Temel Kavramlar (Hafta 1)
 

Normal Formlar

  • 1. Veri Tabanı Hafta 5 Normal Formlar Sibel Kuzgun Akın
  • 2. Artık Veriler Artık veriler (redundancy), veri tabanında aynı verilerin farklı yerlerde tekrar edilmesidir. (-) Diskte yer işgal ederler. (-) Verilerin tutarlılığını sağlamak zorlaşır. Kayıt giriş, güncelleme ve silme sonucunda kayıtlar tutarsız olur.
  • 3. Tutarsız Veriler  Aynı verinin kopyaları farklı farklı ise, veri tutarsızdır (inconsistency).  Örneğin, öğrencileri kaydederken ad soyad ve öğrenci noyu birden fazla yerde kullanırsak ve sonra bir öğrencinin soyadı bir tek yerde değişirse ne olur?  Veri tabanının bir yerinde 17371 nolu öğrencinin adı “Ayşe Yılmaz” bir başka yerinde 17371 nolu öğrenci “Ayşe Şahin” olursa, veri tutarsızlığı oluşur!
  • 4. İşlevsel Bağımlılık  İşlevsel bağımlılık (functional dependency) ok (→) işareti ile gösterilir.  Diyelim ki A'nın değeri, B'nin değerini belirliyorsa; A → B'dir.  Örneğin: ogrenci_no → ad
  • 5. Birinci Normal Form 1NF  ER şemalarındaki çok değerli (multi valued) veya bileşik özellikler bir ilişki veya varlığın birinci normal formda olmasını engeller.  Eğer varlık veya ilişkinin tüm özellikleri basit özelliklerse, tablosu birinci normal formdadır.  İlişkisel veri tabanı tabloları zorunlu olarak 1NF'dir.
  • 6. Birinci Normal Form  Üstteki öğrenci ilişkisinde, telefon özelliği olarak birden fazla telefon saklanmaya çalışıldığı için, bu yapı 1NF'yi sağlamaz.  Tablo oluşturmak için alttaki gibi bir yapı gerekir. 1NF sağlanır.
  • 7. İkinci Normal Form 2NF  Tablo öncelikle birinci normal formda olmalıdır.  İlişki parsiyel bağımlılık (partial dependency) içermemelidir.  Birincil anahtar adayını oluşturan kolonların bazılarına işlevsel olarak bağımlı kolonlar varsa, ikinci normal form bozulur.  Bir tablonun 2NF olması için hem 1NF olmalı, hem de anahtar harici tüm kolonlar aday birincil anahtara bağımlı olmalıdırlar.
  • 8. İkinci Normal Form ÖNEMLİ: Yalnızca birden fazla kolondan oluşan bir anahtar varsa, 2NF var mı diye bakılır. Birincil anahtar tek kolondan oluşuyorsa, 2NF zaten sağlanır!
  • 9. Üçüncü Normal Form 3NF  Öncelikle 2NF sağlanmalıdır.  Birincil anahtar dışında kalan kolonlarda, geçişli bağımlılık olmayacak.  R(A,B,C,D,E): A → B,C,D,E ise D → E gibi bir bağımlılık olmayacak.  Anahtar harici bütün kolonlar doğrudan birincil anahtara bağlı olmalıdır.
  • 10. Üçüncü Normal Form Fatura no → Tarih, Firma Adı, Tutar, KDV, KDV'li tutar Firma Adı → Vergi Dairesi, Vergi No
  • 11. Boyce Codd Normal Formu BCNF  3,5. normal form diye de düşünülebilir. 3NF'nin biraz daha güçlendirilmiş halidir.  İlişkisel bir veri tabanı BCNF'da ise, işlevsel bağımlılıktan kaynaklanan tüm artık verilerden kurtulmuş oluruz.
  • 12. BCNF Kurallar Bir R tablosundaki tüm önemli (non-trivial) işlevsel bağımlılıkların aşağıdaki kurallara uyması gerekir:  X → Y arasında işlevsel bağımlılık varsa  X, R tablosunun (ilişkisinin) süper anahtarı olmalıdır. “Her bir kolon anahtar hakkında bir gerçeği saklamalıdır ve anahtarın tamamına ve yalnızca anahtara bağlı olmalıdır.”
  • 14. 4NF ve 5NF  Literatürde 4. ve 5. normal formlar da vardır ancak yaygın olarak kullanılmamaktadırlar.  4NF: Bir varlığın (ilişkinin) iki veya daha fazla, birbirinden bağımsız, çok değerli özelliği olmamalıdır.  Örnek: Kişi (Ad, Yetenek, Yabanci_Dil) gibi bir yapı 4NF'yi sağlamaz!
  • 15. Özet  İlişkisel veri tabanı kullanıyorsak, tablolar veri tabanının doğası gereği 1NF olur.  2NF ve 3NF anahtar kolonlarla diğer kolonlar arasındaki ilişkileri düzenler.  Birincil anahtar birden fazla kolondan oluşursa 2NF aranır. 2NF için birinci anahtara parsiyel olarak bağlı kolonlar olmamalıdır.
  • 16. Özet  3NF birincil anahtar dışındaki tüm kolonların, birincil anahtara bağlı olmalarını ve kendi aralarında geçişli bağımlılık olmamasını ister.  Her bir normal form, daha alt seviyedeki normal formların sağlanmasını zorunlu kılar.  Hepsinin amacı artık veriden kurtulmaktır!
  • 17. Kaynaklar  GeeksForGeeks, Database Normalization https://www.geeksforgeeks.org/database-normalization-introduction/  Boyce Codd Normal Form http://www.vertabelo.com/blog/technical-articles/boyce-codd-normal-form-bcnf  A Simple Guide to Five Normal Forms in Relational Database Theory http://www.bkent.net/Doc/simple5.htm