MODEL DATA
RELASIONAL
SISTEM BASIS DATA
STMIK AUB SURAKARTA
Permodelan Data
Menyatakan hubungan antardata dalam
database
Ada tiga macam model data dasar
Hierarkis Jaringan Relasional
Model Hierarkis
Dikenal pula sebagai model pohon
Menggunakan pola hubungan orangtua anak
Contoh: Information Management System
Dosen Siti Nurbaya Dosen Ashadi Pengantar Basis Data Pemrograman C Matematika I
Rudi Asti Dina Dina Edi Ita Edi
Model Jaringan
Disebut juga model CODASYL
Setiap anak bisa memiliki lebih dari satu orangtua Contoh: Integrated Database Management System
Dosen Siti Nurbaya Dosen Ashadi Pengantar Basis Data Pemrograman C Matematika I
Model Relasional
Merupakan model data yang paling populer saat ini Menggunakan model berupa tabel berdimensi dua (yang disebut relasi atau tabel)
Memakai kunci tamu (foreign key) sebagai penghubung dengan tabel lain Edi Matematika I Ashadi Ita Matematika I Ashadi Edi Pemrograman C Siti Nurbaya Dina Pemrograman C Siti Nurbaya Dina Pengantar Basis Data Siti Nurbaya Asti Pengantar Basis Data Siti Nurbaya Rudi Pengantar Basis Data Siti Nurbaya Mahasiswa Kelas Nama Dosen
Model Relasional
(Lanjutan
)
Budi 57 Rina 56 Ashadi 55 NAMA_MHS NO_MHS Teknik Multimedia PI001Basis Data Lanjut DB001
Pengantar Basis Data DB001 NAMA_MK KODE_MK B PI001 55 A DB001 55 NILAI KODE_MK NO_MHS
Model Relasional
(Lanjutan
)
A DB001 57 A DB001 57 B DB001 56 B PI001 55 A DB001 55 NILAI KODE_MK NO_MHS Relasi atau tabel Sebuah baris atau tupleAtribut atau kolom Kardinalitas Domain NILAI (A, B, C, D, E)
Model Relasional
(Lanjutan
)
Beberapa sifat yang melekat dalam relasi:
Tidak ada baris yang kembar Urutan tupel tidak penting
Setiap atribut memiliki nama yang unik Letak atribut bebas
Setiap atribut memiliki nilai tunggal dan jenisnya sama untuk semua baris
Model Data Relasional
Data direprentasikan
dalam tabel berdimensi
dua
Tiga komponen yang
mendasari model data
relasional:
Struktur data Pemanipulasi data Integritas data Nomor_Peg Nama 05001 Karmen 05002 Tigor 05003 Sita DeviModel Data Relasional
Istilah relasi (relation)
menyatakan nama tabel
Contoh: PEGAWAI(Nomor_Peg, Nama) Nomor_Peg Nama 05001 Karmen 05002 Tigor 05003 Sita Devi
Struktur data
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
PEGAWAI(
PEGAWAI(Nomor_PegNomor_Peg, , NamaNama))
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(
PEGAWAI(Nomor_PegNomor_Peg, , NamaNama))
DEPARTEMEN(
DEPARTEMEN(Kode_DepKode_Dep, , Nama_DepNama_Dep)) BARANG(Kode_Barang
BARANG(Kode_Barang, , Nama_BarangNama_Barang))
Kunci komposit:
BARANG
BARANG DIPESAN(DIPESAN(No_PesananNo_Pesanan, , Kode_BarangKode_Barang, , Jumlah
Jumlah))
NILAI(
Kunci Tamu
Kunci 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 tamu
Contoh:
PELANGGAN(Kd_Pelanggan, Nama, Kd_Kota)
Sifat Relasi
1. Setiap relasi 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
Dalam praktek, domain juga mencakup panjang data
Contoh:
CHARACTER, SIZE 35 INTEGER, 3 DIGITS
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
Integritas Referensial
Memastikan bahwa konsistensi antara dua
buah relasi tetap terjaga
Kd_Kota Nama_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_Kota Nama_Kota 0501 Semarang 0502 Salatiga 0503 Kendal Kd_Pelanggan Nama A001 Aditya B001 Bakdi B002 Bramanto Kd_Kota 0501 0502 0502
Keadaan Setekah data 0502 pada KOTA dihapus:
Efek Integritas Referensial
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
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
Anomali Peremajaan
Terjadi bila terdapat pengubahan pada sejumlah data yang redundan, tetapi tanpa sengaja tidak semua ikut diubah 25 Mouse CCP Bandung Citra 5 Keyboard Jakarta Candra 4 ZIP drive Bandung Citra 10 Monitor GGG Jakarta Kartika JUMLAH BARANG KOTA PEMASOK
Pemasok Citra pindah ke Bogor dan Pengubahan dilakukan hanya pada
data pertama 25 Mouse CCP Bandung Citra 5 Keyboard Jakarta Candra 4 ZIP drive Bogor Citra 10 Monitor GGG Jakarta Kartika JUMLAH BARANG KOTA PEMASOK
Anomali Penyisipan
Terjadi bila ada penambahan data Perhatikan contoh disamping
Masalah: Bagaimana caranya menyimpan fakta bahwa ruang baru bernama Arjuna ada pada gedung
selatan? Kecerdasan Buatan Merapi Gedung Utara Gedung Selatan Sinta Sistem Pakar Gedung Selatan Rama Matematikaa I Gedung Utara Merbabu
Pengantar Basis Data
Gedung Utara Merapi Jaringan Komputer TEMPAT RUA NG KULIAH
Anomali Penghapusan
Terjadi kiranya sesuatu barisyang 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 160.000 Bahasa Jepang 12 120.000 Bahasa Inggris 15 180.000 Bahasa Mandarin 10 120.000 Bahasa Prancis 10 120.000 Bahasa Inggris 10 BIAYA NAMA_KURSUS NO_SISWA
Contoh Hubungan dalam Model
Relasional
Budi 57 Rina 56 Ashadi 55 NAMA_MHS NO_MHS Teknik Multimedia PI001Basis Data Lanjut DB002
Pengantar Basis Data DB001 NAMA_MK KODE_MK A DB001 57 B DB001 56 B PI001 55 A DB001 55 NILAI KODE_MK NO_MHS Hubungan
Contoh Informasi yang
Bisa Diperoleh
Budi 57 Rina 56 Ashadi 55 NAMA_MHS NO_MHS Teknik Multimedia PI001Basis Data Lanjut DB002
Pengantar Basis Data DB001 NAMA_MK KODE_MK A DB002 57 A DB001 57 B DB001 56 B PI001 55 A DB001 55 NILAI KODE_MK NO_MHS A Basis Data Lanjut
Budi
A Pengantar Basis Data Budi
B Pengantar Basis Data Rina
B Teknik Multimedia
Ashadi
A Pengantar Basis Data Ashadi
NILAI NAMA_MK
NAMA_MHS
Karakteristik dalam Relasi
Tidak ada baris yang kembar
Urutan baris tidak penting
Setiap atribut memiliki nama yang unik
Letak atribut bebas
Setiap atribut memiliki nilai tunggal dan
jenisnya sama untuk semua baris
Pengertian Tidak Ada Baris Kembar
Baris punya identitas yang membuat dua buah baris tidak kembar Identitas tersebut dinamakan primary key B DB001 57 A DB001 57 B DB001 56 B PI001 55 A DB001 55 NILAI KODE_MK NO_MHS Primary key Contoh baris kembar
Pengertian Urutan Baris Tidak Penting
A DB002 57 A DB001 57 B DB001 56 B PI001 55 A DB001 55 NILAI KODE_MK NO_MHS A DB002 57 A DB001 55 B DB001 56 B PI001 55 A DB001 57 NILAI KODE_MK NO_MHS
Setiap Atribut Memiliki Nama Unik
86 75 16 90 60 15 58 89 14 78 76 13 80 75 12 TES_2 TES_1 NO_SISWA 86 75 16 90 60 15 58 89 14 78 76 13 80 75 12 TES TES NO_SISWA Nama atribut unik Nama atribut unik Nama atribut unik Nama atribut unik TIDAK UNIKLetak Atribut Bebas
86 75 16 90 60 15 58 89 14 78 76 13 80 75 12 TES_2 TES_1 NO_SISWA 16 75 86 15 60 90 14 89 58 13 76 78 12 75 80 NO_SISWA TES_1 TES_2
Setiap Atribut Memiliki Nilai Tunggal
86 75 16 90 60 15 58 89 14 78 76 13 80 75 12 TES_2 TES_1 NO_SISWA 75 86 16 60 90 15 89 58 14 76 78 13 75 80 12 TES NO_SISWA Nilai TIDAK TUNGGAL Semua atribut bernilai tunggalSetiap Atribut Berjenis Sama untuk Semua
Baris
86 75 16 90 60 15 58 89 14 78 76 13 80 75 12 TES_2 TES_1 NO_SISWA Semua atribut bernilai tunggal 90 60 15 58 89 14 78 Tujuh puluh enam 13 80 75 12 TES_2 TES_1 NO_SISWA Jenis tidak samaApa Primary Key-nya? (1)
? ? ? NAMA NO_KK NO_KTPApa Primary Key-nya? (2)
Produksi 4 Pemasaran 3 EDP 2 Akunting 1 NAMA_DEPARTEMEN KODE_DEPARTEMEN
Apa Primary Key-nya? (3)
5 1 3 1 2 JUMLAH K-8 460 K-2 459 K-1 459 K-5 457 K-1 456 KODE_ITEM NO_FAKTURApa Primary Key-nya? (4)
M-03 M-02 M-01 M-02 M-01 KODE_MKULIAH 1190 1190 1190 1189 1189 NO_MHS 3 2 3 2 3 SKS 2007 1 2007 1 2007 1 2007 1 2007 1 TAHUN SEMESTER
Apa yang Salah? (1)
Spidol Pensil Penggaris ITEM Penghapus Buku 461 Spidol 460 Buku 459 Spidol Buku 457 Pensil 456 ITEM ITEM NO_FAKTURApa yang Salah? (2)
INGGRIS W 12348 INGGRIS L 12347 W 12346 ARAB L 12345 BAHASA_ASING SEX NO_PEGAWAI