MODUL
MODEL DATABASE RELASIONAL
1. MODEL DATABASE RELASIONAL
1. Model basis data relasional merupakan model basis data yang paling
populer banyak digunakan sekarang ini.
2. Unit utama yang disimpan pada basis data adalah berbentuk tabel atau
kelompok data yang saling berhubungan
3. Tabel terdiri baris dan kolom, baris adalah merepresentasikan tuple atau
record pada tabel, dan kolom merepresentasikan fields pada tabel
4. Tabel dapat berhubungan dengan tabel yang lain dengan menggunakan
kunci
Contoh Model Data Relasional:
Kelebihan Model Data Relasional
1. Data sangat cepat diakses
2. Struktur basis data mudah dilakukan perubahan
3. Data direpresentasikan secara logik, user tidak membutuhkan bagaimana
data disimpan
4. Mudah untuk membentuk query yang komplek dalam melakukan retrieve
data
5. Mudah untuk mengimplementasikan integritas data
6. Data lebih akurat
7. Mudah untuk membangun dan memodifikasi Program Aplikasi
8. Telah dikembangkan SQL
Kelemahan Model Data Relasional
1. Kelompok Informasi/tables yang berbeda harus dilakukan joined untuk
melakukan retrieve data
2. User harus familiar dengan relasi antar tabel
3. User harus belajar SQL
2. Relasi Antar Tabel
Relasi adalah hubungan antara tabel yang mempresentasikan
hubungan antar objek di dunia nyata. Relasi merupakan hubungan yang
terjadi pada suatu tabel dengan lainnya yang mempresentasikan
hubungan antar objek di dunia nyata dan berfungsi untuk mengatur
mengatur operasi suatu database.
JENIS RELASI
1. One to One
2. One to Many
3. Many to Many
1. ONE TO ONE
Relasi One to One adalah relasi yang mana setiap satu baris data
pada tabel pertama hanya berhubungan dengan satu baris pada
tabel kedua.
Contoh Kasus sebagai berikut:
Pada gambar di atas maksudnya adalah satu jurusan dikepalai oleh
satu dosen.
Contoh tabel relasi One to One
Pada tabel jurusan terdapat primary key id_jurusan dan foreign key
dosen_id_dosen. Yang mana foreign key itulah yang digunakan sebagai
penghubung tabel dosen.
Contoh tabel relasi One to One dengan beberapa isi data
2. Relasi One to Many
Relasi One to Many adalah relasi yang mana setiap satu baris data pada
tabel pertama berhubungan dengan lebih dari satu baris pada tabel
kedua.
Pada gambar di atas maksudnya adalah satu dosen wali dapat
menampung lebih dari satu mahasiswa.
Contoh tabel relasi One to Many.
Pada tabel mahasiswa terdapat primary key id_mahasiswa dan foreign
key dosen_wali_id_dosen_wali. Yang mana foreign key itulah yang
digunakan sebagai penghubung tabel dosen_wali.
Contoh tabel relasi One to Many dengan beberapa isi data.
3. Relasi Many to Many
Relasi Many to Many adalah relasi yang mana setiap lebih dari satu
baris data dari tabel pertama berhubungan dengan lebih dari satu baris
data pada tabel kedua. Artinya, kedua tabel masing-masing dapat
mengakses banyak data dari tabel yang direlasikan. Dalam hal ini, relasi
Many to Many akan menghasilkan tabel ketiga sebagai perantara tabel
kesatu dan tabel kedua sebagai tempat untuk menyimpan foreign key
dari masing-masing tabel.
Pada gambar di atas maksudnya adalah setiap mahasiswa dapat
mengambil banyak mata kuliah dan setiap mata kuliah dapat diambil
banyak mahasiswa.
Karena relasi One to Many menghasilkan tabel baru atau tabel ketiga,
jika menyertakan record tabel baru tersebut pada grafik akan terlihat
seperti di bawah ini. Karena hubungan erat mahasiswa yang belajar
mata kuliah adalah nilai dan sekaligus berfungsi sebagai penghubung
antara tabel mahasiswa dan mata_kuliah.
Contoh tabel relasi Many to Many.
Coba perhatikan pada gambar di atas, terdapat tiga tabel yaitu tabel
mahasiswa, nilai, dan mata_kuliah. Tabel mahasiswa dan mata_kuliah
tersebut masing-masing berelasi Many to Many dan menghasilkan
tabel baru yaitu tabel nilai. Sedangkan tabel baru atau tabel nilai
tersebut sebagai penghubung antara tabel mahasiswa dan mata_kuliah
yang mana tabel baru tersebut terdapat foreign key
mahasiswa_id_mahasiswa dan mata_kuliah_id_mata_kuliah yang
fungsinya untuk mengakses tabel mahasiswa dan mata_kuliah.
Contoh tabel relasi Many to Many dengan beberapa isi data.
3. Jenis-jenis Kunci dalam database
Menurut para ahli, kunci (key) hanya memiliki satu makna dalam teori
relasional itu adalah kumpulan dari satu atau lebih kolom yang nilai-
nilai gabungan unik di antara semua kejadian dalam tabel tertentu.
Utama adalah sarana relasional menetapkan keunikan. Kunci adalah
satu atau lebih atribut yang menentukan atribut lainnya atau antara
atribut lain saling berkaitan.
Dalam metode relasional, ada 6 kunci yang di kenal yang akan di jelas
sebagai berikut:
1. Candidat key
Candidate Key (kunci calon) adalah salah satu rangkaian yang
mempunyai nilai unik untuk membedakan atau mengidentifikasi nilai-
nilai kombinasi yang unik diantara semua kejadian yang spesifik dari
entetitas. Candidat key ini tidak boleh berisi atribut dari tabel yang lain.
kombinasi dari atribut yang dapat digunakan untuk mengidentifikasi
secara unik rekor database tanpa data apapun yang asing. Setiap tabel
dapat memiliki satu atau lebih candidate key.
Contoh:
File pegawai berisi attribute
1. No induk
2. No ktp
3. Nama
4. Tempat lahir
5. Tanggal lahir
6. Alamat
7. Kota
Kunci kandidat disini adalah:
1. No induk
2. No ktp
2. Primary Key (kunci utama)
Primary Key (kunci utama) adalah atribut Merupakan candidate key
yang telah dipilih untuk mengidentifikasi setiap record secara unik.
Primary key harus merupakan field yang benar-benar unik dan tidak
boleh ada nilai NULL. Pengertian lainya Primary Key adalah suatu nilai
dalam basis data yang digunakan untuk mengidentifikasi suatu baris
dalam table. Primary key, salah satu atrribut dari candidat key dapat
dipilih menjadi primary key dengan 3 kriteria sbb :
1. Key tersebut lebih natural untuk dijadikan acuan
2. Key tersebut lebih sederhana
3. Key tersebut cukup uniqe database tanpa data apapun yang
asing
Setiap tabel dapat memiliki satu atau lebih candidate key.
Contoh:
File pegawai berisi attribute
1. No induk
2. No ktp
3. Nama
4. Tempat lahir
5. Tanggal lahir
6. Alamat
7. Kota
No induk dan no ktp adalah kunci calon (Candidate Key) dan untuk
kunci utama (primary key) adalah salah satu yang dipilih dari kunci
calon. Misalnya No. induk di jadikan primary key, maka primary key nya
adalah no induk.
3. Alternate Key (Kunci Alternatif)
Alternate key Adalah candidate key yang tidak terpilih. Misal : dalam
suatu entity terdapat dua field yang bisa dijadikan sebagai kunci.
Sementara yang boleh dijadikan kunci hanya satu, maka anda harus
memilih salah satu. Field yang anda pilih, disebut primary key,
sedangkan field yang tidak dipilih disebut dengan alternate key.
Contoh:
File pegawai berisi attribute
1. No induk
2. No ktp
3. Nama
4. Tempat lahir
5. Tanggal lahir
6. Alamat
7. Kota
No induk dan no ktp adalah kunci calon (Candidate Key) dan untuk
kunci utama (primary key) adalah salah satu yang dipilih dari kunci
calon. Misalnya No. induk di jadikan primary key, maka primary key nya
adalah no induk. Dan untuk no ktp menjadi alternate key.
4. Foreign Key (kunci Tamu)
Jika sebuah primary key terhubungan ke table/entity lain, maka
keberadaan primary key pada entity tersebut di sebut sebagai foreign
key. Foreign key adalah sebuah kumpulan field dalam satu relasi yang
digunakan untuk me“refer” (menunjuk) ke suatu baris (tuple) pada
relasi yang lain (harus berkorespondensi dengan primary key pada
relasi yang kedua), seperti: ‘logical pointer’.
Contoh:
Pada gambar diatas, Department_id pada table Department adalah
primary key. Sedangkan primary key pada table karyawan adalah
karyawan_id. Lalu department_id menempel pada table karyawan yang
kita sebut sebagai foreign key.
Sedangkan hubungan antara keduanya (primary key dan foreign key) di
jelaskan sebagai berikut,“primary key” adalah field kunci / utama dari
suatu tabel yang menunjukkan bahwa field yang menjadi kunci tersebut
tidak bisa diisi dengan data yang sama, atau dengan kata lain primary
key menjadikan tiap record memiliki identitas sendiri-sendiri yang
membedakan satu sama lainnya (unik).“foreign key” adalah satu
attribute yang melengkapi satu relationship yang menunjukan ke
induknya, dengan kata lain keduanya saling berkaitan.
Biasanya saya menyebut table yang berisi foreign key sebagai table
anak karena table tersebut mengait pada table lain. Sedangkan table
yang terkait saya sebut sebagai table induk. Pada contoh table di atas,
mhs sebagai table anak sedangkan matkul sebagai table induk.
5. Composite key
Dalam desain database, composite key adalah kunci yang terdiri dari 2
atau lebih atribut yang secara unik mengidentifikasi suatu kejadian
entitas. Setiap atribut yang membentuk kunci senyawa adalah kunci
sederhana dalam haknya sendiri.
Hal ini sering bingung dengan kunci composite, meskipun ini juga
merupakan kunci yang terdiri dari 2 atau lebih atribut yang secara unik
mengidentifikasi suatu kejadian, setidaknya satu atribut yang
membentuk kunci komposit bukanlah kunci sederhana.
Contohnya, suatu entitas yang mewakili masing-masing modul siswa
hadir di Universitas. entitas ini memiliki nim dan kode_matakuliah
sebagai kunci utama. Setiap atribut yang membentuk kunci utama
adalah kunci sederhana karena masing-masing merupakan referensi
unik ketika mengidentifikasi siswa dalam satu kasus dan modul yang
lain.
Sebaliknya, dengan menggunakan contoh yang sama, bayangkan kita
mengidentifikasi seorang mahasiswa oleh NamaBelakang + NamaDepan
mereka. Di tabel siswa tersebut pada modul kunci utama yaitu
NamaDepan + NamaBelakang + kode_matakuliah. Karena
NamaBelakang + NamaDepan merupakan referensi unik untuk
mahasiswa, itu bukanlah sebuah kunci sederhana, itu adalah kombinasi
dari atribut yang digunakan untuk secara unik mengidentifikasi seorang
mahasiswa. Oleh karena itu kunci utama untuk entitas ini adalah kunci
komposit.
Tidak ada pembatasan diterapkan pada atribut tentang (awal)
kepemilikan mereka dalam model data. Ini berarti bahwa setiap satu,
tidak ada, atau semua, dari beberapa atribut dalam kunci senyawa
dapat menjadi kunci asing. Memang, kunci asing mungkin sendiri
menjadi kunci majemuk.
6. Super key
Satu atau lebih atribut yang dapat membedakan setiap baris data
dalam sebuah tabel secara unik. Bisa jadi ada lebih dari satu kumpulan
atribut yang yang bersifat super key dalam sebuah tabel. Contoh super
key misalnya: Nim, Nama, alamat, Tgl_lahir.