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 RELATION
– 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
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 tabel mahasiswa dengan tabel dosen
p kota (mahasiswa) È pkota (Dosen)
e. Set diference ( – )
Operasi untuk mendapatkan tabel dis uatu relasi tapi tidak ada direlasi 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
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 RELATION
– 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
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 tabel mahasiswa dengan tabel dosen
p kota (mahasiswa) È pkota (Dosen)
e. Set diference ( – )
Operasi untuk mendapatkan tabel dis uatu relasi tapi tidak ada direlasi 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
Komentar
Posting Komentar