You are on page 1of 32

Materi 6

Relasi/ Tabel
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 primer Kunci dengan garis bawah
PEGAWAI(Nomor_Peg, Nama)

Kunci
Kunci dapat dibedakan menjadi:
1. Kunci sederhana : Terdiri atas sebuah atribut 2. Kunci komposit : Tersusun atas dua atribut atau lebih
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)

Kunci tamu (foreign key) biasa digunakan sebagai penghubung ke relasi lain PELANGGAN Kunci asing
Kd_Pelanggan A001 B001 B002 Nama Kd_Kota Aditya Bakdi Bramanto 0501 0502 0502 KOTA Kd_Kota

Kunci Tamu

0501
0502

Nama_Kota

Semarang
Salatiga Kendal

Kunci primer

0503

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)

Sifat Tabel
1. Setiap Tabel memiliki nama yang unik 2. Setiap isian pada perpotongan baris dan kolom 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 penting

Kekangan Integritas (Integrity Constraint)


Tujuannya adalah untuk memfasilitasi penjagaan keakurasian dan integritas data dalam database (supaya tetap konsisten) Macamnya:
Kekangan domain Integritas entitas Integritas referensial Kekangan operasional

Kekangan Domain
Memastikan data dalam domain yang telah ditetapkan Domain adalah kemungkinan nilai terhadap suatu atribut Contoh:

Dalam praktek, domain juga mencakup panjang data Contoh:


CHARACTER, SIZE 35 INTEGER, 3 DIGITS

A,B,C,D,E untuk nilai TRUE untuk pria dan FALSE untuk wanita INTEGER untuk menyatakan nilai bulat

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

Integritas Referensial
Memastikan bahwa konsistensi antara dua buah relasi tetap terjaga
Keadaan Awal:
Kd_Pelanggan Nama Kd_Kota Kd_Kota Nama_Kota

A001
B001 B002

Aditya
Bakdi Bramanto

0501
0502 0502

0501
0502 0503

Semarang
Salatiga Kendal

Efek Tanpa Integritas Referensial


Keadaan Setekah data 0502 pada KOTA dihapus:
0502 Salatiga

Kd_Pelanggan A001 B001 B002

Nama Aditya Bakdi Bramanto

Kd_Kota 0501 0502 0502

Kd_Kota 0501 0503

Nama_Kota Semarang Kendal

Menjadi tidak konsisten

Efek Integritas Referensial


Keadaan Setekah data 0502 pada KOTA dihapus:
0502 Salatiga

Kd_Pelanggan A001 B002

Nama Aditya Bramanto

Kd_Kota 0501 0503

Kd_Kota 0501 0503

Nama_Kota Semarang Kendal

B001

Bakdi

0502

Ikut terhapus! atau penghapusan ditolak

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

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

Anomali
1. Anomali penyisipan 2. Anomali penghapusan 3. Anomali peremajaan

Anomali Peremajaan
Terjadi bila terdapat pengubahan pada sejumlah data yang redundan, tetapi tanpa sengaja tidak semua ikut diubah
PEMASOK
Kartika Citra Candra Citra

KOTA
Jakarta Bandung Jakarta Bandung

BARANG
Monitor GGG ZIP drive Keyboard Mouse CCP

JUMLAH
10 4 5 25

Pemasok Citra pindah ke Bogor dan Pengubahan dilakukan hanya pada data pertama

PEMASOK Kartika Citra Candra

KOTA Jakarta Bogor Jakarta

BARANG Monitor GGG ZIP drive Keyboard

JUMLAH 10 4 5

Citra

Bandung

Mouse CCP

25

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

Matematikaa I

Rama

Gedung Selatan

Sistem Pakar

Sinta

Gedung Selatan

Kecerdasan Buatan

Merapi

Gedung Utara

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 12 dihapus? Data yang menyatakan bahwa biaya kursus bahasa Jepang juga akan terhapus
NO_SISWA 10 10 NAMA_KURSUS Bahasa Inggris Bahasa Prancis BIAYA 120.000 120.000

10
15 12

Bahasa Mandarin
Bahasa Inggris Bahasa Jepang

180.000
120.000 160.000

Tranformasi Diagram ER/EER ke Relasi


Memetakan Entitas Reguler (kuat)
Nama_Pelanggan Tipe entitas PELANGGAN
PELANGGAN

No_Pelanggan

Alamat_Pelanggan

No_Pelanggan Nama_Pelanggan

Alamat_Pelanggan

Relasi PELANGGAN

Tranformasi Diagram ER ke Relasi


Memetakan Entitas dengan Atribut Komposit Jalan
Nama_Pelanggan Kota

Kode_Pos
No_Pelanggan
PELANGGAN

Alamat_Pelanggan

Tipe entitas PELANGGAN dengan atribut komposit

No_Pelanggan Nama_Pelanggan

Jalan

Kota

Kode_Pos

Relasi PELANGGAN

Tranformasi Diagram ER ke Relasi


Memetakan Entitas dengan Atribut Bernilai Ganda
Nama_Pegawai No_Pegawai Alamat_Pegawai Tipe entitas PEGAWAI dengan atribut bernilai ganda

PEGAWAI

Keterampilan

No_Pegawai

Nama_Pegawai

Alamat_Pegawai

Relasi PEGAWAI

No_Pegawai

Keterampilan

Relasi KETERAMPILAN PEGAWAI

Pemetaan Entitas Lemah


No_Pegawai Nama_Pegawai Nama_Tanggungan Tanggal_Lahir

PEGAWAI

Memiliki

TANGGUNGAN

No_Pegawai

Nama_Pegawai

Relasi PEGAWAI
Tanggal_Lahir

No_Pegawai

Nama_Tanggungan

Relasi TANGGUNGAN

Pemetaan Hubungan 1 to M
No_Pelanggan Nama_Pelanggan Nomor_Pesan Tanggal_Pesan

PELANGGAN

Mengirim

PESANAN

No_Pelanggan Nama_Pelanggan

Relasi PELANGGAN

No_Pesan

Tanggal_Pesan

No_Pelanggan

Relasi PESANAN

Pemetaan Hubungan M to M
No_Pesan Tgl_Pesan Kode_Produk Harga_Unit Jumlah

PESANAN

Meminta

PRODUK

No_Pesan
No_Pesan

Tgl_pesan
Kode_Produk

Relasi PESANAN
Jumlah

Relasi BARIS PESANAN

Kode_Produk

Harga_Unit

Relasi PRODUK

Pemetaan Hubungan 1 to 1
No_Dosen Nama_Dosen Kode_Prodi Nama_Prodi Tanggal_Penugasan

DOSEN

Mengepalai

PROGRAM STUDI

No_Dosen

Nama_Dosen

Relasi DOSEN

Kode_Prodi

Nama_Prodi

No_Dosen

Tanggal_penugasan

Relasi PROGRAM STUDI

Pemetaan Entitas Asosiatif (Ternary)


No_Pelanggan Nama Vendor Alamat

No_Kirim

Tanggal Jumlah
PENGIRIMAN

PELANGGAN

VENDOR

No_Pelanggan

Nama

Relasi PELANGGAN Relasi PENGIRIMAN

No_Kirim

Tanggal

Jumlah No_Pelanggan Kode_Vendor

Kode_Vendor

Alamat

Relasi VENDOR

Pemetaan Unary 1:N


Nama_Pegawai No_Pegawai Tgl_Lahir

PEGAWAI

Mengepalai

No_Pegawai

Nama_Pegawai

Tgl_lahir

ID_Manajer

Relasi PEGAWAI

Pemetaan Unary M:M


Nama_Item No_Item
ITEM

Harga_Unit

Jumlah

Tersusun_atas

No_Item

Nama_Item

Harga_Unit

Relasi ITEM

No_Item

No_Komponen

Jumlah

Relasi KOMPONEN

Pemetaan Hubungan Supertipe/Subtipe


Nama_Pegawai Alamat

Nomor_Pegawai

PEGAWAI Tipe_Pegawai:
H

Tgl_Mulai_Kerja

d
T

PEGAWAI HARIAN

PEGAWAI TETAP

PEGAWAI KONTRAK

Kompensasi

Upah_Harian

Gaji_Bulanan

Tunjangan

Nomor_Kontrak

Lama_Kontrak

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 subtipe

Solusi Pemetaan Hubungan Supertipe/Subtipe


Nomor_Pegawai Nama_Pegawai Alamat Tgl_Mulai_Kerja Tipe_Pegawai PEGAWAI

Nomor_Pegawai

Upah_Harian

PEGAWAI HARIAN

Nomor_Pegawai Gaji_Bulanan Tunjangan

PEGAWAI TETAP

Nomor_Pegawai Nomor_Kontrak Lama_Kontrak Kompensasi

PEGAWAI KONTRAK

PR
Suatu hasil ujian dinyatakan dengan atribut seperti berikut:
No_Mhs Nama_Mhs Mataujian No_Dosen_Penguji Nama_Dosen_Penguji

Gambarkan diagram E-R-nya Kemudian ubahlah diagram E-R tersebut ke relasi

You might also like