Pengertian
Basis Data Relasional
• Model Data Relasional menyajikan
data dalam bentuk tabel dua dimensi yang terdiri atas baris dan kolom untuk memberi gambaran sebuah berkas
data
• Masing-masing tabel menyajikan
orang, tempat, benda atau informasi tentang peristiwa yang dikumpulkan.
• Suatu basis data relasional adalah
suatu kumpulan tabel dua dimensi.
Keunggulan
model relasional
- Bentuknya sederhana
- Mudah untuk melakukan berbagai
operasi data
- Alat komunikasi yang bagus
antara pemakai dan perancang
- Struktur data yang
direpresentasikan dengan relasi dapat secara langsung dikonversi ke RDBMS
dan diimplementasikan pada komputer lewat RDBMS secara langsung
Istilah dalam Basis Data Relasional
Beberapa
istilah penting di model relasional:
- Relasi, tabel yang terdiri dari
baris dan kolom yang bernama
- Atribut, kolom bernama pada
relasi
- Domain, Kumpulan nilai yang
valid untuk satu atau lebih atribut
- Tupel, Baris pada sebuah relasi
- Kardinalitas, Jumlah tupel
dalam sebuah relasi
- Derajat (degree) :
Jumlah atribut dalam sebuah relasi
- Super Key, Satu atribut / kumpulan atribut yang
secara unik mengidentifikasi sebuah tupel di dalam relasi
- Candidate Key, Atribut di dalam relasi yang
biasanya mempunyai nilai unik
- Primary Key, Candidate key yang dipilih
untuk mengidentifikasikan tupel secara unik dalam relasi
- Alternate Key, Candidate key yang tidak
dipilih sebagai primary key
- Foreign Key, Atribut dengan domain yang sama
yang menjadi kunci utama pada sebuh relasi tetapi pada relasi lain atribut
tersebut hanya sebagai atribut biasa
- Null, Nilai suatu atribut yang
tidak diketahui dalam suatu baris (tuple), null ¹ nilai numerik nol
Contoh
kalimat SQL
Create
table mahasiswa(
NRP CHAR(8),
Nama CHAR(30) NOT NULL,
Alamat CHAR(50) NOT NULL,
KodePos CHAR(5),
PRIMARY KEY (NRP)
)
Nama,
alamat tidak boleh diisi dengan NULL, sedang kodepos boleh diisi dengan NULL,
dan NRP otomatis adalah NOT Null karena sebagai kunci primer
- Entity Integrity, Tidak ada
satu komponen primary key yang bernilai null
- Referential Integrity,
integritas pengacuan adalah jika foreign key terdapat di relasi maka nilai
foreign key harus cocok dengan nilai candidate key suatu tupel di relasi
asal (home relation)
Bahasa
pada basis data relasional
• adalah bahasa query sebagai
pernyataan yang diajukan untuk mengambil informasi, Terbagi 2 :
1. Bahasa
Formal
Bahasa query yang diterjemahkan
dengan menggunakan simbol-simbol matematis
Contoh :
• Aljabar relasional
Bahasa query prosedural :
pemakai menspesifikasikan data apa yang dibutuhkan dan bagaimana untu
mendapatkannya
• Kalkulus relasional
Bahasa query non prosedural : pemakai
menspesifikasikan data apa yang dibutuhkan tanpa menspesifikasikan bagaimana
utntuk mendapatkannya
Kalkulus
relasional terbagi 2 :
• · Kalkulus relasional tupel
• · Kalkulus Relasional Domain
2. Bahasa
Komersial
Bahasa query yang dirancang
sendiri oleh programmer menjadi suatu program aplikasi agar pemakai lebih mudah menggunakannya (user friendly)
Contoh :
• QUEL, Berbasis pada bahasa kalkulus
relasional
• QBE, Berbasis pada bahasa kalkulus
relasional
• SQL, Berbasis pada bahasa kalkulus
relasional dan aljabar relasional
Aljabar
relasional
• Bahasa query formal basisdata
relasional adalah bahasa untuk meminta informasi dari basisdata
• Aljabar relasional adalah bahasa
query prosedural.
• Bahasa prosedural adalah pemakai
menginstruksikan ke sistem untuk melakukan sederatan operasi agar diperoleh
hasil yang diinginkan
• Prosedural pada aljabar relasional
adalah prosedural pada level tinggi
• Aljabar relasional merupakan kunci
pemahaman kerja internal DBMS relasional
• Pemahaman aljabar relasional
merupakan hal yang esensi dalam merancang query SQL yang diolah secara
efisien.
• Aljabar relasional mendefinisikan
sekumpulan operator dan rumus untuk memanipulasi himpunan data
lima
operasi dasar di aljabar relasional:
- Select ( s )
- Project (Õ )
- Union (È )
- Set – difference ( - )
- Cartesian-product ( x, dsb juga
cross product)
• Operasi turunan dari opersi dasar
tsb:
- Set intersection
- Theta join
- Natural join
- Devision
Operasi
aljabar relasional
• Untuk melihat dampak dari setiap
operasi relasi berikut:
Dosen={NIP,nama,tLahir,tglLahir,alamat,kota,kodePos}
Operasi
select (s)
• Select adalah operasi menyeleksi
tupel-tupel yang memenuhi suatu predikat
• Operator pembandingan (<, £, =, ³, ¹ )
• Beberapa predikat dapat
dikombinasikan menjadi predikat majemuk menggunakan penghubung AND (Ù) dan OR (Ú)
Contoh 1:
Daftarkan
dosen yang lahir di Tasikmalaya?
Jwb:
ekspresi aljabar relasional:
stLahir=“Tasikmalaya”(Dosen)
• Hasilnya adalah
Contoh 2
• Daftarkan dosen yang lahir di
Tasikmalaya atau Ciamis
• Ekspresi aljabar relasional:
stLahir=“Tasikmalaya”ÚtLahir=“Ciamis” (Dosen)
Operasi
project (Õ )
• Project adalah operasi untuk
memperoleh kolom2 tertentu
• Operasi project adalah operasi unary
yang mengirim relasi argumen dengan kolom2 tertentu
• Karena relasi adalah himpunan maka
baris2 duplikasi dihilangkan
• Contoh 1
Tampilkan kolom
NIP, nama, tempat lahir, dan gaji pokok dosen
• Ekspresi aljabar relasional
pNIP,nama,tLahir,Gpokok(Dosen)
• Hasilnya adalah:
• Contoh 2
Tampilkan
kolom NIP, nama, tempat lahir, dan gaji pokok dosen dimana gaji pokok lebih
besar dari 1.200.000
• Ekspresi aljabar relasional
pNIP,nama,tLahir,Gpokok(s Gpokok>1.200.000(Dosen))
• Hasilnya adalah:
Operasi
cartesian-product (x)
• Adalah operasi untuk menghasilkan
tabel hasil perkalian kartesian
R x S = {(x,y) ا
x Є R dan y Є S }
• Operasi cartesian product
memungkinkan kita mengkombinasikan informasi beberapa relasi, operasi ini
adalah operasi biner
• Relasi adalah subset hasil cartesian
product dari himpunan domain2 relasi tersebut
• Contoh 1
Cartesian-product
(x) relasi Jurusan dan TgsJurusan
• Ekspresi alajabar relasional:
Jurusan x
TgsJurusan
• Hasilnya adalah:
Opersi
union (È )
• Adalah operasi untuk menghasilkan
gabungan tabel dengan syarat kedua tabel memiliki atribut yang sama yaitu
domain atribut ke-I masing2 tabel harus sama
R È S = { x ا
x Є R atau x Є S }
• Contoh
Tampilkan
NIP dosen dimana gaji pokoknya lebih besar daripada Rp. 12.000.000
• Ekspresi aljabar relasional:
ÕNIP(sGpokok>12000000(dosen))
• Hasilnya adalah
• Contoh 2
Tampilkan
NIP dari dosen yang lahir di Jakarta atau Tasikmalaya
• ekspresi aljabar relasional:
ÕNIP(stLahir=“Jakarta”ÚtLahir=“Tasikmalaya”(dosen))
• Tampilkan NIP dosen dimana gaji
pokoknya lebih besar daripada Rp. 12.000.000
Digabung
(union) dengan
• Tampilkan NIP dari dosen yang lahir
di Jakarta atau Tasikmalaya
• Ekspresi Aljabar relasional
(ÕNIP(sGpokok>12000000”(dosen))) È (ÕNIP(stLahir=“Jakarta”ÚtLahir=“Tasikmalaya”(dosen)))
Set-difference
(-)
• Adalah operasi untuk mendapatkan
tabel di suatu relasi tapi tidak ada di relasi lainya
R-S={ x ا
x Є R atau x Є S }
• Contoh
Tampilkan
NIP dosen dimana gaji pokoknya lebih besar daripada Rp. 12.000.000 tetapi tidak
lahir di Jakarta atau Tasikmalaya
• Ekspresi aljabar relasional
ÕNIP(sGpokok>12000000”(dosen)) -ÕNIP(stLahir=“Jakarta”ÚtLahir=“Tasikmalaya”(dosen))
• Hasilnya adalah:
No comments:
Post a Comment