Ini adalah unormalized table data yang akan kita normalkan, langkah-langkahnya adalah sebagai berikut:
1st Normal Form (1NF) Merubah dari bentuk tabel tidak normal (unnormalized table) menjadi bentuk normal pertama (1NF). Suatu relation R disebut 1st NF jika dan hanya jika semua attribute value- nya simple/atomic(tidak boleh ada attribute yang composit & multivalue) Tujuan 1NF adalah: Membuang adanya pengulangan (Redudansi) data, Menghindari adanya pencatatan Null Value, dan Menjaga setiap entry data dr relasi (perpotongan bariskolom) memiliki maksimal satu nilai tunggal. Beberapa table dapat mengandung partial dependency
Pada table data kursus ini, untuk 1NF, kita menghilangkan adanya pencatatan null value serta membuang adanya pengulangan
2st Normal Form (2NF) Sudah dalam bentuk / lolos 1NF. Dibuat berdasarkan FULL FUNCTIONAL DEPENDENCY (ketergantungan fungsional penuh) Normalisasi 2NF: jika tabel berada dalam bentuk normal pertama (1NF) dan setiap atribut bukan kunci (bukan PK) bergantung penuh (FULL DEPENDENT) pada kunci primer (PK). Sehingga tidak ada atribut bukan kunci yang bergantung pada sebagian (parsial) kunci primer.
Pada tahap 2NF kita mencari ketergantungan fungsional dari table data kursus IDSiswa -> NamaSiswa, Telephone, TanggalLahir (table siswa) KursusID -> Kursus, SKS (table pelajaran) IDsiswa,Kursus-> Nilai, bobot (table nilai) Maka dari itu kita membuat 3 tabel sesuai ketergantungan dependensinya yaitu table siswa, table pelajaran, dan table nilai
3rd Normal Form (3NF) Suatu relasi R disebut normal ke tiga (3rd NF) jika sudah memenuhi dalam bentuk normal ke dua (2nd NF) dan tidak dijumpai adanya ketergantungan TRANSITIF (Transitive Dependency). Kebergantungan transitif (transitive dependency) adalah ketergantungan fungsional antara 2 (atau lebih) atribut bukan key (kunci/PK). Syarat 3NF: Harus berada dalam bentuk normal ke dua (2NF). Ketergantungan field-field yang bukan PK adalah harus secara mutlak (full- dependent). Artinya harus tidak ada transitive dependency (ketergantungan secara transitif).
Pada tahap 2NF kita masih menjumpai masalah yaitu Nilai->bobot Maka table nilai harus di bagi dua menjadi table nilai dan table bobot.
Sekian postingan saya kali ini semoga bermanfaat
Normalisasi Database 1NF, 2NF dan 3NF (Peminjaman Kaset)
Kali ini saya akan memposting tentang normalisasi database di mulai dari database yang tidak normal/unnormal menjadi 1NF, 2NF dan 3NF. Sebelumnya, apakan normalisasi database itu?
Normalisasi : Teknik/pendekatan yang digunakan dalam membangun disain lojik database relasional melalui organisasi himpunan data dengan tingkat ketergantungan fungsional dan keterkaitan yang tinggi sedemikian sehingga menghasilkan struktur tabel yang normal. Tujuan : Minimalisasi redundansi (pengulangan data) Memudahkan identifikasi entitas Mencegah terjadinya anomali Berikut adalah contoh kasus database peminjaman kaset yang tidak normal/unnormal :
INF (First Normal Form)
Karena tidak normal, maka kita akan menjadikan database tersebut menjadi INF (First Normal Form) :
Suatu relasi disebut memenuhi bentuk normal pertama (1NF) jika dan hanya jika setiap atribut dari relasi tersebut hanya memiliki nilai tunggal dan tidak ada pengulangan grup atribut dalam baris. Bentuk 1NF tidak boleh mengandung grup atribut yang berulang. Tujuan membentuk 1NF : ::. semantik tabel menjadi lebih eksplisit ::. semua operator aljabar relasional dapat diaplikasikan pada tabel.
Hasil :
Apakah 2NF ?
Suatu relasi disebut memenuhi bentuk normal kedua (2NF) jika dan hanya jika :
1. memenuhi 1NF 2. setiap atribut yang bukan kunci utama tergantung secara fungsional terhadap semua atribut kunci dan bukan hanya sebagian atribut kunci (fully functionally dependent).
Hasil : Database sebelumnya dipecah jadi 2, Tabel Peminjam dan Tabel Kaset
Apakah sudah 3NF ?
Suatu relasi disebut memenuhi bentuk normal ketiga (3NF) jika dan hanya jika :
1. memenuhi 2NF 2. setiap atribut yang bukan kunci tidak tergantung secara fungsional terhadap atribut bukan kunci yang lain dalam relasi tsb (tidak terdapat ketergantungan transitif pada atribut bukan kunci).
Hasil : Atribut (Jumlah_Hari_Pinjam) di pisah dari Table PEMINJAM sehingga memunculkan Table TRANSAKSI
Sekian dari postingannya, Terima kasih.
Normalisasi 1nf, 2nf, 3nf BENTUK NORMAL PERTAMA (1NF) Berikut adalah contoh data-data yang belum ternormalisasi:
Pada data tabel di atas, contoh data belum ternormalisasi sehingga dapat diubah ke dalam bentuk 1NF dengan cara membuat setiap baris berisi kolom dengan jumlah yang sama dan setiap kolom hanya mengandung satu nilai.
BENTUK NORMALISASI KEDUA (2NF) Berikut ini adalah contoh data pada tabel mahasiswa yang belum memenuhi bentuk 1NF.
Bentuk 1NF-nya:
Bentuk 2NF-nya didapat dengan teknik berikut ini: Pada bentuk 1NF-nya, terlihat bahwa kolom NIM merupakan PrimaryKey. NIM -> Nama, Dosen Wali. Artinya adalah bahwa atribut Nama dan Dosen Wali bergantung pada NIM. Tetapi NIM <> Kode MataKuliah. Artinya adalah bahwa atribut Kode_MataKuliah tidak tergantung pada NIM. Sehingga, bentuk 2NF-nya terbagi atas 2 table:
Table1
Table2
BENTUK NORMALISASI KETIGA (3NF) Berikut ini adalah contoh tabel Mahasiswa yang sudah dalam bentuk 1NF:
Bentuk 2NF-nya: Table1
Table2
Table3
Namun, di Table1, atribut nonkey(Nilai dan Bobot) masih memiliki ketergantungan fungsional. Maka, untuk memenuhi bentuk 3NF, Table1 harus dipecah lagi menjadi:
Bentuk Tidak Normal - UNF (Masukan semua atribut yang ada pada dokumen dasar baik itu pada format dokumen Masukan maupun dokumen Keluaran pada satu himpunan). | Tampilkan contoh Bentuk Normal 1 - 1NF (Tidak ada baris yang duplikat ; Tentukan atribut yang akan dijadikan Candidate Key (Calon Kunci yang akan menjadi Kunci Utama). | Tampilkan contoh Bentuk Normal 2 - 2NF (Sudah dalam bentuk Normal Pertama; Semua atribut yang tidak termasuk dalam Primary Key memiliki ketergantungan fungsional pada Primary Key secara utuh. | Tampilkan contoh Bentuk Normal 3 - 3NF (Sudah dalam bentuk Normal Kedua; Pisahkan atribut yang merupakan atau menjadi atribut detail (tidak tergantung secara langsung kepada atribut Primary Key). Pisahkan atribut (pada kotak merah) dari himppunan / dari tabel asal pisahkan ke tabel baru. | Tampilkan contoh
Teknik Normalisasi Normalisasi
Normalisasi adalah proses pengelompokkan elemen-elemen data kedalam sebuah tabel yang dapat menunjukkan entitas dan relasi masing-masing tabel. Normalisasi sering juga diartikan sebagai pengelompokkan atribut-atribut kedalam sebuah relasi sehingga membentuk Well structure Relation.
Perhatikan Dokumen Kartu pengobatan masyarakat berikut ini. Kartu pengobatan tersebut dapat diubah menjadi data yang Unnormalisasi, 1NF, 2NF, 3NF dll.
Berdasarkan dokumen diatas saya akan menguraikan sebagian dari bentuk-bentuk dari normalisasi, seperti berikut ini: 1. Unnormalisasi Dikatakan sebagai Unnormalisasi atau bentuk tidak normal karena data-data yang ada didalamnya tidak lengkap atau bisa berulang. Yang menyebakan data berulang atau tidak lengkap salah satunya ialah karena data tersebut direkam dengan tidak memperhatikan format yang telah ditentukan. Sebagai contoh dari unnormalisasi perhatikan gambar berikut ini:
Dari gambar diatas menunjukkan adanya peulangan dibaagian kode dokter dan Nama pasien. 2. Bentuk Normal Kesatu (1NF /First normal form)
Ciri-ciri Normal kesatu yaitu Data disimpan dalam flag file dan memiliki ketergantungan Partial. Seperti gambar berikut ini:
Dari gambar diatas terdapat beberapa field yang menjadi atribut Candidate Key. Candidate Key dalam hal ini adalah satu set minimal atribut yang mengidentifikasi secara unik suatu kejadian dari entity. Atribut yang menjadi Candidate Key antara lain: No pasien Nopen Kode dokter Kode sakit Kode obat
3. Bentuk Normal Kedua (2NF /Second Normal Form) Bentuk normal kedua memiliki ketergantungan Transitif. Dan biasanya sudah memenuhi syarat normal kesatu.
4. Bentuk normal Ketiga (3NF /Third Normal Form)
Bentuk normal ketiga biasanya sudah memenuhi syarat normal kedua dan tidak memiliki ketergantugan secara transitif. Dengan kata lain setiap atribute bukan kunci haruslah bergantung hanya pada primary key dan pada primary key secara menyeluruh.