Model Basis Data Relasional Pertemuan 3
Pandangan Logika Data Struktur model basis data relasional dan kebebasan data memungkinkan kita untuk memandang data secara logika daripada secara fisik. Pandangan secara logika membuat konsep file tentang penyimpanan data menjadi lebih sederhana. Penggunaan tabel independen secara logik lebih mudah dipahami. Kesederhanaan logika menghasilkan metodologi perancangan basis data lebih sederhana dan lebih efektif.
Pandangan Logika Data Entitas dan Atribut Sebuah entitas dapat berupa orang, tempat, kejadian atau sesuatu yang kita gunakan dalam mengumpulkan data. Universitas - mahasiswa, fakultas, jurusan Kantor - pegawai, meja, kursi, aktifitas Setiap entitas memiliki sifat-sifat khusus yang disebut atribut Mahasiswa - NIM, nama, tgl. Lahir, alamat, wali, IPK. Mobil - Merek, jenis, bahan bakar, tahun pembuatan, harga.
Pandangan Logika Data Entitas dan Atribut Sebuah group entitas yang saling berhubungan menjadi sebuah himpunan entitas. Himpunan entitas MAHASISWA berisi seluruh entitas mahasiswa. Himpunan entitas FAKULTAS berisi seluruh entitas fakultas. Himpunan entitas PEGAWAI berisi seluruh entitas pegawai.
Pandangan Logika Data Entitas dan Atribut Tabel dan Sifat-sifatnya. Sebuah tabel berisi sebuah group entitas yang saling berhubungan. Istilah himpunan entitas dan tabel memiliki arti yang hampir sama dan sering diguna-kan secara bergantian. Sebuah tabel disebut juga relasi.
Sifat-sifat Tabel Relasional Sebuah tabel seolah-olah merupakan struktur dua dimensi yang terdiri dari baris dan kolom Setiap baris (tupel/record) mewakili sebuah entitas Setiap kolom mewakili atribut dan memiliki nama yang jelas Setiap perpotongan baris dan kolom mewakili nilai sebuah data Setiap tabel harus memiliki Primary Key yang dikenali secara unik untuk setiap baris Semua nilai pada kolom harus sesuai dengan format data Setiap kolom memiliki jangkauan nilai tertentu yang dikenal sebagai domain atribut Setiap baris membawa informasi yang menggambarkan satu kejadian entitas Urutan baris dan kolom bukan hal yang penting untuk DBMS
Contoh Nilai Atribut Tabel Mahasiswa Gambar 2.1. Nilai atribut tabel mahasiswa
Kunci (key) Redudansi yang terkontrol (penggunaan atribut secara besama-sama) membuat basis data relasional berjalan dengan baik. Primary key suatu tabel akan muncul lagi pada tabel lainnya sebagai penghubung (foreign key) Jika foreign key mengandung suatu nilai atau nilai kosong yang cocok, maka tabel yang menggunakan foreign key tersebut dikatakan menunjukkan integritas refe-rensial.
Contoh Sederhana Basis Data Relasional Nama tabel SISWA Primary key NOMHS Foreign key KODE_WALI Hubungan Nama tabel WALI Primary key KODE_WALI Tidak ada foreign key Gambar 2.2. Contoh Sederhana Basis Data Relasional
Skema Basis Data Relasional : PERWALIAN Gambar 2.3. Skema basis data relasional : Perwalian
Kunci (key) Sebuah kunci (key) dapat membantu mende-finisikan relasi entitas. Aturan kunci didasarkan pada konsep yang dikenal dengan istilah determinasi, yang digunakan untuk mendefinisikan ketergan-tungan fungsional. Ketergantungan Fungsional. Atribut B bergantung secara fungsional pada A, Jika A menentukan B. Sebuah atribut bagian dari suatu kunci dikenal sebagai atribut kunci. Kunci yang memiliki lebih dari satu atribut disebut dengan kunci komposit. Jika atribut (B) bergantung secara fung-sional pada kunci komposit (A) tetapi tidak terdapat pada salah satu kunci komposit tersebut, atribut (B) bergantung penuh secara fungsional pada (A).
Kunci Basis Data Relasional Super key Sebuah atribut (atau kombinasi atribut) secara unik mengenali setiap entitas dalam sebuah tabel. Candidate key Sebuah super key minimal, yaitu super key yang tidak merupakan bagian atribut dari suatu superkey. Primary key Candidate key yang terpilih untuk mengenali secara unik seluruh nilai atribut pada sebuah baris dan tidak boleh kosong Secondary key Sebuah atribut (atau kombinasi atribut) secara paksa digunakan untuk tujuan pengambilan data. Foreign key Sebuah atribut (atau kombinasi atribut) dalam sebuah tabel dimana nilainya cocok dengan primary key pada tabel lainnya
Aturan Integritas
Ilustrasi Aturan Integritas
Operator Basis Data Relasional Derajat kesempurnaan relasi dapat diukur dengan seberapa luas dukungan aljabar relasionalnya. Aljabar relasional mendefinisikan secara teoritis cara memanipulasi isi tabel dengan menggunakan delapan fungsi relasional: SELECT, PROJECT, JOIN, INTERSECT, UNION, DIFFERENCE, PRODUCT dan DIVIDE.
Operator Basis Data Relasional UNION menggabungkan semua baris dari dua buah tabel dan kedua tabel tersebut harus sesuai. UNION Hasil Gambar 2.5. Union
Operator Basis Data Relasional INTERSECT menghasilkan sebuah daftar yang berisi hanya record-record yang terdapat pada kedua tabel dan kedua tabel tersebut harus sesuai. INTERSECT Hasil Gambar 2.6. Intersect
Operator Basis Data Relasional DIFFERENCE menghasilkan semua record yang terdapat pada satu tabel tetapi tidak terdapat pada tabel lainnya dan kedua tabel tersebut harus sesuai. DIFFERENCE Hasil Gambar 2.7. Difference
Operator Basis Data Relasional PRODUCT menghasilkan sebuah daftar semua pasangan record dua buah tabel. PRODUCT Hasil Gambar 2.8. Product
Operator Basis Data Relasional SELECT menghasilkan nilai untuk semua atribut yang ditemukan dalam tabel. SELECT ALL Hasilnya SELECT SKS 20 Hasilnya Gambar 2.9. Select
Operator Basis Data Relasional PROJECT menghasilkan daftar semua nilai untuk atribut yang dipilih. PROJECT MHS Hasilnya PROJECT MHS and IPK Hasilnya Gambar 2.10. Project
Operator Basis Data Relasional JOIN memungkinkan kita untuk mengkombinasikan informasi dari dua tabel atau lebih. JOIN memiliki kemampuan nyata untuk mendukung basis data relasional, memungkinkan penggunaan tabel independen yang dihubungkan melalui atribut yang sama. Natural JOIN menghubungkan tabel dengan memilih hanya record dengan nilai yang digunakan bersama-sama pada atribut yang sama. Operator ini akan menghasilkan tiga tahapan proses: PRODUCT SELECT PROJECT
Gambar 2.11. Tabel untuk ilustrasi join Operator Basis Data Relasional Contoh dua tabel yang akan digunakan untuk ilustrasi JOIN: Gambar 2.11. Tabel untuk ilustrasi join
Operator Basis Data Relasional Natural JOIN, Tahap 1: PRODUCT Gambar 2.12. Natural join, tahap 1: Product
Operator Basis Data Relasional Natural JOIN, Tahap 2: SELECT Gambar 2.13. Natural join, tahap 2: Select
Operator Basis Data Relasional Natural JOIN, Tahap 3: PROJECT Gambar 2.14. Natural join, tahap 3: Project
Operator Basis Data Relasional EquiJOIN menghubungkan tabel didasarkan pada kondisi yang sama dengan membandingkan kolom tertentu setiap tabel. Hasil equiJOIN tidak menghilangkan kolom duplikat dan kondisi atau kriteria penggabungan tabel harus terdefinisi secara eksplisit. Theta JOIN adalah equiJOIN yang membandingkan kolom tertentu setiap tabel menggunakan operator pembanding selain operator sama dengan. Pada Outer JOIN pasangan data yang tidak cocok akan tetap dipertahankan dan nilai untuk tabel lainnya yang tidak cocok akan dibiarkan kosong.
Operator Basis Data Relasional Outer JOIN Gambar 2.15. Outer Join
Operator Basis Data Relasional DIVIDE memerlukan dua buah tabel yang masing-masing terdiri dari satu dan dua kolom. Perhatikan ilustrasi berikut ini: DEVIDE Hasil Gambar 2.16. Devide
Kamus Data dan Katalog Sistem Kamus data berisi metadata untuk menjelas kan secara detail catatan semua tabel di dalam suatu basis data. Katalog sistem adalah kamus data sistem yang sangat detail yang menggambarkan semua objek di dalam suatu basis data. Basis data yang dibentuk sistem dimana tabel-tabelnya menyimpan isi dan sifat-sifat basis data. Tabel-tabelnya dapat diproses seperti tabel-tabel lainnya. Secara otomatis menghasilkan dokumentasi basis data
Contoh Kamus Data
Relasi pada Basis Data Relasional E-R Diagram (ERD) Bentuk persegi panjang mewakili entitas. Nama entitas berupa kata benda dan huruf besar. Bentuk berlian digunakan untuk mewakili relasi antar entitas. Angka 1 digunakan untuk mewakili “1” (satu) data pada relasi. Huruf M digunakan untuk mewakili “many” (banyak) data dari relasi.
Gambar 2.17. Relasi antara wali dan siswa Membimbing M SISWA Gambar 2.17. Relasi antara wali dan siswa
Gambar 2.18. Bentuk lain relasi antara wali dan siswa Cara Lain Untuk Menyatakan Relasi Antara Wali dan Siswa 1 M WALI Membimbing SISWA Gambar 2.18. Bentuk lain relasi antara wali dan siswa
Gambar 2.19. Relasi 1: M untuk basis data perwalian Relasi 1: M : Basis Data Perwalian Tabel : WALI PK : KODE_WALI FK : - Hubungan Tabel : SISWA PK : NOMHS FK : KODE_WALI Gambar 2.19. Relasi 1: M untuk basis data perwalian
Gambar 2.20. Relasi 1:M antara kursus dan kelas Memiliki KELAS Gambar 2.20. Relasi 1:M antara kursus dan kelas
Gambar 2.21. Relasi M:N antara siswa dan MKA Mengambil MKA Gambar 2.21. Relasi M:N antara siswa dan MKA
Gambar 2.21. Relasi M:N antara siswa dan MKA Contoh Data Pengambilan MKA M N SISWA Mengambil MKA 1 M M 1 SISWA PESERTA MKA Gambar 2.21. Relasi M:N antara siswa dan MKA
Gambar 2.22. Relasi “many to many” antara siswa dan MKA Tabel SISWA Basis Data KRP Tabel MKA Gambar 2.22. Relasi “many to many” antara siswa dan MKA
Gambar 2.23. Konversi relasi M:N menjadi relasi 1:M Konversi Relasi M:N Menjadi Dua Relasi 1:M Tabel SISWA Primary key NOMHS Tabel KULIAH Primary key KODE_MKA+NOMHS Foreign key KODE_MKA,NOMHS Tabel MKA Primary key KODE_MKA Gambar 2.23. Konversi relasi M:N menjadi relasi 1:M