BAHASA QUERI FORMAL
Prosedur - Aljabar Relasional Perangkat Lunak : MACAIMS
PL: SQL Bahasa Queri Formal Tupel PL. : QUEL
Tanpa Prosedur - Kalk.Relasional PL. : DATALOG Domain PL : QBE
Bahasa Queri Formal
Halaman : 1 dari 15
ALJABAR RELASIONAL
ο
π
OPERASI - OPERASI DASAR ←
SELECT
↑
PROJECT
→
CARTESIAN PRODUCT
↓
UNION
°
SET DIFFERENCE
OPERASI - OPERASI TAMBAHAN ⊇
NATURAL JOIN
⊄
THETA JOIN
⊂
INTERSECTION
⊆
DIVISION
Bahasa Queri Formal
Halaman : 2 dari 15
add.
←
SELECT / RESTRICT
Memperoleh tupel-tupel dari suatu relasi yang memenuhi predikat tertentu Simbol : σ (sigma ) Operasi SELECT akan melibatkan : Operand Operator aritmatika Operator logika
: konstanta / bilangan : <, =, >, ≥, ≠, ≤ : ∧ (and), ∨ (or), ¬ (not)
Ilustrasi : R
Tupel-tupel hasil SELECT
Contoh Queri : Skema relasi MAHASISWA (npm,nama,alamat,kota,jkel) Dicari Informasi mengenai mahasiswa yang mempunyai NPM = “10296126”
σnpm=“10296126” (MAHASISWA) Hasilnya : ??? Bahasa Queri Formal
Halaman : 3 dari 15
↑
add.
PROJECT
Memperoleh atribut-atribut tertentu dari suatu relasi Simbol
:
∏ (pi)
Ilustrasi : R
Atribut-atribut hasil project
Contoh Queri : Skema Relasi MAHASISWA (npm,nama,alamat,kota,jkel) Dicari informasi mengenai nama dan kota mahasiswa ∏nama,kota
(MAHASISWA)
Hasilnya : ???
Bahasa Queri Formal
Halaman : 4 dari 15
→
add.
CARTESIAN PRODUCT
Membentuk suatu relasi dari dua relasi yang terdiri dari kombinasi tupel-tupel yang mungkin Simbol
:
X (cros)
Ilustrasi : R
S
R X S
a b
1 2 3
a a a b b b
1 2 3 1 2 3
Contoh Queri : Skema Relasi MAHASISWA(npm,nama,alamat,kota,jkel) Skema Relasi MKULMI(kdmk,mtkul,sks) Kombinasikan data dari relasi MAHASISWA dengan data dari relasi MKULMI. MAHASISWA X MKULMI Hasilnya : ???
Bahasa Queri Formal
Halaman : 5 dari 15
add.
↓
UNION
Membentuk suatu relasi yang terdiri dari tupel-tupel yang berada pada salah satu relasi atau pada kedua relasi, dengan syarat : • Misalkan ada relasi R dan S, maka jumlah atribut relasi R dan S harus sama • Domain dari atribut ke i dari R harus sama dengan dengan domain dari atribut ke i dari S. Simbol
: ∪ (union)
Ilustrasi : R
S
R ∪ S
Contoh Queri Skema relasi MAHASISWA (npm,nama,alamat,kota,jkel) Skema relasi DOSEN (nip,nama,alamat,kota,jkel) Gabungkan data dari relasi MAHASISWA dengan data dari relasi DOSEN MAHASISWA ∪ DOSEN Hasilnya : ???
Bahasa Queri Formal
Halaman : 6 dari 15
add.
°
SET DIFFERENCE
Membentuk suatu relasi yang terdiri dari tupel-tupel yang berada pada relasi pertama dan tidak berada pada relasi kedua atau kedua-duanya. Simbol
: − (minus )
Ilustrasi : R
S
R − S
Contoh Queri : Skema relasi MAHASISWA (npm,nama,alamat,kota,jkel) Skema relasi DOSEN (nip,nama,alamat,kota,jkel) Dicari nama mahasiswa yang berada pada kota yang sama dengan kota dosen. ∏nama(σkota=‘Jakarta’ (MAHASISWA)) − ∏nama(σkota=‘Jakarta’ (DOSEN)) Hasilnya : ???
Bahasa Queri Formal
Halaman : 7 dari 15
⊇
add.
NATURAL JOIN
Membentuk suatu relasi dari dua relasi yang terdiri dari kombinasi yang mungkin dari relasi-relasi.
Simbol
: Χ
Ilustrasi : R a 1 b 2
S 1 x 1 y 3 z
R Χ S a 1 x a 1 y
Contohnya : Skema relasi MAHASISWA (npm,nama,alamat,kota,jkel) SKEMA relasi KRS (npm,kdmk,kelas) Dicari nama mahasiswa yang mengambil matakuliah dengan kode matakuliah “KK021” ∏nama(σkdmk=“KK021” (MAHASISWA X KRS)) Hasilnya : ???
Bahasa Queri Formal
Halaman : 8 dari 15
⊄
add.
THETA JOIN
Membentuk suatu relasi dari dua relasi yang terdiri dari kombinasi yang mungkin dari relasi-relasi dengan kondisi tertentu. Simbol
: Χ θ
Ilustrasi :
A 1 4 7
R B 2 5 8
C 3 6 9
S D E 4 6 7 8
A 1 1 4
R B B 2 2 5
Χ < C 3 3 6
S D D 4 7 7
E 6 8 8
Contoh Queri : Skema relasi MAHASISWA (npm,nama,alamat,kota,jkel) Skema relasi DOSEN (nip,nama,alamat,kota,jkel) Dicari pasangan tupel nama mahasiswa dan nama dosen yang tinggal di kota yang sama. ∏MAHASISWA.nama, DOSEN.nama
(MAHASISWA X DOSEN) MAHASISWA.kota = DOSEN.kota
Hasilnya : ???
Bahasa Queri Formal
Halaman : 9 dari 15
⊂
add.
INTERSECTION
Membentuk suatu relasi yang terdiri atas tupel-tupel yang sama dari dua relasi. Simbol
: ∩
Ilustrasi : R
S
R ∩ S
Contoh Queri : Skema relasi MKULMI (kdmk,namamk,sks) Skema relasi MKULTK(kdmk,namamk,sks) Dicari nama matakuliah dengan kode matakuliah “KK021” yang berada pada jurusan MI dan TK. Πnamamk(σkdmk=“KK021”(MKULMI)) ∩ Πnamamk(σkdmk=“KK021”(MKULTK)) Hasilnya : ???
Bahasa Queri Formal
Halaman : 10 dari 15
⊆
add.
DIVISION
Untuk mendapatkan nilai yang ada pada salah satu atribut dari relasi ‘pembilang’ yang nilai atribut lainnya sama dengan nilai atribut relasi ‘penyebut’. Simbol
: ÷
Ilustrasi :
a a b e e a
R b b c d d b
c e e c e d
D F F D F E
S c d e f
R ÷ S a b e d
R R ÷ S
S
Sisa bagi
Contohnya : Skema relasi MAHASISWA (npm,nama,alamat,kota,jkel) Skema relasi KRS (npm,kdmk,kelas) Dicari semua nama mahasiswa yang mengambil matakuliah dengan kode matakuliah “KK021” ∏npm,nama(MAHASISWA) ÷ ∏npm(σkdmk=“KK021”(KRS)) Hasilnya : ???
Bahasa Queri Formal
Halaman : 11 dari 15
KALKULUS RELASIONAL
∗ KALKULUS RELASIONAL TUPEL
Ekspresi :
{ t | P(t) } →
t P
: tupel : predikat terhadap t
Bentuk-bentuk dari predikat : 1. S ε R
→
S : variabel, R : Relasi
2. S[x] θ U [y] →
S & U : variabel tupel θ : operator aritmatik <, =, >, ≥, ≤, ≠ x : atribut pada S y : atribut pada U
3. S[x] θ C
C θ
→
: konstanta : operator penghubung ∧ (and), ∨ (or)
Contoh : Skema relasi DOSEN (nip,nama,alamat,kota,jkel) Dicari nama dosen yang berada di kota ‘Bogor’ { t | t ∈ DOSEN ∧ t [kota] = “Bogor”}
Bahasa Queri Formal
Halaman : 12 dari 15
∗ KALKULUS RELASIONAL DOMAIN Ekspresi { < x1, x2,..., xn > | P < x1, x2,..., xn >} xi P
: variabel domain : predikat terhadap x
Bentuk-bentuk dari predikat :
1.
< x1, x2,..., xn > ∈ R
→ R x
2.
x θ y
→ x & y : variabel domain θ : operator aritmatik
3.
x θ C
→C
: relasi : variabel domain
: konstanta
Contoh Skema relasi DOSEN (nip,nama,alamat,kota,jkel) Dicari data-data mengenai dosen yang mempunyai nip ‘87000650’ { < n, a, l, k, j > | < n, a, l, k, j > ∈ DOSEN ∧ n = ‘87000650’ }
Bahasa Queri Formal
Halaman : 13 dari 15
Tabel MAHASISWA npm 10296126 10296130 10296135 10296140 10296145 10296055 10296187
nama Kurnianingsih Deden A. Ayu Nugrah Didit Kurnia Yogi Adi LYB Leo Andriani
alamat Jl.Kenari 20 Jl.Kecubung 5 Jl.Margonda Jakasampurna Jl.Murni 12 Mekarsari Kp.Bugis 20
kota Jakarta Bogor Bogor Jakarta Depok Depok Bekasi
jkel W P P P P W W
Tabel MKULMI kdmk KK021 KK022 KK023 DU130 DU012
mtkul Manajemen Basis Data Pancasila Kimia Dasar Pararel Komunikasi Data
sks 2 2 2 3 3
Tabel MKULTK kdmk KK021 KK027 KK033 DU139 DU017
mtkul Manajemen Basis Data Struktur Diskrit Matematika Rangkaian Listrik Penulisan Ilmiah
Bahasa Queri Formal
sks 2 2 2 3 2
Halaman : 14 dari 15
Tabel DOSEN Nip 87000650 87000086 81001235 89001909 90000156 91000234 98000123 98001346 97000345
nama Sugeng Haryono Anita W. Agung W. Bambang W Aldefaniani Debby L. Yunufa Taufik H.
alamat Mekarsari Margonda Klp.Gading Jakasampurna Neli Murni Mekarsari Kp.Bugis 20 Mekarsari Vila Pertiwi
kota Bogor Depok Jakarta Jakarta Depok Depok Bekasi Bekasi Bogor
jkel P P W P P W W P P
Tabel KRS npm 10296126 10296130 10296135 10296140 10296145 10296055 10296187
kdmk KK021 KK027 KK033 DU139 DU017 KK021 KK033
Bahasa Queri Formal
Kelas 3-4 3-2 4-2 3-3 3-2 3-1 3-2
Halaman : 15 dari 15