PENGENALAN BASIS DATA

advertisement
16/12/2010
Structured Query Language - DML
(Pert. 12)
Oleh :
Umi Laili Yuhana, S.Kom, M.Sc.
Sarwosri, S.Kom, M.T.
Dr. Ir. Siti Rochimah
BASIS DATA JURUSAN TEKNIK INFORMATIKA - ITS
GASAL 2010/2011
1
SQL Data Definition Language
(DDL)
• Perintah DDL dalam SQL meliputi :
– CREATE TABLE – membuat tabel baru dalam
database
– ALTER TABLE – mengubah definisi tabel
– DROP TABLE – menghapus tabel
– CREATE INDEX – membuat index (search key)
– DROP INDEX - menghapus index
BASIS DATA JURUSAN TEKNIK INFORMATIKA - ITS
GASAL 2010/2011
1
16/12/2010
SQL Data Manipulation Language
(DML)
• Perintah SQl untuk DML (Data Manipulation
Language) antara lain :
–
–
–
–
SELECT – Mengekstrak data dari tabel-tabel di database
UPDATE – Mengupdate data dalam tabel di database
DELETE – Menghapus data dari tabel di database
INSERT INTO – Menyisipkan/menambah data baru ke
dalam tabel di database
BASIS DATA JURUSAN TEKNIK INFORMATIKA - ITS
GASAL 2010/2011
ER-D dbCompany
BASIS DATA JURUSAN TEKNIK INFORMATIKA - ITS
GASAL 2010/2011
2
16/12/2010
Syntax SQL
SELECT [DISTINCT] select_list
FROM table_source
[WHERE search_condition]
[GROUP BY group_by_expression]
[HAVING search_condition]
[ORDER BY order_expression [ASC | DESC] ]
BASIS DATA JURUSAN TEKNIK INFORMATIKA - ITS
GASAL 2010/2011
Pernyataan SELECT
• Pernyataan SELECT digunakan untuk menyeleksi (memilih)
data dari satu atau beberapa tabel.
• Hasil tabulasi disimpan dalam tabel hasil (disebut sebagai
result-set).
• Syntax :
SELECT column_name(s) FROM table_name
SELECT [*] [<kolom1>, <kolom2>, . . ., <kolomN>]
[<alias.kolom1>, <alias.kolom2>, . . . , <alias.kolomN>]
FROM <nama_tabel>
BASIS DATA JURUSAN TEKNIK INFORMATIKA - ITS
GASAL 2010/2011
3
16/12/2010
Contoh Pemakaian Select
•
Soal : Dapatkan Informasi NIP, Nama Depan, Alamat dan Gaji
Pegawai
Syntax :
•
SELECT NIP, NmDepan, Alamat, Gaji
From Pegawai

Hasil:
BASIS DATA JURUSAN TEKNIK INFORMATIKA - ITS
GASAL 2010/2011
Klausa Where
• WHERE digunakan jika informasi yang ditampilkan
(pernyataan SELECT) memiliki kriteria tertentu.
• Syntax:
SELECT column
FROM table
WHERE column operator value
BASIS DATA JURUSAN TEKNIK INFORMATIKA - ITS
GASAL 2010/2011
4
16/12/2010
Operator dalam klausa WHERE
• Operator yang dapat digunakan dalam
klausa WHERE adalah:
Operator
=
<>
Description
Equal (sama dengan)
Not equal (tidak sama dengan)
>
Greater than (Lebih dari)
<
Less than (kurang dari)
>=
Greater than or equal (lebih dari sama dengan)
<=
Less than or equal (kurang dari sama dengan)
BETWEEN
LIKE
Between an inclusive range
Search for a pattern (pencarian dengan pola
tertentu)
BASIS DATA JURUSAN TEKNIK INFORMATIKA - ITS
GASAL 2010/2011
Contoh Pemakaian Klausa Where
• Soal: Dapatkan Informasi NIP, Nama Depan, Alamat
dan Gaji Pegawai yang gajinya lebih dari 25000
• Syntax:
SELECT NIP, NmDepan, Alamat, Gaji
From Pegawai
Where Gaji>25000

Hasil:
BASIS DATA JURUSAN TEKNIK INFORMATIKA - ITS
GASAL 2010/2011
5
16/12/2010
PEMETAAN ALJABAR RELASIONAL
KE SQL
BASIS DATA JURUSAN TEKNIK
INFORMATIKA - ITS GASAL 2010/2011
11
Pemetaan Operasi Selection ke SQL
Untuk memilih baris tertentu dari sebuah himpunan baris data (record) yang
memenuhi kondisi dan membuang baris yang lain.
Notasi:
<kondisi pilihan>(<nama relasi>)
Dapatkan pegawai
yang gajinya kurang dari 200
Dapatkan pegawai yang
nomornya >= 7 dan
gajinya kurang dari 200
 salary<200(E)
 nr>=7
AND salary < 200(E)
BASIS DATA JURUSAN TEKNIK
INFORMATIKA - ITS GASAL 2010/2011
12
6
16/12/2010
Pemetaan Operasi Projection ke SQL
Untuk memilih attribut (kolom) tertentu dari himpunan / sub himpunan
dan membuang yang lain.
Notasi:
<daftar attribut>(<nama relasi>)
Tampilkan gaji pegawai
Tampilkan nomor pegawai
Beserta gajinya
salary(E)
nr, salary(E)
BASIS DATA JURUSAN TEKNIK
INFORMATIKA - ITS GASAL 2010/2011
13
Gabungan Selection & Projection
Dapatkan nama dan gaji pegawai
yang gajinya kurang dari 200
name, salary(
salary<200(E))
atau step by step
Temp   salary<200(E)
Result  name, salary(Temp)
BASIS DATA JURUSAN TEKNIK
INFORMATIKA - ITS GASAL 2010/2011
14
7
16/12/2010
Pemetaan Cartesian Product (Cross Product)
•Pada prakteknya jarang digunakan
•Seringkali error
•Memberikan hasil yang besar
EXD
SELECT *
FROM E, D
BASIS DATA JURUSAN TEKNIK
INFORMATIKA - ITS GASAL 2010/2011
15
JOIN
• Operasi umum yang berguna
• Sama dengan cartesian product yang diikuti
dengan selection
• Lebih efisien untuk menggunakan join secara
langsung dari pada cartesian product
• SQl query yang sama dapat ditranslasikan ke
beberapa pernyataan aljabar relasional yang
memberikan hasil yang sama
BASIS DATA JURUSAN TEKNIK
INFORMATIKA - ITS GASAL 2010/2011
16
8
16/12/2010
Pemetaan INNER JOIN
 dept=dnr(E X D)
atau
E JOIN dept=dnrD
BASIS DATA JURUSAN TEKNIK
INFORMATIKA - ITS GASAL 2010/2011
17
Latihan SQL
BASIS DATA JURUSAN TEKNIK INFORMATIKA - ITS
GASAL 2010/2011
9
16/12/2010
LATIHAN
Tuliskan SQL dari latihan berikut
1. Dapatkan nama, alamat dan gaji pegawai yang
berada pada departemen research
2. Dapatkan nama, alamat dan no KTP pegawai
yang menjadi menjadi supervisor dari pegawai
lain
3. Dapatkan nama dan noKTP pegawai beserta
nama dan noKTP supervisornya
4. dapatkan nama, alamat dan NoKTP dari
pegawai yang menjadi manajer departemen 4
BASIS DATA JURUSAN TEKNIK
INFORMATIKA - ITS GASAL 2010/2011
19
LATIHAN
Tuliskan SQL dari latihan berikut
5. Dapatkan nama, alamat beserta nama proyek
dari pegawai yang terlibat di proyek ProductZ
6. Dapatkan nama proyek yang dikedalikan oleh
departemen research
7. Dapatkan nama proyek yang berlokasi di
houston atau di stafford
8. Dapatkan nama dan lokasi proyek tempat
john bekerja
BASIS DATA JURUSAN TEKNIK
INFORMATIKA - ITS GASAL 2010/2011
20
10
16/12/2010
LATIHAN
Tuliskan SQL dari latihan berikut
9. Dapatkan nama dan alamat pegawai laki-laki
yang memiliki gaji kurang dari 40000
10. Dapatkan nama dan gaji dari manajer
departemen Administration
BASIS DATA JURUSAN TEKNIK
INFORMATIKA - ITS GASAL 2010/2011
21
Pustaka
• Ramakrishnan, Raghu, Gehrke, Johannes.
2003. Database Management Systems, Third
Edition. New York: The McGraw-Hill
Companies, Inc.
• http://www.databasteknik.se/webbkursen/rel
alg-lecture/index.html
• http://www.w3schools.com/sql
BASIS DATA JURUSAN TEKNIK INFORMATIKA - ITS
GASAL 2010/2011
22
11
Download