bahasa
Query
basis data
bab 8
Dosen : Yayu Sri Rahayu, M Kom. STMIK EL RAHMA
Bahasa Query merupakan bahasa yang termasuk dalam kategori bahasa tingkat tinggi (high level language) yang digunakan user untuk mendapatkan informasi/data dari basis data.
Bahasa Query formal
Bahasa Query formal yang sering digunakan secara umum adalah Aljabar Relasional yang merupakan bahasa
Query yang Prosedural.
Terdapat dua jenis bahasa query relasional formal yang utama, yaitu:
BAHASA QUERY FORMAL
• Bahasa query formal basis data relasional adalah bahasa untuk meminta informasi dari basis data. • Bahasa query relasional formal merupakan
ALJABAR RELATIONAL
• Relational Algebra (aljabar relasional) merupakan kumpulan operasi terhadap relasi dimana setiap operasi menggunakan satu atau lebih relasi untuk menghasilkan satu relasi yang baru dan termasuk kategori prosedural dan juga menyediakan
ALJABAR RELATIONAL
• Terdapat lima operasi dasar dalam aljabar relasional, yaitu:
1. Selection ( )
2. Projection ( )
3. Cartesian – product ( X, juga disebut sebagai cross product )
4. Union ( )
ALJABAR RELATIONAL
• Operasi – operasi turunan dari operasi – operasi dasar tersebut adalah:
1. Set intersection ( )
2. Theta join ( )
OPERASI SELEKSI
( SELECT )
• Selection / Select ( ), adalah operasi untuk
menyeleksi tupel – tupel yang memenuhi suatu predikat, kita dapat menggunakan operator
perbandingan (<,>,>=,<=,=,#) pada predikat.
OPERASI SELEKSI
( SELECT )
• Sintaks yang digunakan untuk menyatakan operasi adalah :
p (E1)
• Contoh :
Tampilkan data mahasiswa yang tempat tinggalnya di Bogor.
OPERASI SELEKSI
( SELECT )
• Tampilkan daftar dosen yang tempat lahirnya di ‘Bekasi
tempat_lhr=’Bekasi’ (Dosen)
• Tampilkan daftar dosen yang tempat lahirnya di ‘Jakarta’ atau ‘Bogor’
• Tampilkan daftar dosen yang tempat lahirnya di ‘Bogor’ dan jenis kelaminnya ‘Pria’
OPERASI PROJECTION
(PROJECT)
• Projection / Project ( ), adalah operasi untuk
memperoleh kolom – kolom tertentu.
• Operasi project adalah operasi unary yang
mengirim relasi argumen dengan kolom – kolom tertentu.
• Sintaks yang digunakan dalam operasi proyeksi ini adalah sebagai berikut :
CONTOH OPERASI
PROJECTION (PROJECT)
• Tampilkan nid,nama_d,alamat,kota dari relasi Dosen
nid,nama_d,alamat,kota(Dosen)
• Tampilkan nid,nama_d,alamat,kota,gajipokok dari relasi Dosen, dimana gaji pokoknya lebih besar dari Rp.1200000
id,nama_d,alamat,kota,gajipokok( gajipokok>1200000
OPERASI CARTESIAN
PRODUCT
• Cartesian-product ( X ), adalah operasi untuk menghasilkan table hasil perkalian kartesian.
• Sintaks yang digunakan dalam operasi proyeksi ini adalah sebagai berikut :
OPERASI CARTESIAN
PRODUCT
• Operasi cartesian-product memungkinkan kita mengkombinasikan informasi beberapa relasi, operasi ini adalah operasi biner. Sebagaimana
CONTOH OPERASI
CARTESIAN PRODUCT
• 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
CONTOH OPERASI
CARTESIAN PRODUCT
• Tampilkan nama_d (dari relasi Dosen), nama_mk,sks (dari relasi Matakuliah), hari,jam_ke,waktu (dari relasi Mengajar) dimana sks matakuliah >3 atau hari mengajar = ‘Jumat’.
nama_d,nama_mk,sks,hari,jam_ke,waktu (
sks>3
hari=’Jumat’
Mengajar.nid=Dosen.nid
OPERASI UNION
• Union ( ), adalah operasi untuk menghasilkan
gabungan table degan syarat kedua table memiliki atribut yangsama, yaitu domain atribut ke-i masing – masing table harus sama.
• Sintaks yang digunakan dalam operasi union ini adalah sebagai berikut :
OPERASI UNION
• Operasi ini dapat dilaksanakan apabila R dan S mempunyai atribut yang sama sehingga jumlah komponennya sama.
• Tabel Mahasiswa
NIM NAMA_MHS ALAMAT_MHS KOTA TGL_LHR
980001 Ali Akbar Jl. Merdeka Bogor 02-01-1979 980002 Budi Haryanto Jl. Gajah Mada Jakarta
• Tabel Dosen
KODE_DOS NAMA_DOS ALAMAT_DOS KOTA
CONTOH OPERASI UNION
• Jila dilakukan operasi union :
kota (mahasiswa) kota (Dosen)
• Maka hasilnya :
KOTA
Bogor Jakarta
OPERASI SET
DIFFERENCE
• Set-difference ( -- ), adalah operasi untuk
mendapatkan table pada suatu relasi, tapi tidak ada pada relasi yang lainnya.
• Sintaks yang digunakan dalam operasi union ini adalah sebagai berikut :
R – S = { x | xR dan X S}
• Operasi ini dapat dilaksanakan apabila R dan S mempunyai atribut yang tidak sama yang akan
ditampilkan, artinya adalah atribut R yang tidak ada di S akan ditampilkan, sedangkan atribut yang
CONTOH OPERASI SET
DIFFERENCE
• Jika tabel Kuliah_S1 dan Tabel Kuliah_D3 berisi data sebagai berikut :
• Tabel Kuliah_S1
Kode_kul Nama_kul Sks semester
CONTOH OPERASI SET
DIFFERENCE
• Tabel Kuliah_D3
Kode_kul Nama_kul Sk
s semester
CONTOH OPERASI SET
DIFFERENCE
• Maka hasil operasi :
nama_kul (Kuliah_S1) - nama_kul (Kuliah_D3)
Nama_kul
CONTOH OPERASI
RENAME
• Salinlah table baru dengan nama DosenNew
dari table Dosen, dimana jenis kelaminnya
adalah ‘Pria’.
STRUCTURE QUERY
LANGUAGE
(SQL)
• SQL merupakan bahasa query yang
paling banyak dipilih oleh DBMS dan
Development Tools.
STRUKTUR DASAR SQL
• Ekspresi dasar SQL terdiri dari 3
klausa.
STRUKTUR DASAR SQL
• Klausa Select digunakan untuk menetapkan daftar atribut (field) yang diinginkan sebagai hasil query. • Klausa From digunakan untuk menetapkan relasi
atau tabel (atau gabungan tabel) yang akan ditelusuri selama query data dilakukan.
STRUKTUR DASAR SQL
• Sintaksnya adalah : Select A1 [A2, A3….An] From T1 [T2….Tm]
[where P]
Dimana :
A1, A2…An merupakan daftar atribut
T1, T2…Tm merupakan daftar tabel atau relasi. P merupakan predikat Query.
Klausa Select
• Contoh :
Jika kita ingin menampilkan NIM dan
Nama Mahasiswa yang ada di tabel
Mahasiswa, maka kita dapat
menggunakan perintah SQL sbb :
Klausa Where
• Contoh :
Menampilkan semua atribut untuk
mahasiswa dengan NIM = ‘980002’
Select *
from mahasiswa
Klausa Where
• Menampilkan semua matakuliah yang
diselenggarakan di semester 3 tetapi
jumlah sks-nya lebih besar dari 2.
Perintah SQL-nya :
Select *
from mahasiswa
Klausa From
• Klausa From digunakan untuk
menetapkan tabel yang kita jadikan
sebagai sumber (lokasi) pencarian
• Contoh :
Select *
From kuliah, dosen
Pengurutan Hasil Query
• Dengan menggunakan ekspresi dasar SQL
maka hasil query ditampilkan dengan urutan
yang sesuai dengan struktur penyimpanan
yang kita terapkan pada tabel query.
• Contoh :
Select *
from mahasiswa
Fungsi Agresi
• Disamping menampilkan nilai-nilai
atribut yang ada di dalam tabel, sering
pula ada kebutuhan untuk menampilkan
data-data agresi seperti : banyaknya
record, total nilai suatu atribut, rata-rata
nilai atribut, nilai atribut terbesar
Fungsi Agresi
• Data Agresi dapat di peroleh dengan
menggunakan fungsi-fungsi sbb :
Contoh Fungsi Agresi
• Menampilkan banyaknya record
mahasiswa
Select count *
Manipulasi Data
• DML menyediakan 4 (empat) pernyataan untuk melakukan manipulasi data dalam database, yaitu: • SELECT, untuk query (meminta informasi) dari
database.
• INSERT, untuk melakukan penyisipan data pada table dalam suatu database.
• UPDATE, untuk melakukan perubahan data pada suatu table dalam suatu database.
Manipulasi Data (2)
Insert
• Terdapat 2 (dua) bentuk pernyataan kalimat
INSERT
, yaitu:
• Bentuk pertama
INSERT
, dimana
memungkinkan satu baris tunggal disisipkan
kealam table.
• Bentuk kedua
INSERT
, dimana
Manipulasi Data
Insert
•
Sintaks :
INSERT [ INTO]
NAMA TABEL
[Daftar_Kolom]
Value
Manipulasi Data
Insert
• INSERT : Klausa ini menspesifikasikan nama tabel dimana data bisa ditambahkan
• VALUE : Klausa ini menspesifikasikan nilai data yang akan disisipkan ke dalam kolom pada tabel
• Daftar_Kolom : Merupakan daftar kolom yang dipisahkan oleh tanda koma menyatakan kolom-kolom yang akan diisi data. Jika tidak ada kolom yang dinyatakan, berarti semua kolom di dalam akan diisi data. Jika hanya sebagian daftar yang dinyatakan, nilai null atau nilai default akan diisikan ke kolom yang tidak disebutkan dalam daftar kolom.
Manipulasi Data
Insert
•
Contoh :
Misalkan kita akan
menyisipkan data pada ke 5 (lima)
table pada database NilaiMahasiswa
tersebut diatas untuk masing – masing
table 1 (satu) record untuk record
Manipulasi Data
Insert
• Table Mahasiswa
INSERT INTO Mahasiswa
Values (‘I01031001’,’Dewi
Nurbaini’,’Bekasi’,’12/10/87’, ’Wanita’,’Jl.
Dahlia I Blok BC 2/3’,’Bekasi Utara’,
Manipulasi Data
Update
• Kalimat UPDATE memungkinkan kita memodifikasi satu nilai kolom atau lebih unuk data table yang telah ada. Kita dapat menerapkan perubahan kesemua
baris di table, satu subset baris, atau satu baris. Sintaks dari kalimat UPDATE tersebut adalah sebagai berikut:
UPDATE table_name
Contoh Perintah Update
• Table Mahasiswa
UPDATE Mahasiswa set
alm_m=’Jl.Seruni Raya No.3’,
kota_m=’Cikarang’,agama_m=’Islam’,te
lpon_m=’02-9897119’, kode_jur=’TI’
Manipulasi Data
Delete
• Kalimat
DELETE
memungkinkan kita
menghapus satu record ataulebih pada
suatu table dlam database. Sintaks dari
kalimat
DELETE
tersebut adalah
sebagai berikut:
Data Definition Data
• DDL (
Data Definition Language
)
memungkinkan kita membuat dan
menghancurkan objek – objek basis
data (database/schema, domain, table,
view, dan index .
Data Definition Data
Create
• Sintaks :
Create Database [Database_name]
• Contoh :
Contoh Membuat Tabel
dengan perintah Create
Create Table Mahasiswa (
nim char (9) not null,
nama_m varchar (35) not null, tpt_lhr_m varchar(26),