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
Relasional Key
- 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
Relational Integrity Rules
- 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:
Page 2