Monday, May 21, 2018

Desain database Logis dan model data relational


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

Cara Instal DBMS ( MySQL/XAMPP )

Kelebihan, Kekurangan dan cara Install DBMS (MySQL / XAMPP) Database saat ini sudah menjadi kebutuhan hampir disemua bidang. Untuk me...