Bahasa Query Formal
Bahasa
Query Formal
Dalam bahasa Query Formal, ada dua
dasar pembentukan bahasa Query, yaitu:
1.Aljabar Relasional
2.Kalkulus
Relasional
Dalam pembahasan ini hanya akan
membahas tentang Aljabar Relasional karna lebih banyak dijadikan dasar Bahasa
Query yang umum digunakan.
ALJABAR RELASIONAL
Adalah kumpulan operasi terhadap
relasi, dimana setiap operasi menggunakan satu atau lebih relasi untuk menghasilkan
satu relasi yang baru. Bahasa Query yang didasarkan pada operasi -operasi
dalam Aljabar Relasional merupakan bahasa query yang
Prosedural.
OPERATOR
RELATIONAL
1. Restrict ( s ) adalah Pemilihan
tupel atau record
2. Project ( p ) adalah pemilihan
attribute atau field
3. Divide ( ¸ ) adalah membagi
4. Join ( q ) adalah menggabungkan
ALJABAR RELASIONAL
Operator pada aljabar relational
dibagi 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 : Registrasi
Relasi : Registrasi
Relasi : Dosen
Operator Dasar
a. Selection ( s ) 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 laki-laki, Ekspresi aljabar relational :
σ J_KEL=“LAKI-LAKI” (MAHASISWA)
2. Tampilkan data mata kuliah yang
memiliki kode 360 atau
yang memilki sks 4 σ KD_MK=“306” V
SKS=4 (MATAKULIAH)
b. Projection ( p )
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 :
Tampilkan nama beserta gaji dari
dosen pnama_dos,gaji (DOSEN)
c. Cartesian product ( X )
Operator dengan dua relasi untuk
menghasilkan tabel
hasil perkalian kartesian.
Contoh :
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’.
p nid, nama_d, nama_mk, thn_akademik,smt,
hari,jam_ke, waktu, kelas ( s 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 table mahasiswa dengan tabel dosen.
p kota (mahasiswa) È
pkota (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
pnama_mhs(salamat=“DEPOK”
(MAHASISWA))
Query II : tampilkan nama yang
berjenis kelamin perempuan
pnama_mhs(sj_kel
=“PEREMPUAN” (MAHASISWA))
Tampilkan query I minus query II :
pnama_mhs(salamat=“DEPOK”(MAHASISWA))-
pnama_mhs(sj_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 relation
Belum ada Komentar untuk "Bahasa Query Formal"
Posting Komentar