MODEL ITO.

advertisement
Model
Relasional
Basis Data
Materi Yang Akan Disampaikan
 Pengertian
 3 MODEL DATABASE
 Istilah dalam Basis Data Relasional
 Relational Key Di Model Relational
 Bahasa pada Model Data Relasional
 Bahasa Query Formal
Pengertian
Ditemukan olehE.F. Codd. Model Data Relasional adalah suatu model basis data yang
menggunakan tabel dua dimensi , yang terdiri atas baris dan kolom untuk menggambarkan
sebuah berkas data.
Model ini menunjukkan cara mengelola/ mengorganisasikan data secara fisik dalam memory
sekunder , yang akan berdampak pula pada bagaimana kita mengelompokkan data dan
membentuk keseluruhan data yang terkait dalam sistem yang kita buat.
3 MODEL DATABASE
Tiga model database yang cukup dikenal adalah :



Model Hierarkikal
Model Jaringan
Model Relasional
Model Hierarkikal
Contohnya :
Model Jaringan
Contohnya :
MODEL RELATIONAL
Model Relasional merupakan kumpulan tabel berdimensi dua (disebut relasi atau tabel)
dengan masing-masing relasi (relations) tersusun atas tuple (baris) dan atribut (kolom) pada
suatu basis data.
Model Data Relasional menggambarkan data dalam bentuk tabel-tabel.
Model Data Relasional mengandung 3 komponen inti :



Struktur data, data diorganisasi dalam bentuk tabel-tabel
Manipulasi data, menggunakan SQL
Integritas data, untuk spesifikasi aturan bisnis
Contoh tabel keterhubungan (1)
MHS
Contoh tabel keterhubungan (2)
MKUL
.
Contoh tabel keterhubungan (3)
NILAI
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
Ilustrasi
RELATIONAL KEY DI MODEL RELATIONAL
 Super key
Satu atribut/kumpulan atribut yang secara unik mengidentifikasi sebuah tupel di
dalam relasi (satu atau lebih field yang dapat dipilih untuk membedakan antara 1
record dengan record lainnya).
Contoh: Untuk tabel MHS, super key-nya:
 NPM
 NAMA (dengan syarat tidak ada nama yang sama)
 ALAMAT (dengan syarat tidak ada alamat yang sama)
 NPM + NAMA
 NPM + ALAMAT
 NAMA + ALAMAT
 NPM + NAMA + ALAMAT
 Candidate key
Atribut di dalam relasi yang biasanya mempunyai nilai unik (super key dengan
jumlah field yang paling sedikit)
Maka, candidate key-nya adalah NPM, NAMA dan ALAMAT (karena hanya terdiri
dari 1 field saja)
 Primary key
Candidate key yang dipilih untuk mengidentifikasikan tupel secara unik dalam relasi
Maka, primary key yang dipilih adalah NPM (unik, tidak ada NPM yang sama).
 Alternate key
Candidate key yang tidak dipilih sebagai primary key
Maka, candidate key-nya NAMA dan ALAMAT
 Foreign key
Atribut dengan domain yang sama yang menjadi kunci utama pada sebuah relasi
tetapi pada relasi lain atribut tersebut hanya sebagai atribut biasa
Ilustrasi
Relational Integrity Rules
1. Null
Nilai suatu atribut yang tidak diketahui dan tidak cocok untuk
tersebut
baris (tuple)
2. Entity Integrity
Tidak ada satu komponen
primary key yang bernilai null
3. Referential Integrity
Suatu domain dapat dipakai sebagai kunci primer bila merupakan atribut tunggal pada
domain yang bersangkutan
Contoh Basis Data Relasional
Bahasa Pada Basis data Relational terbagi menjadi 2 yaitu:
1. Bahasa Formal
Bahasa query yang diterjemahkan dengan menggunakan simbol-simbol matematis
Contoh:
Aljabar relasional
Kalkulus relasional
2. Bahasa Komersial
Bahasa Query yang dirancang sendiri oleh programmer menjadi suatu program
aplikasi agar pemakai lebih mudah menggunakannya (user friendly).
 QUEL
Berbasis pada bahasa kalkulus relasional
 QBE
Berbasis pada bahasa kalkulus relasional
 SQL
Berbasis pada bahasa kalkulus relasional dan aljabar relasional
 DB2  IBM
 ORACLE  Oracle
 SYBASE  Powersoft
 INFORMIX  Informix
 Microsoft Access  Microsoft
BAHASA QUERY FORMAL
ALJABAR RELATIONAL
Adalah kumpulan operasi terhadap relasi, dimana setiap operasi menggunakan satu
atau lebih relasi untuk menghasilkan satu relasi yang baru
OPERATOR YANG DIGUNAKAN
A. OPERATOR HIMPUNAN
1.
Union atau gabungan (  )
Union dari relasi A dan B dinyatakan sebagai A  B
2.
Intersection atau irisan (  )
Intersection dari relasi A dan B dinyatakan sebagai A  B
3.
Difference
Difference dari relasi A dan B dinyatakan dengan A – B
4.
Cartesian product
Product cartesian dari relasi A dan B dinyatakan dengan A X B
contoh :
A = { 1,2,3}
B = { 5,7 }
A X B = { ( 1,5), (1,7), ( 2,5), (2,7), (3,5),(3,7) }
B. OPERATOR RELATIONAL
1. Restrict (  ) adalah Pemilihan tupel atau record
2. Project (  ) adalah pemilihan attribute atau field
3. Divide (  ) adalah membagi
4. Join
(  ) adalah menggabungkan
ALJABAR RELASIONAL
Operator pada aljabar relationaldibagi menjadi 2 kelompok :
1. Operator dasar untuk fundamental operational
2. Operator tambahan untuk additional operasional
Tabel dibawah ini adalah contoh untuk mengerjakan perintah – perintah Relation Algebra:
RELASI : MATA KULIAH
RELASI MAHASISWA
RELASI REGISTRASI
RELASI DOSEN
OPERATOR DASAR
a.
Selection (  ) Lower Case Omega
Operasi selection menyeleksi tupel-tupel pada sebuah relation yang memenuhi
predicate/syarat yang sudah ditentukan
Contoh :
1.
Mencari tuple-tuple dari MAHASISWA yang memiliki jenis kelamin lakilaki, Ekspresi aljabar relational :
σ
2.
Tampilkan data mata kuliah yang memiliki kode 360 atau yang memilki sks 4
σ
b.
J_KEL=“LAKI-LAKI” (MAHASISWA)
KD_MK=“306” V SKS=4 (MATAKULIAH)
Projection (  )
Operator projection beroperasi pada sebuah relation, yaitu membentuk relation baru
dengan mengcopy atribute-atribute dan domain-domain dari relation tersebut
berdasarkan argumen-argumen pada operator tersebut.
Contoh :
1. Tampilkan nama beserta gaji dari dosen
nama_dos,gaji (DOSEN)
c.
Cartesian product ( X )
Operator dengan dua relasi untuk menghasilkan tabel hasil perkalian kartesian.
Contoh :
1. Tampilkan nid,nama_d (dari relasi Dosen), nama_mk (dari relasi Matakuliah),
thn_akademik,smt,hari,jam_ke,waktu,kelas (dari relasi Mengajar) dimana semester mengajar
adalah pada semester ‘1’.
 nid, nama_d, nama_mk, thn_akademik,smt, hari,jam_ke, waktu, kelas (  smt=1
Dosen.nid = Mengajar.nid mengajar.kdmk = Matakuliah.kdmk
(DosenxMatakuliahxMengajar))
d.
Union (  )
Operasi untuk menghasilkan gabungan tabel dengan syarat kedua tabel memiliki atribut yang
sama yaitu domain atribut ke-i masing-masing tabel harus sama
RUS={ X I X E R atau X E S}
Contoh :
Penggabungan berdasarkan kolom kota dari tabel mahasiswa dengan tabel dosen
 kota (mahasiswa)  kota (Dosen)
e.
Set diference ( - )
Operasi untuk mendapatkan tabel dis uatu relasi tapi tidak ada di relasi lainnya.
R – S = { X I X E R dan X E S }
Contoh :
Tampilkan nama dari mahasiswa yang tinggal di depok tetapi bukan berjenis kelamin perempuan
Query I : tampilkan nama yang tinggal di depok
nama_mhs(alamat=“DEPOK” (MAHASISWA))
Query II : tampilkan nama yang berjenis kelamin perempuan
nama_mhs(j_kel =“PEREMPUAN” (MAHASISWA))
Tampilkan query I minus query II :
nama_mhs(alamat=“DEPOK”(MAHASISWA))-nama_mhs(j_kel=“PEREMPUAN”
(MAHASISWA))
OPERATOR TAMBAHAN
1.
SET INTERSECTION (  )
Operasi untuk menghasilkan irisan dua tabel dengan syarat kedua tabel memiliki atribut yang
sama, domain atribut ke-i kedua tabel tersebut sama.
2.
THETA JOIN
Operasi yang menggabungkan operasi cartesian product dengan operasi selection dengan suatu
kriteria.
3.
NATURAL JOIN
Operasi menggabungkan operasi selection dan cartesian product dengan suatu kriteria pada kolom
yang sama
4.
DIVISION
Merupakan operasi pembagian atas tuple-tuple dari 2 relat
contoh :
A
Sno
Pno
S1
P1
S1
P2
S1
P3
S1
P4
S2
P1
S2
P2
B
Pno
P2
A/B
Sno
S1
S2
Download