ERD diatas sudah saya perbaiki karena saya liat didalam entitas BAGIAN dengan entitas PROYEK tidak ada suatu hubungan cardinality yang jelas dan saya menambahkan “1:N”. dalam hal ini suatu BAGIAN bisa memiliki banyak PROYEK, dan satu PROYEK hanya bisa dimiliki oleh satu bagian saja.
Proses Mapping gambar ERD dibawah ini:
Dalam gambar diatas bentuk normalisasinya yaitu 1NF. Field-field diatas dilihat dari atribut di entitas kecuali field KONTROLPEG dan PIMPINAN. Field ini didapat dari relasi 1:1 dari entitas PEGAWAI dan dari entitas PEGAWAI ke entitas BAGIAN. Dimana seorang pegawai mengontrol banyak pegawai dan seorang pegawai hanya dikontrol oleh seorang pegawai saja. Seorang pegawai dapat memimpin bagian dan bagian hanya dipimpin oleh seorang pegawai saja. FD merupakan functional Dependency dari atribut dimana tanda panah artinya bahwa atribut yang ditunjuk oleh tanda panah, nilainya tergantung dari atribut yang menunjuk. Contohnya pada FD1 atribut yang menunjuk adalah NOPEG sehingga semua nilai atribut tersebut tergantung pada NOPEG.
Gambar 2NF:
Pada bentuk 2NF tabel sudah dipisahkan sesuai dengan Functional Dependency yang terjadi. Bentuk Normal kedua mempunyai syarat yaitu bentuk data telah memenuhi kriteria bentuk First Normal Form. Atribut bukan kunci haruslah bergantung secara fungsi pada kunci utama, sehingga untuk membentuk Normal Kedua haruslah sudah ditentukan kunci-kunci field. Kunci field harus unik dan dapat mewakili atribut lain yang menjadi anggotanya.
3NF
Dalam bentuk ini sama seperti gambar 2NF, karenamemang ketika dibuat kebentuk 2NF seluruh atribut pada tabel hanya tergantung pada satu atribut pada tabel tersebut. Hal ini sesuai dengan persyratan bentuk 3NF yaitu dalam satu tabel semua atribut harus tergantung pada satu atribut yang berfungsi sebagai primary key.
Aturan-aturan normalisasi dinyatakan dalam istilah bentuk normal. Bentuk ormal adalah suatu aturan yang dikenakan pada relasi-relasi dalam basis data dan harus dipenuhi oleh relasi tersebut pada level-level normalisasi. Suatu relasi dikatakan dalam bentuk normal tertentu jika memenuhi kondisi-kondisi ertentu.
Proses Rancangan Database (review)
•Mengumpulkan kebutuhan user/business
•Mengembangkan E-R Model berdasarkan kebutuhan user/business
•Konversikan E-R Model ke himpunan relasi (tabel)
•Normalisasikan relasi untuk menghilangkan anomali
•Implementasikan ke database dengan membuat table untuk setiap relasi yang sudah ternormalisasi
Normalisasi Basis Data
•Normalisasi adalah proses pembentukan struktur basis data sehingga sebagian besar ambiguity bisa dihilangkan.
•Tahap Normalisasi dimulai dari tahap paling ringan (1NF) hingga paling ketat (5NF)
•Biasanya hanya sampai pada tingkat 3NF atau BCNF karena sudah cukup memadai untuk menghasilkan tabel-tabel yang berkualitas baik.
•Sebuah tabel dikatakan baik (efisien) atau normal jika memenuhi 3 kriteria sbb:
•Jika ada dekomposisi (penguraian) tabel, maka dekomposisinyaharus dijamin aman (Lossless-Join Decomposition). Artinya, setelah tabel tersebut diuraikan / didekomposisi menjadi tabel-tabel baru, tabel-tabel baru tersebut bisa menghasilkan tabel semula dengan sama persis.
•Terpeliharanya ketergantungan fungsional pada saat perubahan data (Dependency Preservation).
•Tidak melanggar Boyce-Code Normal Form (BCNF)
•Jika kriteria ketiga (BCNF) tidak dapat terpenuhi, maka paling tidak tabel tersebut tidak melanggar Bentuk Normaltahap ketiga (3rd Normal Form / 3NF).
Functional Dependency
•Functional Dependency menggambarkan hubungan attributes dalam sebuah relasi
•Suatu attribute dikatakan functionally dependant pada yang lain jika kita menggunakan nilai atribut tersebut untuk menentukan nilai atribut yang lain.
•Simbol yang digunakan adalah à untuk mewakili functional dependency.
à dibaca secara fungsional menentukan
•Notasi: A -> B
A dan B adalah atribut dari sebuah tabel. Berarti secara fungsional A menentukan B atau B tergantung pada A, jika dan hanya jika ada 2 baris data dengan nilai A yang sama, maka nilai B juga sama
•Notasi: A ->B atauAx->B
Adalah kebalikan dari notasi sebelumnya.
FUNCTIONAL DEPENDENCY (FD)
Contoh:
Functional Dependency:
•NRP -> Nama
•Mata_Kuliah, NRP -> Nilai
Non Functional Dependency:
•Mata_Kuliah -> NRP
•NRP -> Nilai
Functional Dependency
•Functional Dependency dari tabel nilai
–Nrp->Nama
Karena untuk setiap nilai Nrp yang sama, maka nilai Nama juga sama
–{Mata_kuliah, NRP} ->Nilai
Karena attribut Nilai tergantung pada Mata_kuliah dan NRP secara bersama-sama. Dalam arti lain untuk Mata_kuliah dan NRP yang sama, maka Nilai juga sama, karena Mata_kuliah dan NRP merupakan key (bersifat unik).
–Mata_kuliah ->NRP
–NRP->Nilai
BENTUK NORMAL PERTAMA (First Normal Form - 1NF)
Suatu relasi dikatakan bentuk normal pertama, jika dan hanya jika setiap atribut bernilai tunggal untuk setiap baris. Tiap field hanya satu pengertian, bukan merupakan kumpulan kata yang mempunyai arti mendua, hanya satu arti saja dan juga bukanlah pecahan kata – kata sehingga artinya lain. Tidak ada set atribut yang berulang-ulang atau atribut bernilai ganda.
Suatu tabel dikatakan berada pada bentuk normal I jika ia tidak berada pada bentuk unnormalized table, dimana terjadi penggandaan field yang sejenis dan memungkinkan ada field yang null (kosong)
Tidak diperboleh adanya :
•Atribut yang bernilai banyak (Multivaluedattribut).
•Attribut komposit atau kombinasi dari keduanya.
Jadi :
•Harga domain atribut harus merupakan harga atomik
•Misal Data Mahasiswa sbb :
atau
Contoh
•Dekomposisi menjadi :
–Tabel Mahasiswa :
- Tabel Hobi :
BENTUK NORMAL KEDUA (Second Normal Form - 2NF)
•Bentuk normal 2NF terpenuhi dalam sebuah tabel jika telah memenuhi bentuk 1NF, dan semua atribut selain primary key, secara utuh memiliki Functional Dependency pada primary key
•Sebuah tabel tidak memenuhi 2NF, jika ada atribut yang ketergantungannya (Functional Dependency) hanya bersifat parsial saja (hanya tergantung pada sebagian dari primary key)
•Jika terdapat atribut yang tidak memiliki ketergantungan terhadap primary key, maka atribut tersebut harus dipindah atau dihilangkan
•Ketergantungan fungsional X -> Y dikatakan penuh jika menghapus suatu atribut A dari X berarti Y tidak lagi bergantung fungsional.
•Ketergantungan fungsional X -> Y dikatakan partial jika menghapus suatu atribut A dari X berarti Y masih bergantung fungsional.
•Skema relasi R dalam bentuk 2NF jika setiap atribut non primary key A Î R bergantung penuh secara fungsioanl pada primary key R.
Contoh:
•Tabel berikut ini memenuhi 1NF, tetapi tidak termasuk 2NF
•Tidak memenuhi 2NF, karena {NIM, KodeMk} yang dianggap sebagai primary key sedangkan:
{NIM, KodeMk} -> NamaMhs
{NIM, KodeMk} -> Alamat
{NIM, KodeMk} -> Matakuliah
{NIM, KodeMk} -> Sks
{NIM, KodeMk} -> NilaiHuruf
•Tabel tersebut perlu didekomposisi menjadi beberapa tabel yang memenuhi syarat 2NF
•Bentuk normal 3NF terpenuhi jika telah memenuhi bentuk 2NF, dan jika tidak ada atribut non primary key yang memiliki ketergantungan terhadap atribut non primary key yang lainnya (ketergantungan transitif).
Contoh
•Tabel mahasiswa berikut ini memenuhi syarat 2NF, tetapi tidak memenuhi 3NF
•Karena masih terdapat atribut non primary key (yakni Kota dan Provinsi) yang memiliki ketergantungan terhadap atribut non primary key yang lain (yakni KodePos) :
KodePos à {Kota, Provinsi}
Contoh
•Sehingga tabel tersebut perlu didekomposisi menjadi :
•Mahasiswa (NIM, NamaMhs, Jalan, KodePos)
–KodePos (KodePos, Provinsi, Kota)
Boyce-Codd Normal Form (BNCF)
Boyce-Codd Normal Form mempunyai paksaan yang lebih kuat dari bentukNormal ketiga. Untuk menjadi BNCF, relasi harus dalam bentuk NormalKesatu dan setiap atribut dipaksa bergantung pada fungsi pada atribut superkey.
Pada contoh dibawah ini terdapat relasi Seminar, Kunci Primer adalah NPM +Seminar.
Siswa boleh mengambil satu atau dua seminar. Setiap seminarmembutuhkan 2 pembimbing dan setiap siswa dibimbing oleh salah satudiantara 2 pembimbing seminar tersebut. Setiap pembimbing hanya bolehmengambil satu seminar saja. pada contoh ini NPM dan Seminarmenunjukkan seorang Pembimbing.
Bentuk Relasi Seminar adalah bentuk Normal Ketiga, tetapi tidak BCNF
karena Kode Seminar masih bergantung fungsi pada Pembimbing, jika setiapPembimbing dapat mengajar hanya satu seminar. Seminar bergantung padasatu atribut bukan super key seperti yang disayaratakan oleh BCNF. Maka