Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Perancangan Skema Logis dengan Model Relasional

Presentasi serupa


Presentasi berjudul: "Perancangan Skema Logis dengan Model Relasional"— Transcript presentasi:

1 Perancangan Skema Logis dengan Model Relasional

2 Sasaran Tinjauan ringkas:
Konsep-konsep utama model database relasional. Teknik-teknik perancangan database relasional dari skema konsepsual ke skema logis. Prinsip-prinsip dasar normalisasi rancangan logis database.

3 Konsep Relasi Dalam model database relasional suatu tipe entitas data direpresentasikan oleh suatu relasi. Suatu relasi adalah sebuah tabel dua dimensi: Tabel terdiri dari baris-baris (record), dan kolom-kolom (field). Setiap field memiliki nama unik, dan tidak bisa memiliki lebih dari satu nilai. Setiap record dalam tabel (merepresentasikan instan entitas) bersifat unik: tidak boleh ada duplikasi.

4 Hubungan Dalam Model Relasional
Hubungan antar entitas dalam model database relasional direpresentasikan dengan adanya atribut yang sama pada masing-masing relasi yang berhubungan. Field atribut yang dijadikan penghubung disebut key.

5 Key Key adalah field pengenal, macamnya:
Primary Key adalah field pengenal yang bernilai unik untuk setiap record dalam relasi. Misalnya nomor induk pegawai, nomor KTP, dsb. Foreign Key adalah field pengenal yang berisi primary key dari suatu relasi lain. Key ini merepresentasikan hubungan antara record di relasi tsb dengan record di relasi pemilik primary key. Key dapat terdiri dari satu field (sederhana) atau lebih dari satu field (komposit).

6 Contoh Diagram E-R CUSTOMER Customer_ID

7 Contoh Skema Logis Primary Key
Foreign Key (implementasi hubungan 1:N antara CUSTOMER dan ORDER) Primary Key Komposit (sebagai pengenal unik setiap ORDER LINE). Masing-masing adalah Foreign Key (implementasi hubungan M:N antara ORDER dan PRODUCT)

8 Dari Diagram E-R ke Relasi
Memetakan hubungan binary Satu-ke-Banyak Primary key di pihak satu menjadi foreign key di pihak banyak. Banyak-ke-Banyak Satu-ke-Satu

9 Skema Hubungan Binary 1:N
Hubungan antara KONSUMEN dan PESANAN Kode_Konsumen Nama_Konsumen Alamat_Konsumen KONSUMEN Satu wajib Memesan Banyak opsional Kode_Pesanan PESANAN Tgl_Pesanan

10 Skema Hubungan Binary 1:N
KONSUMEN KODE_KONSUMEN NAMA_KONSUMEN ALAMAT_KONSUMEN Tidak ada nilai nol pada foreign key, karena kardinalitas minimumnya adalah wajib PESANAN KODE_PESANAN TGL_PESANAN KODE_KONSUMEN Foreign key

11 Dari Diagram E-R ke Relasi
Memetakan hubungan binary Satu-ke-Banyak Banyak-ke-Banyak Buat relasi baru dengan primary key komposit yang terdiri dari primary key dari kedua entitas. Satu-ke-Satu

12 Skema Hubungan Binary N:N
Diagram E-R (M:N) Satuan_Ukuran Alamat_ Pemasok Harga_Pasaran Kode_Bahan Harga_Satuan Nama_ Pemasok Kode_Pemasok BAHAN BAKU PEMASOK Memasok Hubungan Memasok harus dijadikan entitas asosiatif

13 Skema Hubungan Binary N:N
BAHAN BAKU KODE_BAHAN HARGA_PASARAN SATUAN_UKURAN primary key komposit DAFTAR HARGA Relasi “interseksi” baru KODE_BAHAN KODE_PEMASOK HARGA_SATUAN foreign key PEMASOK KODE_PEMASOK NAMA_PEMASOK ALAMAT_PEMASOK

14 Dari Diagram E-R ke Relasi
Memetakan hubungan binary Satu-ke-Banyak Banyak-ke-Banyak Satu-ke-Satu Primary key di pihak wajib menjadi foreign key di pihak opsional.

15 Skema Hubungan Binary 1:1
Satu wajib Satu opsional

16 Skema Hubungan Binary 1:1

17 Dari Diagram E-R ke Relasi
Memetakan hubungan unary Satu-ke-Banyak – foreign key bersifat rekursif (dalam relasi yang sama). Banyak-ke-Banyak

18 Skema Hubungan Unary 1:N

19 Dari Diagram E-R ke Relasi
Memetakan hubungan unary Satu-ke-Banyak Banyak-ke-Banyak – 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.

20 Skema Hubungan Unary N:N

21 Dari Diagram E-R ke Relasi
Memetakan hubungan 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.

22 Skema Hubungan Ternary

23 Primary key HARUS bernilai unik
Skema Hubungan Ternary N:N Primary key HARUS bernilai unik

24 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).

25 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.

26 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.

27 Contoh Anomali Penambahan
NIP Nama Departemen Gaji Kursus TglLulus Anomali penambahan Tidak dapat memasukkan pegawai baru yang tidak mengambil kursus.

28 Contoh Anomali Penghapusan
NIP Nama Departemen Gaji Kursus TglLulus Anomali penghapusan Jika pegawai dengan NIP 140 dihapus, informasi tentang kursus Tax Acc akan hilang.

29 Contoh Anomali Pengubahan
NIP Nama Departemen Gaji Kursus TglLulus Anomali modifikasi – menaikan gaji pegawai dengan NIP 100 mengharuskan perubahan pada beberapa record.

30 Penyebab Anomali Solusi: Normalisasi
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. Solusi: Normalisasi Prinsip umum: suatu tabel seharusnya tidak merepresentasikan lebih dari satu tipe entitas.

31 Langkah-langkah Normalisasi
Tabel dengan atribut bernilai banyak Form Normal 1 Form Normal 2 Form Normal 3 Hilangkan dependensi parsial transitif

32 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”: NIP Nama Departemen Gaji Kursus TglLulus

33 Form Normal ke-1 (1NF) Contoh suatu relasi, yang tentunya memenuhi 1NF: NIP Nama Departemen Gaji Kursus TglLulus

34 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.

35 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.

36 Form Normal ke-2 (2NF) NIP, Kursus  TglLulus
Dependensi pada seluruh primary keys NIP, Kursus  TglLulus NIP Kursus TglLulus Gaji Departemen Nama NIP  Nama, Departemen, Gaji Dependensi pada sebagian dari primary keys Jadi, TIDAK memenuhi Form Normal ke-2!!

37 Form Normal ke-2 (2NF) Normalisasi: dekomposisi menjadi dua relasi terpisah Keduanya memiliki dependensi fungsional penuh NIP Nama Departemen Gaji Kursus TglLulus NIP

38 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.

39 Form Normal ke-3 (3NF) Relasi dengan dependensi transitif:
Kode_Pelanggan Nama Salesman Wilayah Catatan: setiap salesman hanya melayani satu wilayah.

40 Form Normal ke-3 (3NF) Tetapi Kode_Pelanggan Nama Salesman Wilayah
Kode_Pelanggan  Salesman Kode_Pelanggan  Wilayah Sudah memenuhi 2NF Tetapi Kode_Pelanggan  Salesman  Wilayah Ada dependensi transitif Jadi, tidak memenuhi 3NF

41 Form Normal ke-3 (3NF) Normalisasi: dekomposisi relasi SALES menjadi dua relasi. Kode_Pelanggan Nama Salesman Wilayah

42 Form Normal ke-3 (3NF) Tidak ada lagi dependensi transitif.
Salesman  Wilayah Kode_Pelanggan Nama Salesman Wilayah Kode_Pelanggan  Nama Kode_Pelanggan  Salesman Tidak ada lagi dependensi transitif. Kedua relasi memenuhi 3NF


Download ppt "Perancangan Skema Logis dengan Model Relasional"

Presentasi serupa


Iklan oleh Google