Materi
Normalisasi Data
Normalisasi basis data adalah proses penataan basis data relasional sesuai dengan
serangkaian apa yang disebut bentuk normal untuk mengurangi redundansi data dan
meningkatkan integritas data . Ini pertama kali diusulkan oleh Edgar F. Codd sebagai bagian
dari model relasionalnya .
Normalisasi melibatkan pengorganisasian kolom (atribut) dan tabel (hubungan) dari suatu
basis data untuk memastikan bahwa ketergantungannya ditegakkan dengan benar oleh batasan
integritas basis data. Ini dicapai dengan menerapkan beberapa aturan formal baik dengan
proses sintesis (membuat desain database baru) atau dekomposisi (meningkatkan desain database
yang ada).
Tujuan
Tujuan dasar dari bentuk normal pertama yang didefinisikan oleh Codd pada tahun 1970 adalah
untuk mengizinkan data untuk ditanyakan dan dimanipulasi menggunakan "sub-bahasa data
universal" yang didasarkan pada logika tingkat pertama . [1] ( SQL adalah contoh dari sub-bahasa
data, meskipun Codd dianggap cacat serius. [2] )
Tujuan normalisasi di luar 1NF (bentuk normal pertama) dinyatakan sebagai berikut oleh Codd:
1. Untuk membebaskan kumpulan hubungan dari penyisipan yang tidak diinginkan, perbarui
dan penghapusan ketergantungan.
2. Untuk mengurangi kebutuhan untuk merestrukturisasi koleksi hubungan, saat tipe data
baru diperkenalkan, dan dengan demikian meningkatkan masa pakai program aplikasi.
3. Untuk membuat model relasional lebih informatif kepada pengguna.
4. Untuk membuat koleksi hubungan netral ke statistik kueri, di mana statistik ini dapat
berubah seiring berjalannya waktu.
Sebuah pembaruan anomali . Karyawan 519 ditunjukkan memiliki alamat berbeda pada catatan
yang berbeda.
Sebuah anomali penyisipan . Sampai anggota fakultas baru, Dr. Newsome, ditugaskan untuk
mengajar setidaknya satu mata kuliah, rinciannya tidak dapat dicatat.
Sebuah penghapusan anomali . Semua informasi tentang Dr. Giddens hilang jika ia sementara
waktu tidak ditugaskan untuk mengikuti kursus apa pun.
Ketika suatu upaya dilakukan untuk memodifikasi (memperbarui, memasukkan, atau menghapus
dari) suatu hubungan, efek samping yang tidak diinginkan berikut ini dapat muncul dalam
hubungan yang belum dinormalisasi dengan cukup:
• Perbarui anomali. Informasi yang sama dapat diekspresikan pada banyak baris; karena itu
pemutakhiran untuk hubungan tersebut dapat mengakibatkan inkonsistensi logis. Misalnya,
setiap catatan dalam hubungan "Keterampilan Karyawan" mungkin berisi ID Karyawan,
Alamat Karyawan, dan Keterampilan; dengan demikian perubahan alamat untuk karyawan
tertentu mungkin perlu diterapkan ke banyak catatan (satu untuk setiap keterampilan). Jika
pembaruan hanya sebagian berhasil - alamat karyawan diperbarui pada beberapa catatan tetapi
tidak pada yang lain - maka hubungan dibiarkan dalam keadaan tidak konsisten. Secara
khusus, relasi memberikan jawaban yang bertentangan dengan pertanyaan tentang apa alamat
karyawan ini. Fenomena ini dikenal sebagai anomali pembaruan.
• Anomali penyisipan. Ada keadaan di mana fakta-fakta tertentu tidak dapat dicatat sama
sekali. Misalnya, setiap catatan dalam hubungan "Fakultas dan Programnya" mungkin berisi
ID Fakultas, Nama Fakultas, Tanggal Perekrutan Fakultas, dan Kode Kursus. Oleh karena itu,
kami dapat mencatat detail setiap anggota fakultas yang mengajar setidaknya satu mata kuliah,
tetapi kami tidak dapat merekam anggota fakultas yang baru direkrut yang belum ditugaskan
untuk mengajar mata pelajaran apa pun, kecuali dengan menetapkan Kode Mata Kuliah ke
nol. Fenomena ini dikenal sebagai anomali penyisipan.
• Anomali penghapusan. Dalam keadaan tertentu, penghapusan data yang mewakili fakta
tertentu mengharuskan penghapusan data yang mewakili fakta yang sama sekali
berbeda. Relasi "Fakultas dan Programnya" yang dijelaskan dalam contoh sebelumnya
menderita jenis anomali ini, karena jika seorang anggota fakultas sementara tidak ditugaskan
untuk kursus apa pun, kita harus menghapus catatan terakhir dari mana anggota fakultas itu
muncul, secara efektif juga menghapus anggota fakultas, kecuali kami menetapkan Kode
Kursus ke nol. Fenomena ini dikenal sebagai anomali penghapusan.
Contoh
Meminta dan memanipulasi data dalam struktur data yang tidak dinormalisasi, seperti representasi
non-1NF berikut dari transaksi kartu kredit pelanggan, melibatkan lebih banyak kompleksitas
daripada yang sebenarnya diperlukan:
Pelang Cust. I
Transaksi
gan ndo
Abraha
1 12890 14-Okt-2003 −87
m
Untuk setiap pelanggan sesuai dengan 'kelompok yang berulang' dari transaksi. Oleh karena itu,
evaluasi otomatis dari setiap kueri yang berkaitan dengan transaksi pelanggan akan melibatkan
dua tahap:
1. Membongkar satu atau lebih kelompok transaksi pelanggan yang memungkinkan transaksi
individu dalam suatu kelompok untuk diperiksa, dan
2. Turunkan hasil kueri berdasarkan hasil tahap pertama
Misalnya, untuk mengetahui jumlah uang dari semua transaksi yang terjadi pada Oktober 2003
untuk semua pelanggan, sistem harus mengetahui bahwa ia harus terlebih dahulu
membongkar kelompok Transaksi dari setiap pelanggan, kemudian menjumlahkan Jumlah semua
transaksi yang diperoleh di mana Tanggal transaksi jatuh pada Oktober 2003.
Salah satu wawasan penting Codd adalah bahwa kompleksitas struktural dapat
dikurangi. Berkurangnya kompleksitas struktural memberi pengguna, aplikasi, dan DBMS lebih
banyak kekuatan dan fleksibilitas untuk merumuskan dan mengevaluasi pertanyaan. Setara lebih
normal dari struktur di atas mungkin terlihat seperti ini:
Pelanggan Cust. Indo
Abraham 1
Ishak 2
Yakub 3
Dalam struktur yang dimodifikasi, kuncinya adalah {Cust. ID} dalam relasi pertama, {Cust. ID,
ID Tr} dalam hubungan kedua.
Sekarang setiap baris mewakili transaksi kartu kredit individual, dan DBMS dapat memperoleh
jawaban yang menarik, cukup dengan menemukan semua baris dengan Tanggal yang jatuh pada
bulan Oktober, dan menjumlahkan Jumlahnya. Struktur data menempatkan semua nilai pada
pijakan yang sama, mengekspos masing-masing ke DBMS secara langsung, sehingga masing-
masing berpotensi berpartisipasi secara langsung dalam permintaan; sedangkan dalam situasi
sebelumnya beberapa nilai tertanam dalam struktur tingkat bawah yang harus ditangani secara
khusus. Dengan demikian, desain yang dinormalisasi cocok untuk pemrosesan permintaan
keperluan umum, sedangkan desain yang tidak dinormalisasi tidak. Versi yang dinormalkan juga
memungkinkan pengguna untuk mengubah nama pelanggan di satu tempat dan menjaga terhadap
kesalahan yang muncul jika nama pelanggan salah eja pada beberapa catatan.
Data Awal
Biarkan tabel database dengan struktur berikut:
MySQL,
Memulai Desain dan Optimasi Chad Sampul Amerika
Amerika 49,99 520 Tebal Apress E-book 1 Tutorial
Basis Data MySQL Russell keras Serikat
Basis data,
Rancangan
Kami berasumsi dalam contoh ini bahwa setiap buku hanya memiliki satu penulis.
Meskipun sekarang tabel secara formal mematuhi 1NF (bersifat atomik), masalah dengan
solusi ini jelas - jika sebuah buku memiliki lebih dari tiga subjek, maka buku tidak dapat
ditambahkan ke database tanpa mengubah strukturnya.
Untuk memecahkan masalah dengan cara yang lebih baik, perlu untuk mengidentifikasi
entitas yang diwakili dalam tabel dan memisahkan mereka ke dalam tabel masing-masing. Dalam
hal ini, akan menghasilkan tabel Buku , Subjek dan Penerbit :
Buku
Judul Format Penulis Penulis Kebangsaan Harga Halaman Ketebalan ID Genre Nama Genre ID Penerbit
Memulai Desain dan Optimasi Basis Data MySQL Sampul keras Chad Russell Amerika 49,99 520 Tebal 1 Tutorial 1
Subyek
1 MySQL
2 Basis data
3 Rancangan
Penerbit
Judul - Subjek
Judul ID subjek
Sehingga satu tabel dalam bentuk tidak normal , sekarang ada 4 tabel yang sesuai dengan 1NF.
Buku
Judul Format Penulis Penulis Kebangsaan Harga Halaman Ketebalan ID Genre Nama Genre ID Penerbit
Memulai Desain dan Optimasi Basis Data MySQL Sampul keras Chad Russell Amerika 49,99 520 Tebal 1 Tutorial 1
Memulai Desain dan Optimasi Basis Data MySQL E-book Chad Russell Amerika 22.34 520 Tebal 1 Tutorial 1
Model Relasional untuk Manajemen Database: Versi 2 E-book EFCodd Inggris 13.88 538 Tebal 2 Ilmu pengetahuan populer 2
Model Relasional untuk Manajemen Database: Versi 2 Paperback EFCodd Inggris 39,99 538 Tebal 2 Ilmu pengetahuan populer 2
Semua atribut yang bukan bagian dari kunci tergantung pada Judul , tetapi hanya Harga juga
tergantung pada Format . Untuk menyesuaikan dengan 2NF dan menghapus duplikasi, setiap atribut
non-kunci harus bergantung pada keseluruhan kunci, bukan hanya sebagian saja.
Untuk menormalkan tabel ini, buat {Title} kunci (sederhana) sehingga setiap atribut non-kunci
bergantung pada keseluruhan kunci, dan hapus Harga ke dalam tabel terpisah sehingga
ketergantungannya pada Format dapat dipertahankan:
Buku
Judul Penulis Penulis Kebangsaan Halaman Ketebalan ID Genre Nama Genre ID Penerbit
Memulai Desain dan Optimasi Basis Data MySQL Chad Russell Amerika 520 Tebal 1 Tutorial 1
Model Relasional untuk Manajemen Database: Versi 2 EFCodd Inggris 538 Tebal 2 Ilmu pengetahuan populer 2
Format - Harga
Memulai Desain dan Optimasi Basis Data MySQL Sampul keras 49,99
Buku
Judul Penulis Penulis Kebangsaan Halaman Ketebalan ID Genre Nama Genre ID Penerbit
Memulai Desain dan Optimasi Basis Data MySQL Chad Russell Amerika 520 Tebal 1 Tutorial 1
Model Relasional untuk Manajemen Database: Versi 2 EFCodd Inggris 538 Tebal 2 Ilmu pengetahuan populer 2
ID Genre dan Nama Genre keduanya bergantung pada kunci utama {Judul} , tetapi
keduanya tidak independen satu sama lain. Ketergantungan, misalnya, Nama Genre pada kunci
primer dapat disimpulkan dari ketergantungan Nama Genre pada ID Genre dan ID Genre pada kunci
primer. Karena ada lebih banyak judul daripada genre, ketergantungan itu memperkenalkan data yang
berlebihan ke dalam tabel Buku yang dapat dihilangkan dengan mengabstraksi
ketergantungan Nama Gen pada ID Genre ke dalam tabelnya sendiri:
Buku
Memulai Desain dan Optimasi Basis Data MySQL Chad Russell Amerika 520 Tebal 1 1
Model Relasional untuk Manajemen Database: Versi 2 EFCodd Inggris 538 Tebal 2 2
Genre Buku
1 Tutorial
Tabel Buku sekarang dalam bentuk normal ketiga. Meskipun tabel dalam 1NF menurut definisi
dinormalisasi, "dinormalisasi" umumnya digunakan untuk berarti 3NF.
Referensi
[1]. https://en.wikipedia.org/wiki/Database_normalization#Normal_forms
TUGAS KULIAH E-LEARNING
PERTEMUAN KE -5
Dikumpulkan melalui email : supatman.fti@gmail.com ,
Dengan subject : TTE-05-RM-<A/B>-<NIM>-<Nama>
Bagi membutuhkan penjelasan dimohon langsung WA ke 081578865611
Kerjakan dengan menulis manual sendiri pada kertas kemudian difoto dan dikirim ke
email tertera di atas, pengumpulan tidak boleh lebih dari Hari Kamis (02/04/2020,
Pukul : 23.59 WIB).
Berdasarkan tabel rekam medis sederhana tersebut buatlah ke dalam bentuk normal pertama
(1NF)!
---===000===---