BAB II - elista:.

advertisement
1
BAB III
PERANCANGAN BASIS DATA DGN TEKNIK NORMALISASI
1.1.
RDBM
Terminologi
Istilah formal
Istilah
non formal
Elemen data (data element),
rinci data (data item), entri (entry)
Atribut (attribute)
Kolom, medan
data,
medan, field
Record / tuple
Baris / rekaman
Relasi (relation)
Tabel
Derajat (degree)
Aritas (arity)
Kardinalitas (cardinality)
Kerelasian (relationship)
Unary relation
Binary relation
Ternary relation
n-ary relation
Key
Candidate Key / CK
Primary Key / PK
Alternate Key / AK
Foreign Key / FK
Kunci tamu
/ kunci asing
Domain
Schema
Subschema
Contoh Relasi:
Relasi Mata_Kuliah
Kode_Mata_Kuliah
MK-1001
MK-2002
MK-3003
Keterangan
Nilai data pada suatu baris-kolom tertentu pada suatu saat
tertentu
Nama yang diberikan untuk sekelompok rinci data yang
mempunyai tipe, ukuran, dan domain yang sama.
Sekumpulan atribut yang mempunyai hubungan terhadap
obyek tertentu
Sekumpulan record yang sejenis secara relasi
Jumlah atribut dalam sebuah relasi
Jumlah record dalam sebuah relasi
Hubungan antar relasi
Relasi yang tersusun oleh satu atribut
Relasi yang tersusun oleh dua atribut
Relasi yang tersusun oleh tiga atribut
Relasi yang tersusun oleh n atribut
Satu atau gabungan atribut bersifat unik yang digunakan
untuk mengidentifikasi setiap record dalam relasi
Satu atau gabungan minimal atribut bersifat unik yang
dapat digunakan untuk mengidentifikasi setiap record
dalam relasi
Bagian dari CK yang dipilih sbg kunci utama dalam relasi
Bagian dari CK yang tidak dipilih sebagai kunci utama
dalam relasi
Satu atau gabungan sembarang atribut yang menjadi PK
dalam relasi lain yang mempunyai hubungan secara logik
Himpunan nilai yang memenuhi syarat
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
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
Nama_Mata_Kuliah
Pemrograman I
Pemrograman II
Pemrograman III
Sks
2
2
2
Smt
1
2
3
Status
W
W
W
2
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)
Karakteristik Relasi
Æ 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
Kunci Relasi
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)
Kerelasian antar relasi
Æ 1-ke-1
Æ 1-ke-n / n-ke-1
Æ n-ke-n
Anomallies
Æ delete aomally
Æ insert anomally
Æ update anomally
Beberapa Definisi Relasi (Relation)
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
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
Data Dependency
Æ 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
Æ Penyimpangan penyisipan, penghapusan dan pembaharuan
4
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
S01
10
Kota
Jakarta
Kode_Barang
B01
B02
B03
S02
20
Surabaya
B02
B04
S03
30
Yogyakarta B05
B06
Æ Lengkapi nilai-nilai rinci data dalam relasi
Jumlah_Barang
100
150
200
250
200
150
100
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
Status
Kode_Barang
Jumlah_Barang
Kota
5
Supplier_2 / 2NF
Kode_Supplier
Status
Kota
Barang
Kode_Supplier
Kode_Barang
Jumlah_Barang
Æ Dekomposisi relasi berdasarkan TDF
Logical Record Structure
Barang
Kota
Kode_Supplier *
Kode_Barang *
Jumlah_Barang
Status *
Kota
Supplier_3
Kode_Supplier *
Status **
Supplier_3 / 3NF
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
Æ 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:
NIM
Nama_Mahasiswa
Kode_MK
Tahun_Smt
Sks
Sks_2
Tahun_Smt_2
6
KRS_2 / 2NF
NIM Tahun_Smt
Kode_MK
Sks
Mahasiswa
NIM Nama_Mahasiswa
Æ Dekomposisi berdasarkan TDF
Logical Record Structure
Mahasiswa
Mata_Kuliah
NIM *
Nama_Mahasiswa
Kode_MK *
Sks
KRS_3
NIM
*
Tahun_Smt *
Kode_MK *
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
NIM
Nama_Mahasiswa
Tempat_Tgl_Lahir
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
Æ Tentukan kunci relasi, FD, dan TDF
Æ Dekomposisi relasi berdasarkan FD (2NF masih memuat TDF)
Diagram ketergantungan data DOSEN_WALI_1:
NIM
Nama_Mahasiswa
Tempat_Lahir
Tgl_Lahir
Kode_Dosen
Nama_Dosen
Nama_Dosen
7
DOSEN_WALI_2 / 2NF
NIM Kode_Dosen Nama_Dosen
Mahasiswa
NIM Nama_Mahasiswa
Tempat_Lahir
Æ Dekomposisi berdasarkan TDF
Tgl_Lahir
Logical Record Structure
Mahasiswa
Dosen
Kode_Dosen *
Nama_Dosen
NIM *
Nama_Mahasiswa
Tempat_Lahir
Tgl_Lahir
KRS_3
NIM
*
Kode_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
Efek Normalisasi
Æ munculnya duplikasi rinci data pada FK
Æ kemungkinan tidak terpenuhinya integritas referensial
Æ inefisiensi menampilkan kembali data
Æ Batasan penerapan
Download