Anda di halaman 1dari 14

Materi Kuliah Elearning - 05

Mata Kuliah Basis Data

Materi
Normalisasi Data

Program Studi Rekam Medis


Politeknik Kesehatan Permata Indonesia
Yogyakarta
2020
Normalisasi Basis 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.

Minimalkan desain ulang ketika memperluas struktur basis data


Basis data yang sepenuhnya dinormalisasi memungkinkan strukturnya diperluas untuk
mengakomodasi tipe data baru tanpa mengubah struktur yang ada terlalu banyak. Akibatnya, aplikasi
yang berinteraksi dengan basis data terpengaruh minimal.
Hubungan yang dinormalisasi, dan hubungan antara satu hubungan yang dinormalisasi dan yang lain,
mencerminkan konsep dunia nyata dan hubungan timbal baliknya.

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

Tr. Indo Tanggal Jumlah

Abraha
1 12890 14-Okt-2003 −87
m

12904 15-Okt-2003 −50


Tr. Indo Tanggal Jumlah
Ishak 2
12898 14-Okt-2003 −21

Tr. Indo Tanggal Jumlah

12907 15-Okt-2003 −18


Yakub 3
14920 20-Nov-2003 −70

15003 27-Nov-2003 −60

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

Cust. Indo Tr. Indo Tanggal Jumlah

1 12890 14-Okt-2003 −87

1 12904 15-Okt-2003 −50

2 12898 14-Okt-2003 −21

3 12907 15-Okt-2003 −18

3 14920 20-Nov-2003 −70

3 15003 27-Nov-2003 −60

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.

Bentuk Normalisasi Database


Codd memperkenalkan konsep normalisasi dan apa yang sekarang dikenal sebagai bentuk
normal pertama (1NF) pada tahun 1970. Codd kemudian mendefinisikan bentuk normal kedua (2NF)
dan bentuk normal ketiga (3NF) pada tahun 1971.
Secara informal, relasi basis data relasional sering digambarkan sebagai "dinormalisasi" jika
memenuhi bentuk normal ketiga. Sebagian besar relasi 3NF bebas dari penyisipan, pembaruan, dan
anomali penghapusan.
Bentuk normalisasi database, dari UNF hingga 3NF, sebagai berikut :

• UNF: Formulir tidak dinormalisasi


• 1NF: Bentuk normal pertama
• 2NF: Bentuk normal kedua
• 3NF: Bentuk normal ketiga

UNF 1NF 2NF 3NF


(1970) (1970) (1971) (1971)

Kunci primer (tidak ada duplikat tupel)

Tidak ada grup berulang

Kolom atom (sel memiliki nilai tunggal)


Tidak ada dependensi parsial (nilai tergantung pada keseluruhan
setiap kunci Kandidat )

Tidak ada dependensi transitif (nilai hanya bergantung pada kunci


Kandidat )

Contoh normalisasi langkah demi langkah


Normalisasi adalah teknik desain database, yang digunakan untuk
merancang tabel database relasional hingga bentuk normal yang lebih tinggi. Prosesnya progresif,
dan tingkat normalisasi basis data yang lebih tinggi tidak dapat dicapai kecuali level sebelumnya
telah dipenuhi.
Itu berarti bahwa, memiliki data dalam bentuk tidak normal (paling tidak dinormalisasi)
dan bertujuan untuk mencapai tingkat normalisasi tertinggi, langkah pertama adalah memastikan
kepatuhan terhadap bentuk normal pertama , langkah kedua adalah memastikan bentuk normal
kedua terpenuhi, dan sampai bentuk normal ketiga.

Data Awal
Biarkan tabel database dengan struktur berikut:

Penulis Negara Jenis ID Nama


Judul Penulis Format Harga Subyek Halaman Ketebalan Penerbit
Kebangsaan Penerbit Publikasi Genre Genre

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.

Normalisai Pertama (1NF)


Untuk memenuhi 1NF, nilai-nilai di setiap kolom tabel harus berupa atom. Pada tabel
awal, Subjek berisi sekumpulan nilai subjek, artinya Subjek tidak mematuhi.
Salah satu cara untuk mencapai 1NF adalah dengan memisahkan duplikat menjadi beberapa kolom
menggunakan 'subjek' berulang kelompok:
Penulis Subjek Subjek Negara ID Nama
Judul Format Penulis Harga Subjek 3 Halaman Ketebalan Penerbit
Kebangsaan 1 2 penerbit Genre Genre

Memulai Desain dan Sampul Chad Basis Amerika


Amerika 49,99 MySQL Rancangan 520 Tebal Apress 1 Tutorial
Optimasi Basis Data MySQL keras Russell data Serikat

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

ID subjek Nama subjek

1 MySQL

2 Basis data

3 Rancangan

Penerbit

Publisher_ID Nama Negara

1 Apress Amerika Serikat


Dengan memisahkan data awal menjadi beberapa tabel akan memutus koneksi antara
data. Itu berarti hubungan antara tabel yang baru diperkenalkan perlu ditentukan. Perhatikan
bahwa kolom ID Penerbit di tabel Buku adalah kunci asing yang menyadari banyak-ke-
satu hubungan antara buku dan penerbit.
Sebuah buku dapat memuat banyak subjek, juga subjek yang sesuai dengan banyak buku. Itu
berarti juga hubungan banyak ke banyak harus didefinisikan, dicapai dengan membuat tabel tautan :

Judul - Subjek

Judul ID subjek

Memulai Desain dan Optimasi Basis Data MySQL 1

Memulai Desain dan Optimasi Basis Data MySQL 2

Memulai Desain dan Optimasi Basis Data MySQL 3

Sehingga satu tabel dalam bentuk tidak normal , sekarang ada 4 tabel yang sesuai dengan 1NF.

Bentuk Normal Kedua (2NF)


The Book tabel memiliki satu kunci kandidat , yang utama senyawa {Judul,
Format} . Pertimbangkan fragmen tabel berikut:

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

Judul Format Harga

Memulai Desain dan Optimasi Basis Data MySQL Sampul keras 49,99

Memulai Desain dan Optimasi Basis Data MySQL E-book 22.34

Model Relasional untuk Manajemen Database: Versi 2 E-book 13.88

Model Relasional untuk Manajemen Database: Versi 2 Paperback 39,99

Sekarang, tabel buku sesuai dengan 2NF .


Bentuk Normal Ketiga (3NF)
Tabel dalam bentuk normal ketiga (3NF) adalah tabel dalam 2NF yang tidak
memiliki dependensi transitif . Perhatikan tabel buku dengan lebih banyak baris (sebelumnya
dihilangkan karena singkatnya):

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

Belajar SQL Alan Beaulieu Amerika 338 Ramping 1 Tutorial 3

SQL Cookbook Anthony Molinaro Amerika 636 Tebal 1 Tutorial 3

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

Judul Penulis Penulis Kebangsaan Halaman Ketebalan ID Genre ID Penerbit

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

Belajar SQL Alan Beaulieu Amerika 338 Ramping 1 3

SQL Cookbook Anthony Molinaro Amerika 636 Tebal 1 3

Genre Buku

ID Genre Nama Genre

1 Tutorial

2 Ilmu pengetahuan populer

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).

Kasus : Rekam Medis Sederhana

NO Nama Usia (tahun) Poli


1 Rina 25 Penyakit Dalam
Penyakit THT
Penyakit Kulit

Berdasarkan tabel rekam medis sederhana tersebut buatlah ke dalam bentuk normal pertama
(1NF)!

---===000===---

Anda mungkin juga menyukai