perancangan database
DESCRIPTION
Perancangan Database. Nomor_Peg. Nama. 05001. Karmen. 05002. Tigor. 05003. Sita Devi. Model Data Relasional. Data direprentasikan dalam tabel berdimensi dua Tiga komponen yang mendasari model data relasional : Struktur data Pemanipulasi data Integritas data. Nomor_Peg. - PowerPoint PPT PresentationTRANSCRIPT
PerancanganDatabase
Model Data RelasionalData direprentasikan dalam tabel
berdimensi duaTiga komponen yang mendasari model data
relasional:Struktur data Pemanipulasi dataIntegritas data
Nomor_Peg Nama
05001 Karmen
05002 Tigor
05003 Sita Devi
Model Data RelasionalIstilah relasi (relation) menyatakan nama
tabelContoh:
PEGAWAI(Nomor_Peg, Nama)Nomor_Peg Nama
05001 Karmen
05002 Tigor
05003 Sita Devi
Struktur data
RelasiSetiap 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
PEGAWAI(Nomor_Peg, Nama)
Kunci primer
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 TamuKunci tamu (foreign key) biasa digunakan
sebagai penghubung ke relasi lain
Kd_Kota
Nama_Kota
0501 Semarang
0502 Salatiga
0503 Kendal
Kd_Pelanggan
Nama
A001 Aditya
B001 Bakdi
B002 Bramanto
Kd_Kota
0501
0502
0502
PELANGGAN
KOTA
Kunci primer
Kunci asing
Kunci Tamu (Lanjutan…)Garis bawah terputus-putus biasa dipakai
untuk menyatakan kunci tamuContoh:
PELANGGAN(Kd_Pelanggan, Nama, Kd_Kota)
KOTA(Kd_Kota, Nama_Kota)
Sifat Relasi1. Setiap relasi memiliki nama yang unik2. Setiap isian pada perpotongan baris dan
kolom harus bersifat atomik (bernilai tunggal)
3. Setiap baris bersifat unik4. Setiap atribut memiliki nama yang unik5. Urutan kolom tidak penting6. 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 domainIntegritas entitasIntegritas referensialKekangan operasional
Kekangan DomainMemastikan data dalam domain yang telah
ditetapkanDomain adalah kemungkinan nilai terhadap suatu
atributContoh:
A,B,C,D,E untuk nilaiTRUE untuk pria dan FALSE untuk wanitaINTEGER untuk menyatakan nilai bulat
Dalam praktek, domain juga mencakup panjang data
Contoh:CHARACTER, SIZE 35INTEGER, 3 DIGITS
Integritas EntitasMemastikan bahwa data yang terkait dengan
kunci primer tidak terlanggarSecara khusus, data Null pada kunci primer
akan ditolakNull berarti nilai pada atribut tidak pernah
diberikan
Integritas ReferensialMemastikan bahwa konsistensi antara dua
buah relasi tetap terjaga
Kd_KotaNama_Kota
0501 Semarang
0502 Salatiga
0503 Kendal
Kd_Pelanggan Nama
A001 Aditya
B001 Bakdi
B002 Bramanto
Kd_Kota
0501
0502
0502
Keadaan Awal:
Efek Tanpa Integritas Referensial
Kd_KotaNama_Kota
0501 Semarang
0502 Salatiga
0503 Kendal
Kd_Pelanggan Nama
A001 Aditya
B001 Bakdi
B002 Bramanto
Kd_Kota
0501
0502
0502
Keadaan Setelah data 0502 pada KOTA dihapus:
Menjadi tidak konsisten
Efek Integritas Referensial
Kd_KotaNama_Kota
0501 Semarang
0503 Kendal
Kd_Pelanggan Nama
A001 Aditya
B002 Bramanto
Kd_Kota
0501
0502
0502 SalatigaKeadaan Setekah data 0502 pada KOTA dihapus:
B001 Bakdi 0502Ikut terhapus!
atau penghapusan
ditolak
Kekangan OperasionalKekangan yang berhubungan dengan aturan
bisnisMisalnya “ 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 BaikSuatu 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
Anomali1. Anomali penyisipan2. Anomali penghapusan3. Anomali peremajaan
Anomali PeremajaanTerjadi 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 25
Pemasok Citra pindah ke Bogor dan Pengubahan dilakukan hanya pada
data pertama
Anomali PenyisipanTerjadi bila ada
penambahan dataPerhatikan contoh
disampingMasalah: “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 PenghapusanTerjadi kiranya sesuatu
baris yang tak terpakai dihapus dan sebagai akibatnya terdapat data lain yang hilang
Perhatikan contoh di samping
Apa yang terjadi seandainya data 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
Tranformasi Diagram ER/EER ke RelasiMemetakan Entitas Reguler (kuat)
PELANGGANNo_Pelanggan
Nama_Pelanggan
Alamat_Pelanggan
No_PelangganNama_PelangganAlamat_Pelanggan
Tipe entitas PELANGGAN
Relasi PELANGGAN
Tranformasi Diagram ER ke RelasiMemetakan Entitas dengan Atribut Komposit
PELANGGANNo_Pelanggan
Nama_Pelanggan
Alamat_Pelanggan
No_PelangganNama_Pelanggan Jalan
Tipe entitas PELANGGAN dengan atribut komposit
Relasi PELANGGAN
JalanKota
Kode_Pos
Kota Kode_Pos
Tranformasi Diagram ER ke RelasiMemetakan Entitas dengan Atribut Bernilai Ganda
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 PEGAWAI
Pemetaan Entitas Lemah
PEGAWAI Memiliki
No_Pegawai Nama_PegawaiNama_Tanggungan Tanggal_Lahir
TANGGUNGAN
No_Pegawai Nama_Pegawai Relasi PEGAWAI
No_PegawaiNama_TanggunganTanggal_Lahir Relasi TANGGUNGAN
Pemetaan Hubungan 1 to M
MengirimPELANGGAN
No_Pelanggan Nama_Pelanggan Nomor_Pesan Tanggal_Pesan
PESANAN
No_PelangganNama_Pelanggan Relasi PELANGGAN
No_Pesan Tanggal_Pesan No_Pelanggan Relasi PESANAN
Pemetaan Hubungan M to M
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 PRODUK
Pemetaan Hubungan 1 to 1
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_DosenTanggal_penugasan
Pemetaan Entitas Asosiatif (Ternary)
PENGIRIMANPELANGGAN
No_Pelanggan Nama Vendor Alamat
VENDOR
No_Pelanggan Nama Relasi PELANGGAN
Kode_Vendor Alamat
Relasi PENGIRIMAN
Tanggal
No_Kirim Tanggal Jumlah
Relasi VENDOR
No_KirimJumlah
No_PelangganKode_Vendor
Pemetaan Unary 1:N
PEGAWAI
No_Pegawai
Nama_Pegawai
No_Pegawai Nama_Pegawai Tgl_lahir Relasi PEGAWAI
Tgl_Lahir
Mengepalai
ID_Manajer
Pemetaan Unary M:M
ITEM
No_Item
Nama_Item
No_Item Nama_Item Harga_Unit Relasi ITEM
Harga_Unit
Tersusun_atasJumlah
No_Item No_Komponen Jumlah Relasi KOMPONEN
Pemetaan Hubungan Supertipe/Subtipe
PEGAWAI
d
PEGAWAI HARIAN PEGAWAI TETAP PEGAWAI KONTRAK
Gaji_Bulanan
Nomor_Pegawai
Nama_Pegawai Alamat
Tgl_Mulai_Kerja
Upah_Harian Nomor_KontrakLama_KontrakTunjangan
Kompensasi
Tipe_Pegawai:
“H”
“K”“T”
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 supertipe4. Tambahkan kunci primer pada supertipe ke
semua subtipe
Solusi Pemetaan Hubungan Supertipe/Subtipe
Nomor_PegawaiNama_Pegawai AlamatTgl_Mulai_Kerja PEGAWAI
Nomor_Pegawai Upah_Harian PEGAWAI HARIAN
Nomor_PegawaiGaji_Bulanan PEGAWAI TETAP
Nomor_PegawaiNomor_Kontrak
PEGAWAI KONTRAK
Tunjangan
Lama_KontrakKompensasi
Tipe_Pegawai
PRSuatu hasil ujian dinyatakan dengan
atribut seperti berikut:No_MhsNama_MhsMataujianNo_Dosen_PengujiNama_Dosen_PengujiNilai
Gambarkan diagram E-R-nyaKemudian ubahlah diagram E-R tersebut
ke relasi