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

Postingan Populer