MODEL DATA RELASIONAL SISTEM BASIS DATA Rahajeng Ratnaningsih
MODEL DATA RELASIONAL SISTEM BASIS DATA Rahajeng Ratnaningsih, S. Kom STMIK – AUB SURAKARTA
Permodelan Data • Menyatakan hubungan antar data 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 Pengantar Basis Data Rudi Asti Dosen Ashadi Pemrograman C Dina Edi Matematika I Ita Edi
Model Jaringan • Disebut juga model CODASYL • Setiap anak bisa memiliki lebih dari satu orangtua • Contoh: Integrated Database Management System Dosen Siti Nurbaya Pengantar Basis Data Rudi Asti Dosen Ashadi Pemrograman C Dina Edi Matematika I Ita
Model Relasional • Merupakan model data yang paling populer • Menggunakan model berupa tabel berdimensi dua (yang disebut relasi atau tabel) • Memakai kunci tamu (foreign key) sebagai penghubung dengan tabel lain Nama Dosen Kelas Mahasiswa Siti Nurbaya Pengantar Basis Data Rudi Siti Nurbaya Pengantar Basis Data Asti Siti Nurbaya Pengantar Basis Data Dina Siti Nurbaya Pemrograman C Edi Ashadi Matematika I Ita Ashadi Matematika I Edi
Model Relasional (Lanjutan…) NO_MHS NAMA_MHS KODE_MK NAMA_MK 55 Ashadi DB 001 Pengantar Basis Data 56 Rina DB 001 Basis Data Lanjut PI 001 Teknik Multimedia 57 Budi NO_MHS KODE_MK NILAI 55 DB 001 A 55 PI 001 B 56 DB 001 B 57 DB 001 A
Model Relasional (Lanjutan…) NO_MHS KODE_MK NILAI 55 DB 001 A 55 PI 001 B 56 DB 001 B 57 DB 001 A Atribut atau kolom Relasi atau tabel Sebuah baris atau tuple 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 Devi
Model Data Relasional • Istilah relasi (relation) menyatakan nama tabel – Contoh: PEGAWAI(Nomor_Peg, Nama) Struktur data Nomor_Peg Nama 05001 Karmen 05002 Tigor 05003 Sita Devi
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 Kunci primer 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 • Kunci tamu (foreign key) biasa digunakan sebagai penghubung ke relasi lain Kunci asing PELANGGAN Kd_Pelanggan Nama Kd_Kota A 001 Aditya 0501 B 001 Bakdi 0502 B 002 Bramanto 0502 Kunci primer KOTA Kd_Kota Nama_Kota 0501 Semarang 0502 Salatiga 0503 Kendal
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 Relasi 1. 2. 3. 4. 5. 6. Setiap relasi memiliki nama yang unik Setiap isian pada perpotongan baris dan kolom harus bersifat atomik (bernilai tunggal) Setiap baris bersifat unik Setiap atribut memiliki nama yang unik Urutan kolom tidak penting 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 diberikan
Integritas Referensial • Memastikan bahwa konsistensi antara dua buah relasi tetap terjaga Keadaan Awal: Kd_Pelanggan Nama Kd_Kota Nama_Kota A 001 Aditya 0501 Semarang B 001 Bakdi 0502 Salatiga B 002 Bramanto 0502 0503 Kendal
Efek Tanpa Integritas Referensial Keadaan Setekah data 0502 pada KOTA dihapus: 0502 Kd_Pelanggan Nama Kd_Kota Salatiga Nama_Kota A 001 Aditya 0501 Semarang B 001 Bakdi 0502 0503 Kendal B 002 Bramanto 0502 Menjadi tidak konsisten
Efek Integritas Referensial Keadaan Setekah data 0502 pada KOTA dihapus: 0502 Kd_Pelanggan Nama Kd_Kota Salatiga Nama_Kota A 001 Aditya 0501 Semarang B 002 Bramanto 0503 Kendal B 001 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 Postgre. SQL, 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 KOTA BARANG JUMLAH Kartika Jakarta Monitor GGG Citra Bandung ZIP drive 4 Candra Jakarta Keyboard 5 Citra Bandung Mouse CCP 10 25 Pemasok Citra pindah ke Bogor dan Pengubahan dilakukan hanya pada data pertama PEMASOK KOTA BARANG JUMLAH Kartika Jakarta Monitor GGG Citra Bogor ZIP drive 4 Candra Jakarta Keyboard 5 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 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_SISW A 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
Model Relasional • Salah satu model database yang terkenal adalah model relasional • Data disusun dalam bentuk tabel-tabel • Antar dua tabel bisa punya hubungan
Contoh Model Relasional NO_MHS NAMA_MHS KODE_MK NAMA_MK 55 Ashadi DB 001 Pengantar Basis Data 56 Rina DB 002 Basis Data Lanjut PI 001 Teknik Multimedia 57 Hubungan Budi NO_MHS KODE_MK NILAI 55 DB 001 A 55 PI 001 B 56 DB 001 B 57 DB 001 A 57 DB 002 A
Contoh Informasi yang Bisa Diperoleh NO_MHS NAMA_MHS KODE_MK NAMA_MK 55 Ashadi DB 001 Pengantar Basis Data 56 Rina DB 002 Basis Data Lanjut 57 Budi PI 001 Teknik Multimedia NO_MHS KODE_MK NILAI 55 DB 001 A NAMA_MHS NAMA_MK NILAI 55 PI 001 B Ashadi Pengantar Basis Data A 56 DB 001 B Ashadi Teknik Multimedia B 57 DB 001 A Rina Pengantar Basis Data B 57 DB 002 A Budi Pengantar Basis Data A Budi Basis Data Lanjut A
Istilah Dasar • Sebuah database terdiri atas sejumlah tabel • Tabel sering disebut sebagai relasi • Setiap tabel menyimpan sekumpulan data atau baris Database Akademik Mahasiswa Registrasi Matakuliah Nilai Matakuliah Contoh ada 3 tabel
Istilah Dasar (Lanjutan…) Tabel • Data dalam sebuah tabel mengikuti hierarki seperti disamping Rekaman Elemen Data … … Rekaman Elemen Data Deretan byte/bit
Istilah Dasar (Lanjutan…) Database Akademik Mahasiswa Atribut atau kolom Registrasi Matakuliah Nilai Matakuliah Relasi atau tabel Baris atau tuple NO_MHS KODE_MK NILAI 55 DB 001 A 55 PI 001 B 56 DB 001 B 57 DB 001 A
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” Contoh baris kembar Primary key NO_MHS KODE_MK NILAI 55 DB 001 A 55 PI 001 B 56 DB 001 B 57 DB 001 A 57 DB 001 B
Pengertian Urutan Baris Tidak Penting NO_MHS KODE_MK NILAI 55 DB 001 A 57 DB 001 A 55 PI 001 B 56 DB 001 B 57 DB 001 A 55 DB 001 A 57 DB 002 A
Setiap Atribut Memiliki Nama Unik Nama atribut unik TIDAK Nama atribut UNIK unik NO_SISWA TES_1 TES_2 NO_SISWA TES 12 75 80 13 76 78 14 89 58 15 60 90 16 75 86
Letak Atribut Bebas NO_SISWA TES_1 TES_2 TES_1 NO_SISWA 12 75 80 80 75 12 13 76 78 78 76 13 14 89 58 58 89 14 15 60 90 90 60 15 16 75 86 86 75 16 Urutan kolom tidak penting
Setiap Atribut Memiliki Nilai Tunggal Semua atribut bernilai tunggal NO_SISWA 12 13 14 15 16 TES_1 75 76 89 60 75 Nilai TIDAK TUNGGAL TES_2 NO_SISWA TES 12 75 80 13 76 78 14 89 58 15 60 90 16 75 86 80 78 58 90 86
Setiap Atribut Berjenis Sama untuk Semua Baris Semua atribut bernilai tunggal Jenis tidak sama NO_SISWA TES_1 TES_2 12 75 80 13 76 78 14 89 58 15 60 90 16 75 86 NO_SISWA TES_1 TES_2 12 75 80 13 Tujuh puluh 78 enam 14 89 58 15 60 90 16 75 86
Apa Primary Key-nya? (1) NO_KTP NO_KK NAMA ? ? ?
Apa Primary Key-nya? (2) KODE_DEPARTEMEN NAMA_DEPARTEMEN 1 Akunting 2 EDP 3 Pemasaran 4 Produksi
Apa Primary Key-nya? (3) NO_FAKTUR KODE_ITEM JUMLAH 456 K-1 2 457 K-5 1 459 K-1 3 459 K-2 1 460 K-8 5
Apa Primary Key-nya? (4) SEMESTER TAHUN NO_MHS KODE_MKULIAH SKS 1 2007 1189 M-01 3 1 2007 1189 M-02 2 1 2007 1190 M-01 3 1 2007 1190 M-02 2 1 2007 1190 M-03 3
Apa yang Salah? (1) NO_FAKTUR ITEM 456 Pensil 457 Buku Penggaris Spidol 459 Buku Pensil 460 Spidol 461 Buku Spidol Penghapus
Apa yang Salah? (2) NO_PEGAWAI SEX BAHASA_ASING 12345 L ARAB 12346 W 12347 L INGGRIS 12348 W INGGRIS JERMAN 12349 W SPANYOL
Apa yang Salah? (3) NO_PEGAWAI SEX BAHASA_ASING 12345 L ARAB 12346 W 12347 L INGGRIS 12348 W JERMAN
- Slides: 47