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
Kunci primer
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:
Kunci komposit:
Kunci Tamu
Kunci
asing
Kd_Kota
A001
Aditya
0501
B001
Bakdi
0502
B002
Bramanto 0502
Kunci primer
KOTA
Kd_Kota Nama_Kota
0501
Semarang
0502
Salatiga
0503
Kendal
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:
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
Aditya
0501
0501
Semarang
B001
Bakdi
0502
0502
Salatiga
B002
Bramanto 0502
0503
Kendal
Kd_Pelanggan Nama
Kd_Kota
Salatiga
Kd_Kota Nama_Kota
A001
Aditya
0501
0501
Semarang
B001
Bakdi
0502
0503
Kendal
B002
Bramanto 0502
Menjadi
tidak konsisten
Kd_Pelanggan Nama
Kd_Kota
Salatiga
Kd_Kota Nama_Kota
A001
Aditya
0501
0501
Semarang
B002
Bramanto 0503
0503
Kendal
B001
Bakdi
0502
Ikut terhapus!
atau
penghapusan
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
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
KOTA
BARANG
JUMLAH
Kartika
Jakarta
Monitor GGG
Citra
Bandung
ZIP drive
Candra
Jakarta
Keyboard
Citra
Bandung
Mouse CCP
10
25
PEMASOK
KOTA
BARANG
JUMLAH
Kartika
Jakarta
Monitor GGG
Citra
Bogor
ZIP drive
Candra
Jakarta
Keyboard
Citra
Bandung
Mouse CCP
10
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
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
NAMA_KURSUS
BIAYA
10
Bahasa Inggris
120.000
10
Bahasa Prancis
120.000
10
Bahasa Mandarin
180.000
15
Bahasa Inggris
120.000
12
Bahasa Jepang
160.000
No_Pelanggan
Nama_Pelanggan
Alamat_Pelanggan
Tipe entitas
PELANGGAN
Relasi
PELANGGAN
Tranformasi Diagram ER
ke Relasi
Memetakan Entitas dengan Atribut Komposit
Nama_Pelanggan
Jalan
Kota
Kode_Pos
No_Pelanggan
Nama_Pelanggan Jalan
Kota Kode_Pos
Tipe entitas
PELANGGAN
dengan atribut
komposit
Relasi
PELANGGAN
Tranformasi Diagram ER
ke Relasi
Memetakan Entitas dengan Atribut Bernilai Ganda
Nama_Pegawai
Alamat_Pegawai
No_Pegawai
PEGAWAI
Keterampilan
No_Pegawai Keterampilan
Tipe entitas
PEGAWAI dengan
atribut bernilai
ganda
Relasi PEGAWAI
Relasi KETERAMPILAN
PEGAWAI
Nama_PegawaiNama_Tanggungan
PEGAWAI
Memiliki
No_Pegawai Nama_Pegawai
Tanggal_Lahir
TANGGUNGAN
Relasi PEGAWAI
No_Pegawai
Nama_TanggunganTanggal_Lahir
Relasi
TANGGUNGAN
Pemetaan Hubungan 1 to M
No_Pelanggan Nama_Pelanggan Nomor_Pesan
PELANGGAN
No_Pesan
PESANAN
Mengirim
No_Pelanggan
Nama_Pelanggan
Tanggal_Pesan
Relasi PELANGGAN
Tanggal_Pesan No_Pelanggan
Relasi PESANAN
Pemetaan Hubungan M to M
No_Pesan
Tgl_Pesan
Kode_Produk
Harga_Unit
Jumlah
PESANAN
PRODUK
Meminta
No_Pesan
Tgl_pesan
No_Pesan
Kode_Produk
Kode_Produk Harga_Unit
Relasi PESANAN
Jumlah
Relasi BARIS
PESANAN
Relasi PRODUK
Pemetaan Hubungan 1 to 1
No_Dosen
Nama_Dosen
Kode_Prodi
Nama_Prodi
Tanggal_Penugasan
DOSEN
No_Dosen
Mengepalai
Nama_Dosen
PROGRAM STUDI
Relasi DOSEN
PROGRAM
STUDI
Nama
No_Kirim
PELANGGAN
No_Pelanggan
Vendor
Alamat
Tanggal
Jumlah
PENGIRIMAN
Nama
VENDOR
Relasi PELANGGAN
Relasi
No_Kirim
Tanggal JumlahNo_Pelanggan
Kode_Vendor PENGIRIMA
N
Relasi VENDOR
Kode_Vendor
Alamat
No_Pegawai
PEGAWAI
Mengepalai
Relasi PEGAWAI
No_Item
ITEM
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
Tgl_Mulai_Kerja
Tipe_Pegawai:
H
Upah_Harian Gaji_Bulanan
Kompensasi
Tunjangan Nomor_KontrakLama_Kontrak
Pemetaan Hubungan
Supertipe/Subtipe (Lanjutan)
Nomor_Pegawai Upah_Harian
PEGAWAI HARIAN
Nomor_Pegawai
Gaji_BulananTunjangan
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