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
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.
Aljabar
Relational
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 relational dibagi menjadi 2 kelompok:
1.Operator dasar untuk fundamental operational
2.Operator
tambahan untuk additional operasional
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 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 ( π ) 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
πnama_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’. π ππ π nid, nama_d, nama_mk,
thn_akademik,smt, hari,jam_ke, waktu, kelas ( σ σσ σ smt=1 ∧ ∧∧ ∧Dosen.nid = Mengajar.nid ∧ ∧∧ ∧mengajar.kdmk =
Matakuliah.kdmk
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))
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
Komentar
Posting Komentar