Pertemuan 2 dan 3 :
MODEL DATA RELASIONAL
MODEL DATA RELASIONAL
Tujuan Instruksional Khusus :
1. Mahasiswa dapat menjelaskan pengertian model data relasional, istilah-istilah dalam model data relasional, jenis- jenis kunci
relasional, serta aturan-aturan yang terdapat dalam model data relasional, serta aturan-aturan yang terdapat dalam model data relasional
2. Mahasiswa dapat menyebutkan keuntungan penggunaan model data relasional
Pengertian Basis Data Relasional
Pengertian Basis Data Relasional
Pada model relasional, basis data akan
Pada model relasional, basis data akan
“disebar” atau dipilah-pilah ke dalam berbagai
tabel dua dimensi. Setiap tabel selalu terdiri
atas lajur mendatar yang disebut baris data
(row / record) dan lajur vertikal yang biasa
(row / record) dan lajur vertikal yang biasa
Tabel Fakultas Tabel Fakultas
Tabel Mahasiswa dihubungkan dengan tabel Fakultas melalui kode_f, tabel Mahasiswa dg tabel Nilai melalui Nobp dan tabel Matakuliah dg tabel Nilai melalui Kode_MK
Tabel Mahasiswa Tabel Mahasiswa
Contoh Database Universitas
Nobp Nm_Mhs Kelas Kode_f
001 Acong 4SI-2 261
002 Sitorus 4SI-2 261
003 Joko 4SK-2 262
004 Aziz Gagak 4SK-2 262
Kode_f Nm_PS
261 Sistem Informasi
262 Sistem Komputer
260 Mnj. Informatika
263 Teknik Informatika
Tabel Matakuliah Tabel Matakuliah Tabel Nilai
Tabel Nilai
Nobp Kode_MK Nilai_Pr Nilai_Kuis Nilai_UTS Nilai_UAS
001 KKKI52001 60 75 75 90
001 KKKI53002 75 80 90 85
002 KKKI52001 80 65 80 80
002 KKKI52002 75 70 75 90
003 KKKI53003 90 80 70 85
004 KKKI53003 100 75 90 90
Kd_MK Nm_MK
KKKI52001 Apl. Db Server
KKKI53002 Perbankan
KKKI53003 Mnj. Sains
Tabel Matakuliah Tabel Matakuliah Tabel Nilai
Tabel Pemasok Tabel Pemasok
Tabel barang dihubungkan dengan tabel pemasok melalui kode_pemasok, Tabel Barang dg Tabel Transaksi_Jual melalui Kd_Brg dan Tabel Pelanggan
dg Tabel Transaksi_Jual melalui Kd_Plg
Tabel Barang Tabel Barang
Contoh Database Penjualan
Contoh Database Penjualan
Kd_Brg Nm_Brg Harga_Beli Kd_Pemasok
100 Pepsodent 14500 10
110 Lifeboy 24600 10
120 Shampo Clear 44500 20
130 Shampo Pantene 24500 30
Kd_Pemasok Nm_Pemasok
10 Godilever
20 Century
30 Mitra Jaya
40 Jaya Bersama
Tabel Pemasok Tabel Pemasok Tabel Barang
Tabel Barang
Kd_Brg Kd_Plg No_Fact Tgl_Trans Jumlah Harga_Jual
100 220 111 29/09/2009 40 15000
110 220 112 30/09/2009 15 25000
120 221 113 31/09/2009 25 45000
130 221 114 31/09/2009 15 25000
100 222 113 30/09/2009 10 15000
110 222 114 29/09/2009 35 25000
Keuntungan Basis Data Relasional
1. Bentuknya sederhana
2. Mudah melakukan berbagai operasi data
•
Istilah dalam Basis Data Relasional :
Relasi
Relasi merupakan sebuah tabel yang terdiri dari beberapa
kolom dan beberapa baris. Relasi menunjukkan adanya
kolom dan beberapa baris. Relasi menunjukkan adanya
hubungan diantara sejumlah entitas yang berasal dari
himpunan entitas yang berbeda. Entitas merupakan individu
yang mewakili sesuatu yang nyata dan dapat dibedakan
Atribut
Atribut merupakan kolom pada sebuah relasi. Setiap entitas
pasti memiliki aribut yang mendeskripsikan karakter dari
entitas tersebut. Penentuan atau pemilihan atribut-atribut
entitas tersebut. Penentuan atau pemilihan atribut-atribut
yang relevan bagi sebuah entitas merupakan hal penting
dalam pembentukan model data.
Tuple
Domain
Kumpulan nilai yang valid untuk satu atau lebih
atribut
atribut
Derajat (degree)
Jumlah atribut dalam sebuah relasi
Cardinality
Relational Key
Super key
Satu atribut / kumpulan atribut yang secara unik
mengidentifikasi sebuah tuple di dalam relasi
Candidate key
Suatu atribut atau satu set minimal atribut yang
mengidentifikasikan secara unik suatu kejadian spesifik dari
mengidentifikasikan secara unik suatu kejadian spesifik dari
entitas. Atribut di dalam relasi yang biasanya mempunyai nilai
unik. Satu set minimal dari atribut menyatakan secara tak
Primary key
Merupakan satu atribut atau satu set minimal atribut yang tidak hanya mengidentifikasikan secara unik suatu kejadian spesifik, tapi juga dapat mewakili setiap kejadian dari suatu entitas. Candidate key yang dipilih untuk mengidentifikasikan tuple secara unik dalam relasi. Setiap kunci untuk mengidentifikasikan tuple secara unik dalam relasi. Setiap kunci
candidate key punya peluang menjadi primary key, tetapi sebaiknya dipilih satu saja yang dapat mewakili secara menyeluruh terhadap entitas yang ada.
Alternate key
Merupakan candidate key yang tidak dipakai sebagai primary key atau Candidate key yang tidak dipilih sebagai primary key.
Foreign key (Kunci Tamu)
Foreign key (Kunci Tamu)
Relational Integrity Rules
1. Null
Nilai suatu atribut yang tidak diketahui dan tidak cocok untuk baris (tuple) tersebut.
baris (tuple) tersebut.
Nilai (konstanta) Null digunakan untuk menyatakan / mengisi atribut-atribut yang nilainya memang belum siap/tidak ada.
2. Entity Integrity
Tidak ada satu komponen primary key yang bernilai null.
3. Referential Integrity
3. Referential Integrity
Suatu domain dapat dipakai sebagai kunci primer bila
merupakan atribut tunggal pada domain yang
Bahasa Pada Basis data Relational
Menggunakan bahasa query pernyataan yang diajukan untuk Menggunakan bahasa query pernyataan yang diajukan untuk
mengambil informasi. Bahasa Query (Query Language) lebih ditekankan pada aspek pencarian data dari dalam tabel. Aspek pencarian ini
sedemikian penting karena merupakan inti dari upaya untuk pengelolaan data.
Bahasa query terbagi 2 :
1. Bahasa Formal
1. Bahasa Formal
Contoh :
• Aljabar Relasional
Bahasa query prosedural
pemakai menspesifikasikan
Bahasa query prosedural
pemakai menspesifikasikan
data apa yang dibutuhkan dan bagaimana untuk
mendapatkannya.
• Kalkulus Relasional
Bahasa query non-prosedural
pemakai
menspesifikasikan data apa yang dibutuhkan tanpa
menspesifikasikan bagaimana untuk mendapatkannya.
menspesifikasikan bagaimana untuk mendapatkannya.
Terbagi 2 :
2. Bahasa Komersial
2. Bahasa Komersial
Bahasa Query yang dirancang sendiri oleh programmer menjadi suatu program aplikasi agar pemakai lebih mudah menggunakannya (user friendly).
Contoh :
•
QUEL
(Query Language)
Berbasis pada bahasa kalkulus relasional
• QBE (Query By Embedded)
• QBE (Query By Embedded)
Berbasis pada bahasa kalkulus relasional
• SQL (Structure Query Language)
• SQL (Structure Query Language)
Berbasis pada bahasa kalkulus relasional dan aljabar relasional