Basis Data Relasional
Sulis Setiowati
Politeknik Negeri Jakarta
Relational database
Database relasional merupakan jenis Database Management System (DBMS) yang
memberikan gambaran atau bagan skema yang menjelaskan tentang hubungan
antar tabel bisa dilakuan di dalam sebuah database
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.
Kesederhanaan logika menghasilkan metodologi perancangan basis data lebih
sederhana dan lebih efektif.
RELATIONAL DATA MODEL :
Merepresentasikan data pada database sebagai kumpulan dari relasi-
relasi (relations)
APA YANG DISEBUT DENGAN RELASI
Relasi pertama kali didefinisikan menggunakan teori himpunan.
Cara termudah untuk mendefinisikan sebuah relasi adalah sebagai
sebuah tabel dimana data-datanya disimpan dalam baris tabel.
Contoh
Karakteristik-karakteristik dalam relasi
• Semua entry/elemen data pada suatu baris dan kolom tertentu harus
mempunyai nilai tunggal (single value), atau suatu nilai yang tidak dapat dibagi
lagi (atomic value).
• Semua entry/elemen data pada suatu kolom tertentu dalam relasi yang sama
harus mempunyai jenis yang sama.
• Masing-masing kolom dalam suatu relasi mempunyai suatu nama yang unik
(meskipun kolom-kolom dalam relasi yang berbeda diijinkan mempunyai nama
yang sama).
• Pada suatu relasi/tabel yang sama tidak ada dua baris yang identik.
• Urutan baris bebas.
• Urutan kolom bebas.
STRUKTUR LOGIK
Representasi logik berarti bahwa sebuah relasi harus :
• tidak terdapat duplikasi baris
• urutan baris tidak diperhatikan
• setiap kolom dalam suatu relasi mempunyai sebuah nama yang
unik
Keuntungan Basis Data Relasional
1. Bentuknya sederhana
2. Mudah untuk melakukan berbagai operasi data
Istilah dalam Basis Data Relasional
Relasi : Sebuah tabel yang terdiri dari beberapa kolom dan
beberapa baris
Atribut : Kolom pada sebuah relasi
Tupel : Baris pada sebuah relasi
Domain : Kumpulan nilai yang valid untuk satu atau lebih
atribut
Derajat (degree) : Jumlah atribut dalam sebuah relasi
Cardinality : Jumlah tupel dalam sebuah relasi
Perbedaan Istilah
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 (Kolom) 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 referensial.
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
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
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.
Relasi Antara Wali dan Siswa
1
WALI
Membimbing
M
SISWA
Gambar 2.17. 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
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
Relasi 1:M Antara Kursus dan Kelas
1 M
KURSUS Memiliki KELAS
Gambar 2.20. Relasi 1:M antara kursus dan kelas
Relasi M:N Antara Siswa dan MKA
M N
SISWA Mengambil 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
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
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