Errors using inadequate data are much less than using no data at all.
- Charles Babbage
Prodi Statistika dan Sains Data IPB University
Studi Kasus
Normalisasi
Data pasien pada Rumah Sakit XYZ:
Anak. Insertion anomaliesR102. Deletion anomaliesKandungan menjadi Obgyn. Modification anomaliesBatasan antara dua gugus atribut pada database yang keberadaannya saling bergantung satu sama lain.
Jika diketahui suatu database tunggal dinotasikan dengan skema relasi \(R = \{A_1, A_2, ..., A_n\}\) kemudian hubungan dua gugus atribut \(X\) dan \(Y\) dituliskan \(X \rightarrow Y\) sebagai subset dari \(R\) dengan bentuk relasi \(r(R)\). Batasan yang ditemui pada record/tuple pada \(r\) terjadi dimana \(t_1[X] = t_2[X]\) memiliki suatu relasi yang seharusnya juga ada pada \(t_1[Y] = t_2[Y]\).
Dependensi fungsional pada tabel hospital:
sip \(\rightarrow\) {internis, poli}no_pasien \(\rightarrow\) {pasien}{pasien, kamar, poli} \(\rightarrow\) no_pasienNormalisasi database diperkenalkan oleh Codd (1972) dimana serangkaian pengujian dilakukan pada skema diagram untuk menjamin suatu basis data memenuhi bentuk normalnya (normal form/NF).
Prosesnya sendiri dilakukan dengan cara mengelompokkan atribut data yang membentuk entitas sederhana, tidak berulang, fleksibel, dan mudah beradaptasi sehingga database yang dibuat memiliki kualitas yang baik.
Codd mengajukan tiga bentuk yang dikenal dengan 1NF, 2NF, dan yang paling kuat yaitu 3NF atau dikenal dengan sebutan Boyce-Codd Normal Form (BCNF).
Suatu tabel dikatakan 1NF jika dan hanya jika setiap atribut dari data tersebut hanya memiliki nilai tunggal dalam satu baris
1NF tidak memperkenankan adanya duplikasi data, data dengan nilai yang bervariasi, data yang berkelompok, maupun data yang memiliki relasi di dalam relasi.
Syarat 2NF adalah tidak diperkenankan adanya dependensi fungsional secara parsial terhadap PK dalam sebuah tabel
Tabel dokter
Tabel pasien
Pada kasus tersebut sip (Surat Izin Praktik) hanya bergantung pada internis dan poli tidak pada atribut lain. Hal sama pada pasien, kamar, kelas yang bergantung pada atribut kunci no_pasien.
Pada 3NF tidak diperkenankan adanya dependensi fungsional transitif dalam sebuah tabel
Tabel dokter
Tabel pasien
Tabel kamar
Sebelumnya, pada tabel pasien atribut kelas tidak bergantung langsung pada PK no_pasien melainkan pada atribut kamar sehingga pada 3NF, atribut tersebut dipisah menjadi suatu tabel baru yaitu tabel kamar.
Tabel pasien
Tabel tindakan
Tabel dokter
Tabel kamar_untuk_pasien
Tabel kamar
Proses input data dapat dilakukan dengan dua cara, pertama:
dan kedua: