Normalisasi Tabel
Normalisasi
• Salah satu pendekatan dalam merancang basis data relasional, selain
ERD
• Bertitik tolak dari data yang sudah dimiliki
• Istilah penting dalam normalisasi
• Atribut
• Key
• Domain, dan
• Ketergantungan Fungsional
Istilah Penting Dalam Normalisasi
• Atribut
• Key
• Domain, dan
• Ketergantungan Fungsional
Atribut Tabel
• Mahasiswa {nim, nama, alamat, tgl_lahir}
• Dosen {nip, nama_dos, alamat_dos}
• Kuliah {kode_kul, nama_kul, sks, semester}
• Nilai {nama_kul, nim, nama_mhs, indeks_nilai}
• Jadwal {nama_kul, tempat, waktu, nama_dos}
Istilah Penting Dalam Normalisasi
• Atribut
• Key
• Domain, dan
• Ketergantungan Fungsional
Key
• Super Key
• Candidate Key
• Primary Key
Super Key
• Satu atau lebih atribut yang dapat membedakan setiap baris data
dalam tabel secara unik.
• Pada tabel mahasiswa superkey-nya adalah
• (nim, nama, alamat, tgl_lahir)
• (nim, nama, alamat) nim nama alamat tgl_lahir
• (nim, nama) 001 Anto Jl. A. Yani No.20 01/01/1990
• (nama) 002 Budi Jl. Keruing No.35 20/12/1992
• (nim) 003 Caca Jl. Keruing No. 40 20/10/1993
Candidate Key
• Kumpulan atribut minimal yang dapat membedakan setiap baris data
dalam sebuah tabel secara unik.
• CK pasti masuk sebagai SK, namun tidak berlaku sebaliknya
• Pada tabel mahasiswa CK-nya adalah :
• (nama)
• (nim)
Primary Key
• Kunci yang dipilih dari Candidate Key, dengan syarat :
• Key tersebut lebih natural untuk dijadikan acuan
• Memiliki jaminan keunikan lebih baik
• Pada tabel mahasiswa PK-nya adalah :
• (nim)
Istilah Penting Dalam Normalisasi
• Atribut
• Key
• Domain, dan
• Ketergantungan Fungsional
Domain
• Domain pengertiannya hampir sama seperti tipe data
• Lebih ditekankan kepada batas-batas nilai yang diperbolehkan pada
setiap atribut.
• Misal, atribut nilai tidak boleh berisi <0 dan >100
Istilah Penting Dalam Normalisasi
• Atribut
• Key
• Domain, dan
• Ketergantungan Fungsional
Ketergantungan Fungsional
• Diberikan sebuah tabel T berisi paling sedikit 2 buah atribut, A dan B.
Dinyatakan notasi berikut :
AB
Artinya : A menentukan B.
Atau : jika r1(A) = r2(A), maka r1(B) = r2(B)
Contoh Ketergantungan Fungsional
• nim nama_mhs
• nama_kul nim indeks_nilai
nama_kul nim nama_mhs indeks_nilai
Struktur Data 001 Anto A
Struktur Data 002 Budi B
Basis Data 001 Anto A
Basis Data 003 Caca
Kalkulus 001 Anto E
Kalkulus 002 Budi A
NORMALISASI TABEL
• Basisdata dikatakan baik, jika memenuhi kriteria berikut :
• Jika ada dekomposisi, maka dekomposisinya dijamin aman (Lossless-Join
Decomposition)
• Ketergantungan Fungsionalnya terpelihara saat datanya berubah (Dependency
Preservation)
• Tidak melanggar BCNF (Boyce Codd Normal Form).
• Jika tidak bisa, diupayakan tidak melanggar 3NF
Langkah Normalisasi Tabel
• Cari Ketergantungan Fungsional
• Lakukan Dekomposisi