Mereka berguna untuk memungkinkan para programmer

BAHASA QUERY
Bahasa Query terbagi menjadi dua kelompok yaitu :
1. Prosedural terdiri dari (Aljabar Relasi dan SQL,MySql, oracle dll)
2. Non prosedural (Query By Example)
User Mahir (Casual User) Cara berinteraksi dengan basis data melalui query yang telah disediakan oleh DBMS ( Data Base
Management System) :
DBMS Adalah suatu program komputer yang digunakan untuk memasukkan, mengubah, menghapus, memanipulasi dan
memperoleh data / informasi secara praktis dan efisien
Contoh produk DBMS:

Oracle (Oracle Corp.)

Informix

Sybase

Dbase

MS SQL, My SQL

Ingres (ASK Group Inc.) dll


o

Operasi Aljabar / Algebra pada aljabar relasi adalah Select Operation, Project Operation, Union Operation, Set
Difference Operation, dan Cartesian Product.

o

SQL memiliki struktur dasar
Select a1,a2..an , untuk menentukan nama atribut hasil Query
From t1,t2..tn, untuk menentukan nama tabel yang akan dikenakan perintah query
[ Where ] ,untuk menentukan predikat (syarat) yang harus dipenuhi untuk memperoleh hasil query.

QBE (Query By Exsample)
Di kembangkan oleh T.J. Watson Research Center tahun 1970
Query dengan QBE dapat dibuat dengan contoh ( by-exsample)
ALGEBRA/Aljabar :
1. Select Operation ( σ )
Digunakan untuk mencari baris pada tabel yang memenuhi predikat (kondisi tertentu)
Notasi : σ f (R) Dimana f adalah predikat dan R adalah tabel.

2. Project Operation ( Π )
Digunakan untuk memilih atribut tertentu pada tabel untuk ditampilkan
Notasi : Π a1, a2….an (R) Dimana a1, a2..an adalah atribut yang akan ditampilkan.
o

3.

Cartesian Product
Operasi perkalian, digunakan untuk merelasikan semua record dari dua tabel
Notasi : R = R1 x R2 Dimana R akan berisi seluruh kombinasi record2 dan seluruh atribut dari R1 dan R2.
4. Union Operation
Digunakan untuk menggabungkan record2 yang berasal dari dua tabel ( relasi ).
Notasi : R = R1  R2
5.Set Difference Operation
Notasi : R = R1 - R2
Digunakan untuk membentuk relasi baru dengan record-record berasal dari R1 tetapi tidak terdapat pada relasi R2

Contoh Soal :
A. Misalnya terdapat empat tabel yaitu film, pelangan, sewa dan detailsewa
1. Tabel FILM : Kdfilm  Judul, Sutradara, Actor,Hargai

Judul
Sutradara
Actor
Harga
Kdfilm
V-002
V-003

The Lost
Vampire

Jacki S
Goen

Donna
Ciblexs

3000
4000


2. Tabel PELANGAN : Kdplgn  nmplgn,alamat,kota
Alamat
Kdplgn Nmplgn
02011
02012
02013

Amir
Budi
Dini

Kota

Jl. Indrapasta II/6
Jl. Pemuda I/70
Jl. Imam Bonjol II No 45

Semarang
Solo
Semarang


3. Tabel Sewa
Nosewa kdplgn,tglnota,tglsewa,tglkembal
Tglnota
Tglsewa
Nosewa Kdplgn
005A
02001
05-01-09
4.Tabel Detailsewa
Nosewa,kdfilm  jmlsewa, hrgsewa
Nosewa Kdfilm Jmlsewa
005A
005A

V-002
V-003

Tglkembali


05-01-09

05-01-09

Hargasewa

1
2

3000
4000

Contoh :
2. Tabel PELANGAN : Kdplgn  nmplgn,alamat,kota
Alamat
Kdplgn Nmplgn
02011
02012
02013
o


Kota

Amir
Jl. Indrapasta II/6
Semarang
Budi
Jl. Pemuda I/70
Solo
Dini
Jl. Imam Bonjol II No 45
Semarang
Tampilkan semua pelangan yang berasal dari kota ”Solo”
1.Aljabar relasi : σ kota=”Solo” ( pelangan )
2. SQL : Select * from pelangan where kota=”Solo”
3. QBE (Queri By Exsample):
Table Pelangan
Nmplgn
Alamat
Kdplgn

P._x

P._y

P._z

Kota
“Solo”

Hasil Query :

Kdplgn
o

Nmplgn

Alamat

Kota


02012
Budi
Jl. Pemuda I/70
Solo
Tampilkan semua pelangan yang berasal dari kota ”Semarang” atau nama pelangan ”Budi”
Aljabar relasi : σ kota=”Semarang ”  nama=”Budi” ( pelangan )
SQL : Select * from pelangan where kota=”Semarang” or nama=”Budi”
QBE (Queri By Exsample):
Table Pelangan
Nmplgn
Alamat
Kota
Kdplgn
P._x
_x

P._z

“Semarang”


“Budi”

Hasil Query :

Kdplgn

Nmplgn

Alamat

Kota

02011

Amir

Jl. Indrapasta II/6

Semarang


02012
Budi
Jl. Pemuda I/70
Solo
02013
Dini
Jl. Imam Bonjol II No 45
Semarang
o Tampilkan semua pelangan yang berasal dari kota ”Semarang” dan bernama ”Amir”
Aljabar relasi : σ kota=”Semarang ”  nama=”Amir” ( pelangan )
SQL : Select * from pelangan where kota=”Semarang” and nama=”Amir”
QBE (Queri By Exsample):
Table Pelangan
Nmplgn
Alamat
Kota
Kdplgn
P._x

“Amir”

P._z

“Semarang”

Hasil Query :

Kdplgn

Nmplgn

Alamat

Kota

02011

Amir

Jl. Indrapasta II/6

Semarang

Contoh : Project Operation ( Π )
o Tampilkan nmplgn dan kota pada tabel pelangan yang kota=”Semarang”
Aljabar relasi : Π nmplgn, kota (σ kota = “Semarang” (pelangan))
SQL : Select nmplgn, kota from pelangan where kota=”Semarang”
QBE (Queri By Exsample):
Table Pelangan
Nmplgn
Alamat
Kota
Kdplgn
P._x
Hasil Query
Nmplgn
Kota
Amir
Semarang
Dini
Semarang

“Semarang”

Tabel FILM : Kdfilm  Judul, Sutradara, Actor,Hargai
Judul
Sutradara
Actor
Kdfilm
V-002
V-003

The Lost
Vampire

Jacki S
Goen

Donna
Ciblexs

Harga
3000
4000

Tabel Detailsewa
Nosewa,kdfilm  jmlsewa, hrgsewa
Nosewa Kdfilm Jmlsewa
005A
005A

V-002
V-003

1
2

Hargasewa
3000
4000

Contoh soal :
Tampilkan nosewa,kdfilm, judul,jmlsewa, hargasewa dari tabel film dan detailsewa yang hrgsewa > 3000 atau jmlsewa>1.
Aljabar relasi :
Π detailsewa.nosewa, detailsewa.kdfilm,film.judul, detailsewa.jmlsewa,detailsewa.hrgsewa
(σ (detailsewa.hrgsewa>3000  detailsewa.jmlsewa>1) ^ deatilsewa.kdfilm=film.kdfilm (film x detailsewa))
SQL : Select detailsewa.nosewa, detailsewa.kdfilm, film.judul, detailsewa.jmlsewa,detailsewa.hrgsewa from film, detailsewa
where (detailsewa.hrgsewa>3000 or detailsewa.jmlsewa>1) and deatilsewa.kdfilm=film.kdfilm

QBE :
Tabel FILM

Kdfilm

Judul

_x

P._y

Tabel Detailsewa
Nosewa Kdfilm
P._z

P._x

Sutradara

Jmlsewa

Actor

Hargasewa
>3000

Harga

P._x

>1

Hasil Queri :

Nosewa

Kdfilm

Judul

Jmlsewa

Hargasewa

005A

V-003

Vampire

2

4000

Contoh :Union Operation
Tampilkan pelangan yang berasal dari kota ”Semarang” atau yang bernama ”Amir” dari tabel pelangan.
Aljabar relasi :
σ kota=”Semarang” ( pelangan )
Hasil Query :

Kdplgn

Nmplgn

Alamat

Kota

02011
02013

Amir
Dini

Jl. Indrapasta II/6
Jl. Imam Bonjol II No 45

Semarang
Semarang

Alamat

Kota

σ nama=”Amir” ( pelangan)
Hasil Query :

Kdplgn

Nmplgn

02011
Amir
Jl. Indrapasta II/6
Semarang
Aljabar relasi :σ kota=”Semarang” ( pelangan )  σ nama=”Amir” ( pelangan )
SQL
: (Select * from pelangan where kota=”Semarang” ) union ( Select * from pelangan where nama=”Amir”)
QBE : Tabel pelangan
Alamat
Kota
Kdplgn Nmplgn
P._x
P._x

P._y

“Semarang”

“Amir”

Hasil Query :

Kdplgn

Nmplgn

Alamat

Kota

02011
02013

Amir
Dini

Jl. Indrapasta II/6
Jl. Imam Bonjol II No 45

Semarang
Semarang

Contoh :Set Difference Operation
Contoh : Tampilkan pelangan yang kota ”Semarang” dan yang bukan namanya ”Amir” dari tabel pelangan.
Aljabar relasi :
σ kota=”Semarang” ( pelangan )
Hasil Query :

Kdplgn

Nmplgn

02011
Amir
02013
Dini
σ nama”Amir” ( pelangan )

Alamat

Kota

Jl. Indrapasta II/6
Jl. Imam Bonjol II No 45

Semarang
Semarang

Alamat

Kota

Hasil Query :

Kdplgn

Nmplgn

02013
Dini
Jl. Imam Bonjol II No 45
Semarang
σ kota=”Semarang” ( pelangan ) - σ nama”Amir” ( pelangan )
SQL : ( Select * from pelangan where kota=”Semarang”) - (Select * from pelangan where nama”Amir” )
QBE : Tabel pelangan
Alamat
Kota
Kdplgn Nmplgn
P._x
Hasil Query :

- “Amir”

P._y

“Semarang”

Kdplgn

Nmplgn

Alamat

Kota

02011

Amir

Jl. Indrapasta II/6

Semarang

* Query By Example
1. MHS :
Nim
Nm_mhs
A12.2006.00011 AMIR
A11.2007.00555 BUDI
2. Matkul :
Kd_mt
Nm_mt
Sks
MT01
SBD
2
MT02
PASCAL
3
3. KRS / Nilai:
Nim
Kd_mt
Nil
A12.2006.00011 MT01
75
A11.2007.00555 MT01
95
A11.2007.00555 MT02
55

Alamat
Jl. Pemuda II N0 240
Jl. Slamet Riyadi I/70

Kota
Semarang
Solo

Kdpos
50123
60001

Telpon
70123456
70133333

Status
U
B
B

Kerjakan soal dibawah ini dengan Aljabar Relasi, SQL dan QBE
1. Tampilkan semua data Mhs yang berasal dari kota ”Solo”
Aljabar relasi : σ kota=”Solo” ( mhs )
SQL : Select * from mhs where kota=”Solo”

QBE :
Tabel mhs
Nim
P._x

Nama
P._y

Alamat
P._z

Kota
”Solo”

Telpon
P._w

2. Tampilkan Nim, nama dari tabel Mhs yang berasal dari kota ”Solo” atau nama=”Tohri”
Aljabar relasi : Π nim,nama (σ kota=”Solo”  nama=”Tohri” ( mhs ))
SQL : Select nim,nama from mhs where kota=”Solo” or nama=”Tohri”

QBE :
Tabel mhs
Nim
P._x
P._x

Nama
P._y
“Tohri”

Alamat

Kota
”Solo”

Telpon

3. Tampilkan

nim, nama, nil mahasiswa yang krs yang nil>=70
Aljabar relasi : Π krs.nim, mhs.nama , krs.Nil (σ krs.nil>=70  krs.nim=mhs.nim( mhs X krs ))
SQL : Select krs.nim,mhs.nama,krs.nil from mhs,krs where krs.nil>=70 and krs.nim=mhs.nim;

QBE :
Tabel mhs
Nim
_x

Nama
P._y

Alamat

Kota

Tabel Krs
Nim
P._x

Kd_mt

Nil
>=70

Status

Telpon

4. Tampilkan

nim, nama,nm_mt,sks, nil mahasiswa yang krs yang nil>=70
Aljabar relasi :
Π krs.nim,mhs.nama,matkul.nm_mt,matkul.sks ,krs.Nil (σ krs.nil>=70  krs.nim=mhs.nim  krs.kd_mt=matkul.kd_mt ( mhs X
krs, matkul X krs )

SQL : Select krs.nim,mhs.nama,matkul.nm_mt, matkul.sks,krs.nil from mhs,krs,matkul where krs.nil>=70 and
krs.nim=mhs.nim and krs.kd_mt=matkul.kd_mt;

QBE :
Tabel mhs
Nim
_x

Nama
P._y

Alamat

Kota

Tabel Krs
Nim
P._x

Kd_mt

Nil
>=70

Status

._Z
Matkul :
Kd_mt
_Z

Nm_mt
P._w

Sks
P._r

Telpon