Database Design:
Normalization
Mohamad Yusuf,S.Kom.,M.C.S
Functional Dependence
b2
b3
a1
b1
Suatu atribut A bergantung secara fungsional pada
atribut B jika: diberikan suatu nilai b bagi B, hanya
ada satu nilai a yang bersesuaian bagi A (pada suatu
waktu).
Contoh: functional dependence
SalesRepNumber Name PayClass Commission
Semua sales representative dalam payclass
tertentu memiliki tingkat commission yang
sama.
Keys
Primary key: sekumpulan atribut minimal yang
membentuk kunci kandidat
Atribut atau kumpulan atribut apa pun yang
secara fungsional menentukan semua atribut
dalam sebuah rekaman adalah Kunci Kandidat.
Catatan: karena tidak ada dua baris dalam tabel
relasional yang dapat diduplikasi, seluruh
rekaman selalu merupakan kunci kandidat.
Primary Key (C)
 C menentukan semua atribut
 Tidak ada subset atribut dalam C yang
merupakan kunci kandidat
 Kunci yang terdiri dari lebih dari satu
atribut disebut “Composite Key.”
Foreign Keys
Nilai dalam tabel “child” yang cocok dengan
nilai terkait dalam tabel “parent”.
SalesRep(SalesRepNumber, Name)
[ 03 | Mary Jones ]
[ 124 | 03 ]
Customer(CustomerNumber,
SalesRepNumber)
Foreign Keys(Kunci Asing)
• Kunci asing dalam tabel anak memiliki nilai
yang sama dengan kunci utama dalam tabel
induk.
• Kunci asing dalam hubungan banyak ke
banyak masuk ke dalam tabel banyak.
• Dalam hubungan banyak ke banyak, kunci
asing dari kedua tabel masuk ke entitas
asosiatif.
• Dalam hubungan 1 ke 1, kunci asing masuk
ke dalam salah satu tabel (biasanya yang
paling mungkin berubah)
Normal Forms
Seperangkat kondisi pada struktur tabel yang
meningkatkan pemeliharaan. Normalisasi
menghilangkan anomali pemrosesan:
– Update
– Inconsistent Data
– Addition
– Deletion
Normal Forms
Semua atribut bergantung pada kunci,
seluruh kunci, dan tidak ada yang lain selain
kunci.
 1NF Kunci dan tidak ada grup yang
berulang
 2NF Tidak ada dependensi parsial
 3NF Semua determinan adalah kunci
kandidat
 4NF Tidak ada dependensi multinilai
1st Normal Form
• Tabel memiliki kunci utama
• Tabel tidak memiliki grup yang berulang
Atribut bernilai banyak adalah atribut yang
mungkin memiliki beberapa nilai untuk satu
rekaman
Grup berulang adalah sekumpulan satu atau
lebih atribut bernilai banyak yang saling
terkait
Contoh
• Multivalued attribute:
Orders(OrderNumber, OrderDate, {PartNumber})
[ 12491 | 9/02/2001 | BT04, BZ66 ]
• Repeating group:
Orders(OrderNumber, OrderDate,
{PartNumber, NumberOrdered})
[12491 | 9/02/2001 | (BT04, 1), (BZ66, 1)]
Normalization: 1NF
• Setiap grup yang berulang menjadi tabel
baru dengan hubungan kunci asing yang
sesuai dipertahankan.
• Hapus grup berulang bersarang dari luar
ke dalam
• Order(OrderNumber, OrderDate,
{PartNumber, {Supplier}})
Contoh: 1NF
Order(OrderNumber, OrderDate, {PartNumber,
{Supplier}})
Order(OrderNumber, OrderDate)
Order-Part(OrderNumber, PartNumber)
Part(PartNumber, {Supplier})
Contoh: 1NF (cont.)
Part(PartNumber, {Supplier})
Part( PartNumber )
Part-Supplier( PartNumber, SupplierNum)
Supplier( SupplierNum )
2nd Normal Form
• Tidak ada ketergantungan parsial
• Tidak ada atribut yang hanya bergantung
pada beberapa atribut dari kunci yang
dirangkai.
Order-Part
[OrderNumber | PartNumber | PartDescription]
Create a new table with PartNumber key.
3rd Normal Form /
Boyce-Codd Normal Form
• 3rd Normal Form: no transitive
dependencies
Transitive dependency means that a non-
key attribute depends on another non-key
attribute(s).
This definition says nothing about
dependencies that involve the key.
3rd Normal Form /
Boyce-Codd Normal Form
• BCNF: every determinant is a candidate
key.
Determinant: any attribute(s) that
functionally determine another attribute
BCNF means that there are no “transitive”
dependencies involving key or non-key
attributes.
3NF
• Pratt and Adamski use the BCNF definition
as their definition of 3NF
BCNF was generated to deal with problems like:
Class(Section#, InstructorID, … ) extra key attribute
(Student, Major, Advisor) wrong key
4th Normal Form
• No multivalued dependencies
A multivalued dependency of column B on
column A occurs when a table has a key
with three or more attributes, (A, B, C) and
– each value of A is associated with a collection
of values of B
– this collection of values is independent of C
B is multidependent on A
B A
c1
c2
c3
a
b1
b2
b3
b4
Example: multivalued dependence
Faculty have advisee assignments for one
major and committee assignments
[FacID | AdviseeID | FacultyComm]
[FacultyID]
[FacID | AdviseeID] [FacID | FacultyComm]
Normalization
• Improves maintenance for database
changes
Tends to slow down retrieval
• Better at finding problems than solving
them
Standard normalization procedures are
subtle and may introduce BCNF or 4NF
problems into tables
Normalization
1NF Keys & no repeating groups
2NF 1NF & all attributes depend on all key
components
3NF 2NF & all determinants are candidate
keys
4NF 3NF & no multivalued dependencies
Intuitive Normalization
1NF Tables represent entities
2NF Each table represents only one entity
3NF Tables do not contain attributes from
embedded entities
4NF Triple relationships should not
represent a pair of dual relationships
Normalization dalam penemuan biner[c10] (1).pptx
Normalization dalam penemuan biner[c10] (1).pptx
Normalization dalam penemuan biner[c10] (1).pptx
Normalization dalam penemuan biner[c10] (1).pptx
Normalization dalam penemuan biner[c10] (1).pptx
Normalization dalam penemuan biner[c10] (1).pptx
Normalization dalam penemuan biner[c10] (1).pptx
Normalization dalam penemuan biner[c10] (1).pptx
Normalization dalam penemuan biner[c10] (1).pptx
Normalization dalam penemuan biner[c10] (1).pptx
Normalization dalam penemuan biner[c10] (1).pptx
Normalization dalam penemuan biner[c10] (1).pptx
Normalization dalam penemuan biner[c10] (1).pptx
Normalization dalam penemuan biner[c10] (1).pptx
Normalization dalam penemuan biner[c10] (1).pptx
Normalization dalam penemuan biner[c10] (1).pptx
Normalization dalam penemuan biner[c10] (1).pptx
Normalization dalam penemuan biner[c10] (1).pptx
Normalization dalam penemuan biner[c10] (1).pptx
Normalization dalam penemuan biner[c10] (1).pptx
Normalization dalam penemuan biner[c10] (1).pptx
Normalization dalam penemuan biner[c10] (1).pptx
Normalization dalam penemuan biner[c10] (1).pptx
Normalization dalam penemuan biner[c10] (1).pptx
Normalization dalam penemuan biner[c10] (1).pptx

Normalization dalam penemuan biner[c10] (1).pptx

  • 1.
  • 2.
    Functional Dependence b2 b3 a1 b1 Suatu atributA bergantung secara fungsional pada atribut B jika: diberikan suatu nilai b bagi B, hanya ada satu nilai a yang bersesuaian bagi A (pada suatu waktu).
  • 3.
    Contoh: functional dependence SalesRepNumberName PayClass Commission Semua sales representative dalam payclass tertentu memiliki tingkat commission yang sama.
  • 4.
    Keys Primary key: sekumpulanatribut minimal yang membentuk kunci kandidat Atribut atau kumpulan atribut apa pun yang secara fungsional menentukan semua atribut dalam sebuah rekaman adalah Kunci Kandidat. Catatan: karena tidak ada dua baris dalam tabel relasional yang dapat diduplikasi, seluruh rekaman selalu merupakan kunci kandidat.
  • 5.
    Primary Key (C) C menentukan semua atribut  Tidak ada subset atribut dalam C yang merupakan kunci kandidat  Kunci yang terdiri dari lebih dari satu atribut disebut “Composite Key.”
  • 6.
    Foreign Keys Nilai dalamtabel “child” yang cocok dengan nilai terkait dalam tabel “parent”. SalesRep(SalesRepNumber, Name) [ 03 | Mary Jones ] [ 124 | 03 ] Customer(CustomerNumber, SalesRepNumber)
  • 7.
    Foreign Keys(Kunci Asing) •Kunci asing dalam tabel anak memiliki nilai yang sama dengan kunci utama dalam tabel induk. • Kunci asing dalam hubungan banyak ke banyak masuk ke dalam tabel banyak. • Dalam hubungan banyak ke banyak, kunci asing dari kedua tabel masuk ke entitas asosiatif. • Dalam hubungan 1 ke 1, kunci asing masuk ke dalam salah satu tabel (biasanya yang paling mungkin berubah)
  • 8.
    Normal Forms Seperangkat kondisipada struktur tabel yang meningkatkan pemeliharaan. Normalisasi menghilangkan anomali pemrosesan: – Update – Inconsistent Data – Addition – Deletion
  • 9.
    Normal Forms Semua atributbergantung pada kunci, seluruh kunci, dan tidak ada yang lain selain kunci.  1NF Kunci dan tidak ada grup yang berulang  2NF Tidak ada dependensi parsial  3NF Semua determinan adalah kunci kandidat  4NF Tidak ada dependensi multinilai
  • 10.
    1st Normal Form •Tabel memiliki kunci utama • Tabel tidak memiliki grup yang berulang Atribut bernilai banyak adalah atribut yang mungkin memiliki beberapa nilai untuk satu rekaman Grup berulang adalah sekumpulan satu atau lebih atribut bernilai banyak yang saling terkait
  • 11.
    Contoh • Multivalued attribute: Orders(OrderNumber,OrderDate, {PartNumber}) [ 12491 | 9/02/2001 | BT04, BZ66 ] • Repeating group: Orders(OrderNumber, OrderDate, {PartNumber, NumberOrdered}) [12491 | 9/02/2001 | (BT04, 1), (BZ66, 1)]
  • 12.
    Normalization: 1NF • Setiapgrup yang berulang menjadi tabel baru dengan hubungan kunci asing yang sesuai dipertahankan. • Hapus grup berulang bersarang dari luar ke dalam • Order(OrderNumber, OrderDate, {PartNumber, {Supplier}})
  • 13.
    Contoh: 1NF Order(OrderNumber, OrderDate,{PartNumber, {Supplier}}) Order(OrderNumber, OrderDate) Order-Part(OrderNumber, PartNumber) Part(PartNumber, {Supplier})
  • 14.
    Contoh: 1NF (cont.) Part(PartNumber,{Supplier}) Part( PartNumber ) Part-Supplier( PartNumber, SupplierNum) Supplier( SupplierNum )
  • 15.
    2nd Normal Form •Tidak ada ketergantungan parsial • Tidak ada atribut yang hanya bergantung pada beberapa atribut dari kunci yang dirangkai. Order-Part [OrderNumber | PartNumber | PartDescription] Create a new table with PartNumber key.
  • 16.
    3rd Normal Form/ Boyce-Codd Normal Form • 3rd Normal Form: no transitive dependencies Transitive dependency means that a non- key attribute depends on another non-key attribute(s). This definition says nothing about dependencies that involve the key.
  • 17.
    3rd Normal Form/ Boyce-Codd Normal Form • BCNF: every determinant is a candidate key. Determinant: any attribute(s) that functionally determine another attribute BCNF means that there are no “transitive” dependencies involving key or non-key attributes.
  • 18.
    3NF • Pratt andAdamski use the BCNF definition as their definition of 3NF BCNF was generated to deal with problems like: Class(Section#, InstructorID, … ) extra key attribute (Student, Major, Advisor) wrong key
  • 19.
    4th Normal Form •No multivalued dependencies A multivalued dependency of column B on column A occurs when a table has a key with three or more attributes, (A, B, C) and – each value of A is associated with a collection of values of B – this collection of values is independent of C
  • 20.
    B is multidependenton A B A c1 c2 c3 a b1 b2 b3 b4
  • 21.
    Example: multivalued dependence Facultyhave advisee assignments for one major and committee assignments [FacID | AdviseeID | FacultyComm] [FacultyID] [FacID | AdviseeID] [FacID | FacultyComm]
  • 22.
    Normalization • Improves maintenancefor database changes Tends to slow down retrieval • Better at finding problems than solving them Standard normalization procedures are subtle and may introduce BCNF or 4NF problems into tables
  • 23.
    Normalization 1NF Keys &no repeating groups 2NF 1NF & all attributes depend on all key components 3NF 2NF & all determinants are candidate keys 4NF 3NF & no multivalued dependencies
  • 24.
    Intuitive Normalization 1NF Tablesrepresent entities 2NF Each table represents only one entity 3NF Tables do not contain attributes from embedded entities 4NF Triple relationships should not represent a pair of dual relationships