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 :
- Setiap relasi (atau tabel) dalam database memiliki nama yang unik.
- Sebuah entri di persimpangan setiap baris dan kolom adalah atom (atau bernilai tunggal). Tidak mungkin ada atribut multinilai adalah relasi.
- Setiap baris itu unik, tidak ada dua deretan dalam suatu relasi yang identik.
- Setiap atribut (atau kolom) dalam tabel memiliki nama yang unik.
- Urutan kolom (kiri atau kanan) tidak signifikan. kolom suatu relasi dapat dipertukarkan tanpa mengubah arti atau penggunaan relasinya.
- 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
Relasi Binary
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.
Sumber :
Ebook Modern Database Management Eighth Edition : Chapter 5 (Jeffrey A. Hoffer, Marry B. Prescott, Fred R. McFadden)