Desain database Logis dan
model data relational
Desain
database adalah tentang pembuatan struktur database yang stabil, dengan
mempunyai persyaratan-persyaratan yang tepat. Hal itu sebagai langkah penting
yang harus ada untuk pembuatan sebuah database yang tepat. Dan
persyaratan-persyaratan itu harus dilakukan dengan hati-hati. Disini kita
memiliki dua alasan untuk menekankan model data relasional. Pertama, model data
relasional paling banyak digunakan dalam aplikasi database kontemporer. Kedua,
beberapa prinsip desain database logis untuk model relasional juga berlaku bagi
model logis lainnya.
Model database
relational
Pada
tahun 1970, E. F. Codd memperkenalkan model data relational, kemudian diikuti
oleh IBM (Codd, 1970). Pada awalnya
dilakukan dua proyek penelitian untuk membuktikan kelayakan model relational
dan prototype pengembangan sistemnya. Pada akhir 1970, IBM mengembangkan sistem
yang dikenal dengan sistem R (prototype untuk relational DBMS-RDBMS). Yang
kedua di Universitas alifornia, Berkeley mengembangkan RDBMS yang berorientasi
akademis.
Model
data relational merepresentasika datadalam bentik tabel. Dalam model data
relational terdapat 3 komponen :
1. Stuktur
data, data dikelompokkan dalam bentuk tabel ( baris dan kolom)
2. Manipulasi
data, dengan menggunakan operasi yang kuat (database sql), untuk memanipulasi
data yang tersimpan dalam relasi.
3. Integritas
data, menentukan aturan untuk menjaga integritas data pada saat data tersebut
dimanipulasi.
Relasi Struktur Data
Dalam
pemodelan database relational mendefinisikan sebuah relasi dari tabel 2 dimensi
yang terdiri dari kolom dan baris dengan indeks acak. Baris dalam tabel berisi
record (data/atribut) sebagai contoh Karyawan1
: Id_karyawan, Nama, Departemen, Gaji. Dalam penulisannya kita dapat
menyingkat nama relasi itu diikuti atributnya.
Karyawan1(Id_karyawan,
Nama, Departemen, Gaji)
Relation Key
Didalam
relasi setiap atribut digunakan semacam kunci (key) sebagai kunci primer yang
digunakan untuk memanggil atribut dalam tabel relasi. Karena itu setiap nama
relasi pasti memiliki satu atribut yang dijadikan seabgai kunci primer. Dan
biasanya kunci primer ini ditandai dengan adanya garis bawah pada nama
atributnya. Seperti contoh diatas : .
Karyawan1(Id_karyawan,
Nama, Departemen, Gaji)
Dapat
dilihat bahwa pada Id_Karyawan terdapat garis bawah, itu menandakan bahwa Id_Karyawan
merupakan primary key dari relasi Karyawan1.
Dalam relasi selain adanya kunci primer, bisa juga kita dapati entitas
asosiatif dimana entitas ini tidak harus memiliki pengenal. Karena entitas ini
biasanya merupakan pengenal dari attribute pada relasi yang lainnya. Pengenal
(primary key) pada satu entitas dapat menjadi foreign key pada entitas hasil
relational many-to-many pada entitas-entitas utama (Normal). Jadi foreign key
merupakan attribute database yang melayani primary key dari relasi yang lain
dalam database yang sama.
Atau
dapat disimpulkan Foreign Key adalah Òeld pengenal yang berisi primary key dari
suatu relasi lain. Key ini merepresentasikan hubungan antara record di relasitsb
dengan record di relasi pemilik primary key. Key dapat terdiri dari satu Òeld
(sederhana) atau lebih dari satu Òeld (komposit).
Contoh Diagram ER
Contoh Skema Logis
Properti (Sifat) Relasi
Relasi
dapat di definisikan sebagai hubungan tabel data dua dimensi. Tetapi tidak
semua hubungan antar tabel adalah sebuah relasi. Tetapi relasi sendiri memiliki
properti yang berbeda dari hubungan tabel no relational. Property (sifat) dari
relasi dapat di didefinisikan sebagai berikut :
1. Setiap
relasi (atau tabel) dalam database memiliki nama yang unik.
2. Sebuah
entri di persimpangan setiap baris dan kolom adalah atom (atau bernilai
tunggal). Tidak mungkin ada atribut multinilai adalah relasi.
3. Setiap
baris itu unik, tidak ada dua deretan dalam suatu relasi yang identik.
4. Setiap
atribut (atau kolom) dalam tabel memiliki nama yang unik.
5. Urutan
kolom (kiri atau kanan) tidak signifikan. kolom suatu relasi dapat
dipertukarkan tanpa mengubah arti atau penggunaan relasinya.
6. Urutan
baris (atas ke bawah) tidak signifikan. seperti kolom, baris relasi dapat
dipertukarkan atau disimpan dalam urutan apa pun.
Mengubah Diagram E-R ke
Relasi
Memetakan hubungan binary
Satu-ke-Banyak (one-to-many)
Primary
key di pihak satu menjadi foreign key di pihak banyak.
Skema
Hubungan Binary 1:N
Skema
Hubungan antara KONSUMEN dan PESANAN
Memetakan hubungan
binary Banyak-ke-Banyak (many-to-many)
Buat
relasi baru dengan primary key
komposit yang terdiri dari primary key dari kedua entitas.
Diagram
E-R (N:N)
Memetakan hubungan
binary Satu-ke-Satu (one-to-one)
Primary
key di pihak wajib menjadi foreign key di pihak opsional.
Skema
Hubungan Binary 1:1
Relasi Unary
Juga
disebut hubungan rekursif. dua kasus yang paling penting dari relasi unary adalah
satu-ke-banyak dan banyak-ke-banyak.
Memetakan relasi unary
Satu-ke-Banyak (1:N)
foreign
key bersifat rekursif (dalam relasi yang sama).
Skema
Relasi Unary 1:N
Memetakan relasi unary
Banyak-ke-Banyak (N:N)
Menjadi
dua relasi:
·
Satu untuk tipe
entitas.
·
Satu untuk relasi
asosiatif dengan primary key yang terdiri dari dua field, yang keduanya mengacu
pada primary key tipe entitas diatas.
Skema
relasi unary N:N
Relasi Ternary
Satu
relasi untuk merepresentasikan tiap entitas dan satu relasi untuk entitas asosiatif
(total empat relasi). Primary key dari setiap entitas yang terlibat dalam
hubungan dijadikan foreign key dalam relasi entitas asosiatif.
Skema
relasi tenary
Skema Relasi Tenary N:N
Normalisasi Data
Normalisasi skema logis
Melakukan
validasi dan penyempurnaan rancangan logis database sehingga memenuhi format
tertentu (form normal) untuk meminimasi duplikasi data. Definisi teknis: proses
dekomposisi atau memecah relasi-relasi yang mengandung anomali menjadi
relasi-relasi kecil yang terstruktur dengan baik (memenuhi form normal).
Form Normal
Suatu
skema relasi-relasi yang mengandung duplikasi data minimal sehingga
memungkinkan penambahan, penghapusan, dan pengubahan record secara efisien
dengan resiko inkonsistensi data minimal.
Menjadikan Form Normal
Tujuannya
adalah untuk menghilangkan anomali-anomali. Anomali Penambahan Data Penambahan
record baru mengharuskan duplikasi nilai-nilai atribut tertentu. Anomali
Penghapusan Data Penghapusan record dapat mengakibatkan hilangnya nilai atribut
yang hanya terdapat pada record tsb. (yang mungkin masih dibutuhkan). Anomali
Modifikasi Data Pengubahan nilai atribut suatu record mengharuskan pengubahan atribut
yang sama pada banyak record-record lain.
Contoh
Anomali Penambahan :
Anomali
penambahan : Tidak dapat memasukkan pegawai baru yang tidak mengambil kursus.
Contoh
Anomali Penghapusan :
Anomali
penghapusan : Jika pegawai dengan NIP 140 dihapus, informasi tentang kursus Tax
Acc akan hilang.
Contoh
Anomali Perubahan (Modifikasi)
Anomali
modifikasi : menaikan gaji pegawai dengan NIP 100 mengharuskan perubahan pada
beberapa record.
Penyebab terjadinya
anomaly
Mengapa
anomali-anomali ini terjadi?
Karena
menggabungkan dua tema (konsep entitas) dalam satu relasi. Ini mengakibatkan
duplikasi-duplikasi sebagai akibat dari ketergantungan antar atribut yang tidak
pada tempatnya. Untuk mencegah terjadinya anomaly maka perlu dilakukan Normalisasi.
Oleh karena itu secara umum prinsip suatu tabel seharusnya tidak
merepresentasikan lebih dari satu tipe entitas.
Langkah-langkah
melakukan Normalisasi
Form Normal Ke-1 (1NF)
Tidak
ada atribut bernilai-banyak Setiap nilai atribut adalah atomik. Merupakan
syarat suatu relasi.
Contoh
berikut tidak memenuhi syarat sebagai “relasi”:
Contoh
suatu relasi, yang memenuhi 1NF
Dependensi Fungsional
Nilai
suatu atribut yang disebut atribut determinan dalam suatu relasi menentukan
nilai dari atribut yang lain.
Kandidat Key
adalah
atribut determinan Atribut pengenal dengan nilai unik. Salah satu dari
kandidat-kandidat key dipilih menjadi primary key. Setiap atribut yang bukan
primary key (non-key) secara fungsional tergantung (dependen) pada primary key.
Form Normal ke-2 (2NF)
Syarat:
memenuhi 1NF dan setiap atribut non-key secara fungsional bergantung penuh
kepada SEMUA primary key.
Tidak
ada dependensi fungsional parsial : Nilai setiap atribut non-key harus ditentukan
oleh nilai atribut-atribut key secara keseluruhan, bukan hanya sebagian dari
atribut-atribut key tsb.
Normalisasi
: dekomposisi menjadi dua relasi terpisah
Form Normal ke-3 (3NF)
2NF
plus tidak ada dependensi transitif: Satu atribut secara fungsional menentukan
nilai atribut kedua yang pada gilirannya menentukan nilai atribut ketiga.
Relasi dengan
dependensi transitif:
Normalisasi:
dekomposisi relasi SALES menjadi dua relasi
Semoga
materi ini dapat bermanfaat.
Sumber
:
Ebook
Modern Database Management Eighth Edition : Chapter 5 (Jeffrey A. Hoffer, Marry
B. Prescott, Fred R. McFadden)
No comments:
Post a Comment