Perancangan Database - fti.uajm.ac.idfti.uajm.ac.id/ajar/Data Dan Komputer/06.pdfPerancangan...

43
Perancangan Database Bagian I 1 4/26/2009

Transcript of Perancangan Database - fti.uajm.ac.idfti.uajm.ac.id/ajar/Data Dan Komputer/06.pdfPerancangan...

Page 1: Perancangan Database - fti.uajm.ac.idfti.uajm.ac.id/ajar/Data Dan Komputer/06.pdfPerancangan Database Bagian I 4/26/2009 1. Pengantar ... •Data direprentasikan dalam tabel berdimensi

Perancangan

DatabaseBagian I

14/26/2009

Page 2: Perancangan Database - fti.uajm.ac.idfti.uajm.ac.id/ajar/Data Dan Komputer/06.pdfPerancangan Database Bagian I 4/26/2009 1. Pengantar ... •Data direprentasikan dalam tabel berdimensi

Pengantar

Apa yang akan dipelajari dalam modul ini?

Model data relasional

Relasi

Kunci

Integrity Constraints

Anomali

Transformasi Diagram E/R ke Relasi

Pemetaan Hubungan4/26/2009 2

Page 3: Perancangan Database - fti.uajm.ac.idfti.uajm.ac.id/ajar/Data Dan Komputer/06.pdfPerancangan Database Bagian I 4/26/2009 1. Pengantar ... •Data direprentasikan dalam tabel berdimensi

Model Data Relasional

• Diperkenalkan oleh Codd tahun 1970

• Data direprentasikan dalam tabel berdimensi dua

3

Nomor_Peg Nama

05001 Karmen

05002 Tigor

05003 Sita Devi

4/26/2009

Page 4: Perancangan Database - fti.uajm.ac.idfti.uajm.ac.id/ajar/Data Dan Komputer/06.pdfPerancangan Database Bagian I 4/26/2009 1. Pengantar ... •Data direprentasikan dalam tabel berdimensi

Model Data Relasional

• Tiga komponen yang mendasari model data relasional:

– Struktur data (data structure)

Data disusun dalam bentuk tabel (relasi)

– Pemanipulasi data (data manipulation)

Tabel menyimpan operasi-operasi untukmemanipulasi data. Contoh: perintah dalam bahasaSQL.

– Integritas data (data integrity)

Adanya fasilitas-fasilitas dalam aturan bisnis(business rules) yang menjaga integritas data saatterjadi manipulasi data. 4/26/2009 4

Page 5: Perancangan Database - fti.uajm.ac.idfti.uajm.ac.id/ajar/Data Dan Komputer/06.pdfPerancangan Database Bagian I 4/26/2009 1. Pengantar ... •Data direprentasikan dalam tabel berdimensi

Model Data Relasional• Istilah relasi (relation)

menyatakan nama tabel

• Suatu relasi dapat dituliskan

dengan cara:

Menggambarkan tabel

Menuliskan notasi nama tabel

(namaKunciPrimer, nama

kolom2,…)

– Contoh: PEGAWAI(Nomor_Peg, Nama)

5

Nomor_Peg Nama

05001 Karmen

05002 Tigor

05003 Sita Devi

Struktur data4/26/2009

Page 6: Perancangan Database - fti.uajm.ac.idfti.uajm.ac.id/ajar/Data Dan Komputer/06.pdfPerancangan Database Bagian I 4/26/2009 1. Pengantar ... •Data direprentasikan dalam tabel berdimensi

Relasi

• Setiap relasi memiliki kunci primer

(primary key)

• Kunci primer adalah atribut atau sejumlah

atribut yang menjadi pembeda setiap baris

dalam relasi

• Kunci primer biasa dinyatakan dengan

garis bawah

6PEGAWAI(Nomor_Peg, Nama)

Kunci primer

4/26/2009

Page 7: Perancangan Database - fti.uajm.ac.idfti.uajm.ac.id/ajar/Data Dan Komputer/06.pdfPerancangan Database Bagian I 4/26/2009 1. Pengantar ... •Data direprentasikan dalam tabel berdimensi

Kunci

• Kunci dapat dibedakan menjadi:

1. Kunci sederhana : Terdiri atas sebuah atribut

2. Kunci komposit : Tersusun atas dua atribut atau

lebih

7

Kunci sederhana:PEGAWAI(Nomor_Peg, Nama)

DEPARTEMEN(Kode_Dep, Nama_Dep)

BARANG(Kode_Barang, Nama_Barang)

Kunci komposit:BARANG DIPESAN(No_Pesanan, Kode_Barang,

Jumlah)

NILAI(No_Mhs, Kode_Matakuliah,Skor)

4/26/2009

Page 8: Perancangan Database - fti.uajm.ac.idfti.uajm.ac.id/ajar/Data Dan Komputer/06.pdfPerancangan Database Bagian I 4/26/2009 1. Pengantar ... •Data direprentasikan dalam tabel berdimensi

Kunci Tamu

• Kunci tamu (foreign key) biasa digunakan

sebagai penghubung ke relasi lain

8

Kd_Kota

Nama_Kota

0501 Semarang

0502 Salatiga

0503 Kendal

Kd_Pelanggan

Nama

A001 Aditya

B001 Bakdi

B002 Bramanto

Kd_Kota

0501

0502

0503

PELANGGAN(Tabel yang merujuk )

KOTA (Tabel yang dirujuk )

Kunci primer

Kunci asing

4/26/2009

Page 9: Perancangan Database - fti.uajm.ac.idfti.uajm.ac.id/ajar/Data Dan Komputer/06.pdfPerancangan Database Bagian I 4/26/2009 1. Pengantar ... •Data direprentasikan dalam tabel berdimensi

Kunci Tamu

(Lanjutan…)

• Garis bawah terputus-putus biasa dipakai untuk

menyatakan kunci tamu

• Contoh:

PELANGGAN(Kd_Pelanggan, Nama, Kd_Kota)

KOTA(Kd_Kota, Nama_Kota)

94/26/2009

Page 10: Perancangan Database - fti.uajm.ac.idfti.uajm.ac.id/ajar/Data Dan Komputer/06.pdfPerancangan Database Bagian I 4/26/2009 1. Pengantar ... •Data direprentasikan dalam tabel berdimensi

Sifat Relasi

1. Setiap relasi memiliki nama yang unik

2. Setiap isian pada perpotongan baris dan kolom

(sel) harus bersifat atomik (bernilai tunggal)

3. Setiap baris bersifat unik

4. Setiap atribut memiliki nama yang unik

5. Urutan kolom tidak penting

6. Urutan baris juga tidak penting104/26/2009

Page 11: Perancangan Database - fti.uajm.ac.idfti.uajm.ac.id/ajar/Data Dan Komputer/06.pdfPerancangan Database Bagian I 4/26/2009 1. Pengantar ... •Data direprentasikan dalam tabel berdimensi

Kekangan Integritas

(Integrity Constraint)

• Tujuannya adalah untuk memfasilitasi penjagaan

keakurasian dan integritas data dalam database

(supaya tetap konsisten)

• Macamnya:

– Kekangan domain (domain contraints)

– Integritas entitas (entity integrity constraints)

– Integritas referensial (referential integrity constraints)

– Kekangan operasional114/26/2009

Page 12: Perancangan Database - fti.uajm.ac.idfti.uajm.ac.id/ajar/Data Dan Komputer/06.pdfPerancangan Database Bagian I 4/26/2009 1. Pengantar ... •Data direprentasikan dalam tabel berdimensi

Kekangan Domain

Memastikan data dalam domain yang telah ditetapkan

Domain adalah kemungkinan nilai terhadap suatu atribut

Contoh:◦ A,B,C,D,E untuk nilai

◦ TRUE untuk pria dan FALSE untuk wanita

◦ INTEGER untuk menyatakan nilai bulat

Dalam praktek, domain juga mencakup panjang data

Contoh:◦ CHARACTER, SIZE 35

◦ INTEGER, 3 DIGITS124/26/2009

Page 13: Perancangan Database - fti.uajm.ac.idfti.uajm.ac.id/ajar/Data Dan Komputer/06.pdfPerancangan Database Bagian I 4/26/2009 1. Pengantar ... •Data direprentasikan dalam tabel berdimensi

Contoh :

Gambar 1. Diagram E/R

Nama atribut :………………

Arti :………………

Tipe data :………………

Format :………………

Jangkauan :………………

Keunikan :………………

Dukungan null:…………….4/26/2009 13

MHS KULIAHmengambilNIM

Page 14: Perancangan Database - fti.uajm.ac.idfti.uajm.ac.id/ajar/Data Dan Komputer/06.pdfPerancangan Database Bagian I 4/26/2009 1. Pengantar ... •Data direprentasikan dalam tabel berdimensi

Integritas Entitas

• Memastikan bahwa data yang terkait dengan

kunci primer tidak terlanggar

• Secara khusus, data Null pada kunci primer akan

ditolak

• Null berarti nilai pada atribut tidak pernah

diberikan

144/26/2009

Page 15: Perancangan Database - fti.uajm.ac.idfti.uajm.ac.id/ajar/Data Dan Komputer/06.pdfPerancangan Database Bagian I 4/26/2009 1. Pengantar ... •Data direprentasikan dalam tabel berdimensi

Integritas Referensial

• Memastikan bahwa konsistensi antara dua buah

relasi tetap terjaga

15

Kd_Kota Nama_Kota

0501 Semarang

0502 Salatiga

0503 Kendal

Kd_Pelanggan Nama

A001 Aditya

B001 Bakdi

B002 Bramanto

Kd_Kota

0501

0502

0503

Keadaan Awal:

4/26/2009

Page 16: Perancangan Database - fti.uajm.ac.idfti.uajm.ac.id/ajar/Data Dan Komputer/06.pdfPerancangan Database Bagian I 4/26/2009 1. Pengantar ... •Data direprentasikan dalam tabel berdimensi

Efek Tanpa Integritas

Referensial

16

Kd_Kota Nama_Kota

0501 Semarang

0502 Salatiga

0503 Kendal

Kd_Pelanggan Nama

A001 Aditya

B001 Bakdi

B002 Bramanto

Kd_Kota

0501

0502

0503

Keadaan Setelah data 0502

pada KOTA dihapus:

Menjadi

tidak konsisten4/26/2009

Page 17: Perancangan Database - fti.uajm.ac.idfti.uajm.ac.id/ajar/Data Dan Komputer/06.pdfPerancangan Database Bagian I 4/26/2009 1. Pengantar ... •Data direprentasikan dalam tabel berdimensi

Efek Integritas

Referensial

17

Kd_Kota Nama_Kota

0501 Semarang

0503 Kendal

Kd_Pelanggan Nama

A001 Aditya

B002 Bramanto

Kd_Kota

0501

0503

0502 Salatiga

Keadaan Setekah data 0502

pada KOTA dihapus:

B001 Bakdi 0502

Ikut terhapus! atau

penghapusan

ditolak4/26/2009

Page 18: Perancangan Database - fti.uajm.ac.idfti.uajm.ac.id/ajar/Data Dan Komputer/06.pdfPerancangan Database Bagian I 4/26/2009 1. Pengantar ... •Data direprentasikan dalam tabel berdimensi

Manipulasi data dalam

database

• Aturan-aturan yang perlu diterapkan agar tidak

terjadi pelanggaran terhadap aturan integritas

referensial :

– Insertion rule

– Deletion rule

– Update rule

4/26/2009 18

Page 19: Perancangan Database - fti.uajm.ac.idfti.uajm.ac.id/ajar/Data Dan Komputer/06.pdfPerancangan Database Bagian I 4/26/2009 1. Pengantar ... •Data direprentasikan dalam tabel berdimensi

Insertion rule

• Aturan: Jika dilakukan penyisipan baris terhadap

sebuah tabel yang merujuk, maka harus terdapat

nilai yang bersesuaian dalam tabel yang dirujuk.

• Contoh: Jika dalam tabel Pelanggan akan

dimasukkan data kota dengan kode kota 0510,

maka tidak diijinkan. Mengapa?

4/26/2009 19

Page 20: Perancangan Database - fti.uajm.ac.idfti.uajm.ac.id/ajar/Data Dan Komputer/06.pdfPerancangan Database Bagian I 4/26/2009 1. Pengantar ... •Data direprentasikan dalam tabel berdimensi

Deletion Rule

• Aturan: Jika diberlakukan penghapusan baris

terhadap sebuah tabel yang dirujuk dan memiliki

nilai yang bersesuaian dengan tabel yang

merujuk maka harus ada perlakuan tertentu

untuk menjamin integritas database tersebut.

4/26/2009 20

Page 21: Perancangan Database - fti.uajm.ac.idfti.uajm.ac.id/ajar/Data Dan Komputer/06.pdfPerancangan Database Bagian I 4/26/2009 1. Pengantar ... •Data direprentasikan dalam tabel berdimensi

Deletion Rule……

• Perlakuan yang mungkin diterapkan:

Restrict

Tidak mengijinkan penghapusan terhadap baris dalam tabel

yang dirujuk.

Nullify

Nilai yang bersesuaian dari tabel yang merujuk diset menjadi

null kemudian menghapus baris dalam tabel yang dirujuk.

Cascading deletion

Baris yang bersesuaian dalam tabel yang merujuk secara

otomatis akan ikut terhapus4/26/B009 21

Page 22: Perancangan Database - fti.uajm.ac.idfti.uajm.ac.id/ajar/Data Dan Komputer/06.pdfPerancangan Database Bagian I 4/26/2009 1. Pengantar ... •Data direprentasikan dalam tabel berdimensi

Update Rule

• Ada dua hal yang harus diperhatikan:

Jika nilai yang diupdate adalah kunci tamu pada

tabel yang merujuk, maka perlakuan seperti insertion

rule.

Jika nilai yang diupdate pada tabel yang dirujuk

memiliki nilai yang bersesuaian dengan tabel yang

merujuk maka perlakuan adalah sama seperti

deletion rule.

4/26/2009 22

Page 23: Perancangan Database - fti.uajm.ac.idfti.uajm.ac.id/ajar/Data Dan Komputer/06.pdfPerancangan Database Bagian I 4/26/2009 1. Pengantar ... •Data direprentasikan dalam tabel berdimensi

Implementasi Aturan

Integritas Referensial

1. Menerapkan logika pada program aplikasi yang

menjamin aturan integritas referensial tetap

dipertahankan, yaitu dalam baris-baris program.

2. Aturan integritas referensial dikenakan pada

tabel saat dibuat. Dapat dilakukan jika DBMS

yang dipakai memiliki fasilitas untuk

mendukung integritas referensial. Mis: SQL.

4/26/2009 23

Page 24: Perancangan Database - fti.uajm.ac.idfti.uajm.ac.id/ajar/Data Dan Komputer/06.pdfPerancangan Database Bagian I 4/26/2009 1. Pengantar ... •Data direprentasikan dalam tabel berdimensi

Kekangan Operasional

• Kekangan yang berhubungan dengan aturan

bisnis

• Misalnya “ Saldo tabungan tidak boleh negatif ”

• Pada Access, kekangan seperti ini bisa

diimplementasikan pada Validation Rule.

• Pada PostgreSQL, hal ini bisa

diimplementasikan dalam prosedur tersimpan

244/26/2009

Page 25: Perancangan Database - fti.uajm.ac.idfti.uajm.ac.id/ajar/Data Dan Komputer/06.pdfPerancangan Database Bagian I 4/26/2009 1. Pengantar ... •Data direprentasikan dalam tabel berdimensi

Diskusi kelompok

• Untuk setiap jenis perlakuan (referential integrity constraint),

berikan contoh berdasar tabel PELANGGAN danKOTA

4/26/2009 25

Page 26: Perancangan Database - fti.uajm.ac.idfti.uajm.ac.id/ajar/Data Dan Komputer/06.pdfPerancangan Database Bagian I 4/26/2009 1. Pengantar ... •Data direprentasikan dalam tabel berdimensi

Relasi Berstruktur Baik

Suatu relasi dikatakan berstruktur baik kalau :

◦ Mengandung redundansi sesedikit mungkin dan

◦ Memungkinkan pemakai memasukkan, mengubah, atau menghapus baris tanpa menimbulkan kesalahan atau tidak konsisten

Kesalahan atau akibat tidak konsisten yang ditimbulkan pada ulasan di atas biasa dinamakan anomali

264/26/2009

Page 27: Perancangan Database - fti.uajm.ac.idfti.uajm.ac.id/ajar/Data Dan Komputer/06.pdfPerancangan Database Bagian I 4/26/2009 1. Pengantar ... •Data direprentasikan dalam tabel berdimensi

Anomali

1. Anomali penyisipan

2. Anomali penghapusan

3. Anomali peremajaan

274/26/2009

Page 28: Perancangan Database - fti.uajm.ac.idfti.uajm.ac.id/ajar/Data Dan Komputer/06.pdfPerancangan Database Bagian I 4/26/2009 1. Pengantar ... •Data direprentasikan dalam tabel berdimensi

Anomali Peremajaan

• Terjadi bila terdapat

pengubahan pada

sejumlah data yang

redundan, tetapi tanpa

sengaja tidak semua ikut

diubah

PEMASOK KOTA BARANG JUMLAH

Kartika Jakarta Monitor GGG 10

Citra Bandung ZIP drive 4

Candra Jakarta Keyboard 5

Citra Bandung Mouse CCP 25

PEMASOK KOTA BARANG JUMLAH

Kartika Jakarta Monitor GGG 10

Citra Bogor ZIP drive 4

Candra Jakarta Keyboard 5

Citra Bandung Mouse CCP 2528

Pemasok Citra pindah ke Bogor dan

Pengubahan dilakukan hanya pada

data pertama

4/26/2009

Page 29: Perancangan Database - fti.uajm.ac.idfti.uajm.ac.id/ajar/Data Dan Komputer/06.pdfPerancangan Database Bagian I 4/26/2009 1. Pengantar ... •Data direprentasikan dalam tabel berdimensi

Anomali Penyisipan

• Terjadi bila ada

penambahan data

• Perhatikan contoh

disamping

• Masalah: “Bagaimana

caranya menyimpan

fakta bahwa ruang baru

bernama Arjuna ada

pada gedung selatan?”

KULIAH RUA NG TEMPAT

Jaringan Komputer Merapi Gedung Utara

Pengantar Basis Data Merbabu Gedung Utara

Matematika I Rama Gedung Selatan

Sistem Pakar Sinta Gedung Selatan

Kecerdasan Buatan Merapi Gedung Utara

294/26/2009

Page 30: Perancangan Database - fti.uajm.ac.idfti.uajm.ac.id/ajar/Data Dan Komputer/06.pdfPerancangan Database Bagian I 4/26/2009 1. Pengantar ... •Data direprentasikan dalam tabel berdimensi

Anomali Penghapusan

• Terjadi kiranya sesuatu baris yang tak terpakai dihapus dan sebagai akibatnya terdapat data lain yang hilang

• Perhatikan contoh di samping

• Apa yang terjadi seandainya data bahwa siswa dengan identitas 20 dihapus? Data yang menyatakan bahwa biaya kursus bahasa Jepang juga akan terhapus

NO_SISWA NAMA_KURSUS BIAYA

10 Bahasa Inggris 120.000

10 Bahasa Prancis 120.000

10 Bahasa Mandarin 180.000

15 Bahasa Inggris 120.000

20 Bahasa Jepang 160.000

304/26/2009

Page 31: Perancangan Database - fti.uajm.ac.idfti.uajm.ac.id/ajar/Data Dan Komputer/06.pdfPerancangan Database Bagian I 4/26/2009 1. Pengantar ... •Data direprentasikan dalam tabel berdimensi

Tranformasi Diagram ER/EER

ke Relasi

• Memetakan Entitas Reguler (kuat)

31

PELANGGANNo_Pelanggan

Nama_Pelanggan

Alamat_Pelanggan

No_Pelanggan Nama_Pelanggan Alamat_Pelanggan

Tipe entitas

PELANGGAN

Relasi PELANGGAN

4/26/2009

Page 32: Perancangan Database - fti.uajm.ac.idfti.uajm.ac.id/ajar/Data Dan Komputer/06.pdfPerancangan Database Bagian I 4/26/2009 1. Pengantar ... •Data direprentasikan dalam tabel berdimensi

Tranformasi Diagram ER

ke Relasi

• Memetakan Entitas dengan Atribut Komposit

32

PELANGGANNo_Pelanggan

Nama_Pelanggan

Alamat_Pelanggan

No_Pelanggan Nama_Pelanggan Jalan

Tipe entitas

PELANGGAN dengan

atribut komposit

Relasi

PELANGGAN

Jalan

Kota

Kode_Pos

Kota Kode_Pos

4/26/2009

Page 33: Perancangan Database - fti.uajm.ac.idfti.uajm.ac.id/ajar/Data Dan Komputer/06.pdfPerancangan Database Bagian I 4/26/2009 1. Pengantar ... •Data direprentasikan dalam tabel berdimensi

Tranformasi Diagram ER

ke Relasi

• Memetakan Entitas dengan Atribut Bernilai Ganda

33

PEGAWAI

No_Pegawai

Nama_Pegawai

Keterampilan

No_Pegawai Nama_Pegawai Alamat_Pegawai

Tipe entitas PEGAWAI

dengan atribut bernilai

ganda

Relasi PEGAWAI

Alamat_Pegawai

No_Pegawai Keterampilan Relasi KETERAMPILAN PEGAWAI4/26/2009

Page 34: Perancangan Database - fti.uajm.ac.idfti.uajm.ac.id/ajar/Data Dan Komputer/06.pdfPerancangan Database Bagian I 4/26/2009 1. Pengantar ... •Data direprentasikan dalam tabel berdimensi

Pemetaan Entitas

Lemah

34

PEGAWAI Memiliki

No_Pegawai

Nama_Pegawai Nama_Tanggungan Tanggal_Lahir

TANGGUNGAN

No_Pegawai Nama_Pegawai Relasi PEGAWAI

No_Pegawai Nama_Tanggungan Tanggal_Lahir Relasi TANGGUNGAN4/26/2009

Page 35: Perancangan Database - fti.uajm.ac.idfti.uajm.ac.id/ajar/Data Dan Komputer/06.pdfPerancangan Database Bagian I 4/26/2009 1. Pengantar ... •Data direprentasikan dalam tabel berdimensi

Pemetaan Hubungan 1

to M

35

MengirimPELANGGAN

No_Pelanggan

Nama_Pelanggan Nomor_Pesan Tanggal_Pesan

PESANAN

No_Pelanggan Nama_Pelanggan Relasi PELANGGAN

No_Pesan Tanggal_Pesan No_Pelanggan Relasi PESANAN4/26/2009

Page 36: Perancangan Database - fti.uajm.ac.idfti.uajm.ac.id/ajar/Data Dan Komputer/06.pdfPerancangan Database Bagian I 4/26/2009 1. Pengantar ... •Data direprentasikan dalam tabel berdimensi

Pemetaan Hubungan M

to M

36

MemintaPESANAN

No_Pesan

Tgl_Pesan Kode_Produk Harga_Unit

PRODUK

No_Pesan Tgl_pesan Relasi PESANAN

Kode_Produk Harga_Unit

Relasi BARIS PESANAN

Jumlah

No_Pesan Kode_Produk Jumlah

Relasi PRODUK4/26/2009

Page 37: Perancangan Database - fti.uajm.ac.idfti.uajm.ac.id/ajar/Data Dan Komputer/06.pdfPerancangan Database Bagian I 4/26/2009 1. Pengantar ... •Data direprentasikan dalam tabel berdimensi

Pemetaan Hubungan 1

to 1

37

MengepalaiDOSEN

No_Dosen

Nama_Dosen Kode_Prodi Nama_Prodi

PROGRAM STUDI

No_Dosen Nama_Dosen Relasi DOSEN

Relasi PROGRAM

STUDI

Tanggal_Penugasan

Kode_Prodi Nama_Prodi No_Dosen Tanggal_penugasan

4/26/2009

Page 38: Perancangan Database - fti.uajm.ac.idfti.uajm.ac.id/ajar/Data Dan Komputer/06.pdfPerancangan Database Bagian I 4/26/2009 1. Pengantar ... •Data direprentasikan dalam tabel berdimensi

Pemetaan Entitas Asosiatif

(Ternary)

38

PENGIRIMANPELANGGAN

No_Pelanggan

Nama Kode_Vendor Alamat

VENDOR

No_Pelanggan Nama Relasi PELANGGAN

Kode_Vendor Alamat

Relasi

PENGIRIMAN

Tanggal

No_Kirim Tanggal Jumlah

Relasi VENDOR

No_KirimJumlah

No_Pelanggan Kode_Vendor

4/26/2009

Page 39: Perancangan Database - fti.uajm.ac.idfti.uajm.ac.id/ajar/Data Dan Komputer/06.pdfPerancangan Database Bagian I 4/26/2009 1. Pengantar ... •Data direprentasikan dalam tabel berdimensi

Pemetaan Unary 1:N

39

PEGAWAI

No_Pegawai

Nama_Pegawai

No_Pegawai Nama_Pegawai Tgl_lahir Relasi PEGAWAI

Tgl_Lahir

Mengepalai

ID_Manajer

4/26/2009

Page 40: Perancangan Database - fti.uajm.ac.idfti.uajm.ac.id/ajar/Data Dan Komputer/06.pdfPerancangan Database Bagian I 4/26/2009 1. Pengantar ... •Data direprentasikan dalam tabel berdimensi

Pemetaan Unary M:M

40

ITEM

No_Item

Nama_Item

No_Item Nama_Item Harga_Unit Relasi ITEM

Harga_Unit

Tersusun_atasJumlah

No_Item No_Komponen Jumlah Relasi KOMPONEN4/26/2009

Page 41: Perancangan Database - fti.uajm.ac.idfti.uajm.ac.id/ajar/Data Dan Komputer/06.pdfPerancangan Database Bagian I 4/26/2009 1. Pengantar ... •Data direprentasikan dalam tabel berdimensi

Pemetaan Hubungan

Supertipe/Subtipe

41

PEGAWAI

d

PEGAWAI HARIAN PEGAWAI TETAP PEGAWAI KONTRAK

Gaji_Bulanan

Nomor_Pegawai

Nama_PegawaiAlamat

Tgl_Mulai_Kerja

Upah_Harian Nomor_Kontrak Lama_KontrakTunjangan

Kompensasi

Tipe_Pegawai:

“H” “K”

“T”

4/26/2009

Page 42: Perancangan Database - fti.uajm.ac.idfti.uajm.ac.id/ajar/Data Dan Komputer/06.pdfPerancangan Database Bagian I 4/26/2009 1. Pengantar ... •Data direprentasikan dalam tabel berdimensi

Pemetaan Hubungan

Supertipe/Subtipe

(Lanjutan…)

• Model relasional tidak mendukung hubungan

supertipe/subtipe secara langsung

• Strategi pemecahan untuk kasus di depan:

1. Buat relasi terpisah untuk masing-masing supertipe dan

subtipe

2. Berikan atribut-atribut yang umum (termasuk kunci primer)

ke supertipe

3. Masukkan pembeda subtipe pada supertipe

4. Tambahkan kunci primer pada supertipe ke semua subtipe424/26/2009

Page 43: Perancangan Database - fti.uajm.ac.idfti.uajm.ac.id/ajar/Data Dan Komputer/06.pdfPerancangan Database Bagian I 4/26/2009 1. Pengantar ... •Data direprentasikan dalam tabel berdimensi

Solusi Pemetaan Hubungan

Supertipe/Subtipe

43

Nomor_Pegawai Nama_Pegawai Alamat Tgl_Mulai_Kerja PEGAWAI

Nomor_Pegawai Upah_Harian PEGAWAI HARIAN

Nomor_Pegawai Gaji_Bulanan PEGAWAI TETAP

Nomor_Pegawai Nomor_Kontrak

PEGAWAI KONTRAK

Tunjangan

Lama_Kontrak Kompensasi

Tipe_Pegawai

4/26/2009