BAB III
PERANCANGAN BASIS DATA DGN TEKNIK NORMALISASI
1.1. RDBM
T
Teerrmmiinnoollooggii
Istilah formal Istilah
non formal Keterangan
Elemen data (data element),
rinci data (data item), entri (entry) Nilai data pada suatu baris-kolom tertentu pada suatu saat tertentu Atribut (attribute) Kolom, medan
data, medan, field
Nama yang diberikan untuk sekelompok rinci data yang mempunyai tipe, ukuran, dan domain yang sama. Record / tuple Baris / rekaman Sekumpulan atribut yang mempunyai hubungan terhadap
obyek tertentu
Relasi (relation) Tabel Sekumpulan record yang sejenis secara relasi Derajat (degree) Aritas (arity) Jumlah atribut dalam sebuah relasi
Kardinalitas (cardinality) Jumlah record dalam sebuah relasi Kerelasian (relationship) Hubungan antar relasi
Unary relation Relasi yang tersusun oleh satu atribut Binary relation Relasi yang tersusun oleh dua atribut Ternary relation Relasi yang tersusun oleh tiga atribut n-ary relation Relasi yang tersusun oleh n atribut
Key Satu atau gabungan atribut bersifat unik yang digunakan untuk mengidentifikasi setiap record dalam relasi Candidate Key / CK Satu atau gabungan minimal atribut bersifat unik yang
dapat digunakan untuk mengidentifikasi setiap record dalam relasi
Primary Key / PK Bagian dari CK yang dipilih sbg kunci utama dalam relasi Alternate Key / AK Bagian dari CK yang tidak dipilih sebagai kunci utama
dalam relasi Foreign Key / FK Kunci tamu
/ kunci asing Satu atau gabungan sembarang atribut yang menjadi PK dalam relasi lain yang mempunyai hubungan secara logik Domain Himpunan nilai yang memenuhi syarat
Schema Deskripsi hubungan logik secara global, termasuk di dalamnya nama dan deskripsi tipe dan ukuran atribut dan hubungan logik antar relasi basis data dlm lingkup sistem Subschema Deskripsi hubungan logik secara terpisah, termasuk di
dalamnya nama dan deskripsi tipe dan ukuran atribut dan hubungan logik antar relasi basis data dlm lingkup sub sistem aplikasi tertentu
Contoh Relasi: Relasi Mata_Kuliah
Kode_Mata_Kuliah Nama_Mata_Kuliah Sks Smt Status
MK-1001 Pemrograman I 2 1 W
MK-2002 Pemrograman II 2 2 W
Relasi : Mata_Kuliah Derajat : 5 (=5-ary)
Atribut : Kode_Mata_Kuliah, Nama_Mata_Kuliah, Sks, Smt, Status Record #1 : MK-1001, Pemrograman I, 2, 1, W
Record #2 : MK-2002, Pemrograman II, 2, 1, W Record #3 : MK-3003, Pemrograman III, 2, 1, W Kardinalitas : 3
Candidate Key/CK : Kode_Mata_Kuliah dan Nama_Mata_Kuliah Primary Key : Kode_Mata_Kuliah
Alternate Key : Nama_Mata_Kuliah Foreign Key/FK : -
Domain :
Kode_Mata_Kuliah : MK-1001, MK-2002, MK-3003
Nama_Mata_Kuliah : Pemrograman I, Pemrograman II, Pemrograman III
Sks : 2
Smt : 1, 2, 3
Status : W
Mata_Kuliah_Schema : (Kode_Mata_Kuliah (Char[8], Nama_Mata_Kuliah Char[50], Sks Num[1], Smt Num[1], Status Char[1]), Primary Key
Kode_Mata_Kuliah)
K
KaarraakktteerriissttiikkRReellaassii
Æ Semua entri single value, bukan grup perulangan, atomic value Æ Semua entri pada suatu atribut mempunyai tipe dan ukuran yang sama Æ Masing-masing atribut mempunyai nama yang unik
Æ Pada sebuah relasi tidak ada dua record yang identik K
KuunncciiRReellaassii
Jenis:
Æ Kunci sederhana (simple key) Kunci komposit (composite key) Macam:
Æ Kunci kandidat (Candidate Key / CK) Æ Kunci primer (Primary Key / PK Æ Kunci alternatif (Alternate Key / AK)
Æ Kunci penghubung / asing (Foreign Key / FK) Aturan (rule) kunci relasi:
Æ Integritas kesatuan / integritas entitas (entity integrity) Æ Integritas referensial (referential integrity)
K Keerreellaassiiaannaannttaarrrreellaassii Æ 1-ke-1 Æ 1-ke-n / n-ke-1 Æ n-ke-n A Annoommaalllliieess Æ delete aomally Æ insert anomally Æ update anomally B BeebbeerraappaaDDeeffiinniissiiRReellaassii((RReellaattiioonn))
1. Relasi tak gayut: sebuah relasi yang berasal dari entitas reguler / dominan. Ciri relasi tak gayut adalah tidak memiliki FK di dalamnya
2. Relasi asosiatif: sebuah relasi yang mempunyai jenis kerelasian n-ke-n. Ciri relasi asosistif adalah memiliki lebih dari 1 FK
3. Relasi karakteristik: sebuah relasi yang berasal dari entitas dependen / tak gayut / tak bebas. Ciri relasi karakteristik umumnya mempunyai jenis kerelasian n-ke-1 terhadap relasi yang menjadi induknya
4. Subrelasi: sebuah relasi yang berasal dari sub type entity. Saat akhir perancangan, subrelasi biasanya digabungkan dengan super relasi
D
DaattaaDDeeppeennddeennccyy
Æ FD : R.X →R.Y
Jika setiap nilai X berkaitan dengan sebuah nilai pada Y
Æ FFD: R.X →R.Y
Jika Y functionally dependency thd X dan Y tidak functionally dependency thd bagian tertentu dari X
Æ TDF: R.X →R.Y→R.Z
Jika Y functionally dependency thd X dan Z functionally dependency thd Y Æ TD : R.X ↔R.Y
Jika Y functionally dependency thd X dan X functionally dependency thd Y 1.2. Perancangan Database Dengan Teknik Normalisasi
Normalisasi: suatu teknik yang menstrukturkan / memecah / mendekomposisi data dalam cara-cara tertentu untuk mencegah timbulnya permasalahan pengolahan data dalam basis data. Normalisasi menghasilkan relasi yang memiliki:
Æ record yang konsisten secara logik Æ record yang mudah dimengerti Æ record yang sederhana dipelihara
Æ record yang mudah ditampilkan kembali Æ kerangkapan minimal
Level Normal 1. UNF, jika
Æ non flat file (data disimpan sesuai kedatangan, tidak memiliki struktur tertentu, terjadi duplikasi atau tidak lengkap)
Æ memuat set atribut berulang (repeated group)Æ non single value Æ memuat atribut non atomic value
2. 1NF, jika
Æ seluruh atribut bernilai atomik (atomic value) Æ seluruh atribut bernilai tunggal (single value) Æ tidak memuat set atribut berulang
Æ semua record mempunyai atribut yang sama Permasalahan dalam 1NF:
Æ Tidak dapat menyisipkan informasi parsial
Æ Terhapusnya informasi ketika menghapus sebuah record
Æ Pembaharuan atribut non kunci mengakibatkan sejumlah record harus diperbaharui
Mengubah UNF menjadi 1NF:
Æ Melengkapi nilai-nilai dalam atribut Æ Mengubah struktur relasi
3. 2NF, jika:
Æ memenuhi kriteria 1 NF
Æ semua atribut non kunci FD pada PK Permasalahan 2NF:
Æ Kerangkapan data
Æ Pembaharuan yang tidak benar menimbulkan data inconsistency Æ Pembaharuan data tidak efisien
4. 3NF, jika:
Æ Jika memenuhi kriteria 2NF
Æ Jika setiap atribut non kunci tidak TDF (nontransitive dependeny) terhadap PK Permasalahan dalam 3NF : duplikasi rinci data pada PK
5. BCNF, jika:
Æ memenuhi kriteria 3NF
Æ semua atribut penentu (determinan) merupakan CK 6. 4NF, jika:
Æ memenuhi kriteria BCNF
Æ setiap atribut di dalamnya tidak mengalami ketergantungan pada banyak nilai 7. 5NF, jika
Æ kerelasian antar data dalam relasi tidak dapat direkonstruksi dari struktur relasi yang lebih sederhana
8. DKNF, jika
setiap batasan dapat disimpulkan secara sederhana dengan mengetahui sekumpulan nama atribut dan domainnya
Langkah Normalisasi: Contoh 1:
Supplier / UNF
Kode_Supplier Status Kota Kode_Barang Jumlah_Barang
S01 10 Jakarta B01 100 B02 150 B03 200 S02 20 Surabaya B02 250 B04 200 S03 30 Yogyakarta B05 150 B06 100
Æ Lengkapi nilai-nilai rinci data dalam relasi Supplier_1 / 1NF
Kode_Supplier Status Kota Kode_Barang Jumlah_Barang
S01 10 Jakarta B01 100 S01 10 Jakarta B02 150 S01 10 Jakarta B03 200 S02 20 Surabaya B02 250 S02 20 Surabaya B04 200 S03 30 Yogyakarta B05 150 S03 30 Yogyakarta B06 100
Æ Tentukan kunci relasi, FD, dan TDF
Æ Dekomposisi relasi berdasarkan FD (2NF masih memuat TDF) Diagram ketergantungan data dalam Supplier_1:
Kode_Supplier
Kode_Barang
Status
Jumlah_Barang
Supplier_2 / 2NF
Kode_Supplier Status Kota Barang
Kode_Supplier Kode_Barang Jumlah_Barang Æ Dekomposisi relasi berdasarkan TDF
Logical Record Structure
Supplier_3 / 3NF Kode_Supplier * Status ** Supplier_3 Kode_Supplier * Kode_Barang * Jumlah_Barang Barang Status * Kota Kota Kode_Supplier Status Kota Status Kota Barang
Kode_Supplier Kode_Barang Jumlah_Barang Langkah selanjutnya:
o Perancangan Detail Spesifikasi Struktur Relasi
Contoh 2: KRS / UNF
NIM Nama_Mahasiswa Kode_MK_1 Sks_1 Tahun_Smt_1 Kode_MK_2 Sks_2 Tahun_Smt_2 Æ Ubah struktur relasi (dari horizontal menjadi vertikal)
KRS_1 / 1NF
NIM Nama_Mahasiswa Kode_MK Sks Tahun_Smt Æ Tentukan kunci relasi, FD, dan TDF
Æ Dekomposisi relasi berdasarkan FD (2NF masih memuat TDF) Diagram ketergantungan data KRS_1:
Kode_MK Nama_Mahasiswa
Sks NIM
KRS_2 / 2NF
NIM Tahun_Smt Kode_MK Sks Mahasiswa
NIM Nama_Mahasiswa
Æ Dekomposisi berdasarkan TDF
Logical Record Structure
NIM * Tahun_Smt * Kode_MK * KRS_3 NIM * Nama_Mahasiswa Mahasiswa Kode_MK * Sks Mata_Kuliah KRS_3 / 3NF
NIM Tahun_Smt Kode_MK Mata_Kuliah
Kode_MK Sks Mahasiswa
NIM Nama_Mahasiswa Langkah selanjutnya:
o Perancangan Detail Spesifikasi Struktur Relasi
Contoh 3: DOSEN_WALI / UNF Tempat_Tgl_Lahir NIM Nama_Mahasiswa Tgl_Lahir Tpt_Lhr Kode_Dosen Nama_Dosen Æ Ubah struktur relasi (dari non atomic menjadi atomic)
DOSEN_WALI_1 / 1NF
NIM Nama_Mahasiswa Tempat_Lahir Tgl_Lahir Kode_Dosen Nama_Dosen Æ Tentukan kunci relasi, FD, dan TDF
Æ Dekomposisi relasi berdasarkan FD (2NF masih memuat TDF) Diagram ketergantungan data DOSEN_WALI_1:
Tempat_Lahir Nama_Mahasiswa Nama_Dosen NIM Kode_Dosen Tgl_Lahir
DOSEN_WALI_2 / 2NF
NIM Kode_Dosen Nama_Dosen Mahasiswa
NIM Nama_Mahasiswa Tempat_Lahir Tgl_Lahir Æ Dekomposisi berdasarkan TDF
Logical Record Structure
NIM * Kode_Dosen* KRS_3 NIM * Nama_Mahasiswa Tempat_Lahir Tgl_Lahir Mahasiswa Kode_Dosen * Nama_Dosen Dosen DOSEN_WALI_3 / 3NF NIM Kode_Dosen DOSEN Kode_Dosen Nama_Dosen Mahasiswa
NIM Nama_Mahasiswa Tempat_Lahir Tgl_Lahir Langkah selanjutnya:
o Perancangan Detail spesifikasi struktur relasi E
EffeekkNNoorrmmaalliissaassii
Æ munculnya duplikasi rinci data pada FK
Æ kemungkinan tidak terpenuhinya integritas referensial Æ inefisiensi menampilkan kembali data