SQL I PENDAHULUAN Sistem managemen basis data ( DBMS ) pada umumnya menyediakan utilitas yang dapat...

24
SQL (Structured Query Language)

Transcript of SQL I PENDAHULUAN Sistem managemen basis data ( DBMS ) pada umumnya menyediakan utilitas yang dapat...

Page 1: SQL I PENDAHULUAN Sistem managemen basis data ( DBMS ) pada umumnya menyediakan utilitas yang dapat digunakan secara interaktif untuk melakukan berbagai operasi terhadap basis data,

SQL (Structured Query Language)

Page 2: SQL I PENDAHULUAN Sistem managemen basis data ( DBMS ) pada umumnya menyediakan utilitas yang dapat digunakan secara interaktif untuk melakukan berbagai operasi terhadap basis data,

BAB I

PENDAHULUAN

Sistem managemen basis data ( DBMS ) pada umumnya menyediakan utilitas yang dapat

digunakan secara interaktif untuk melakukan berbagai operasi terhadap basis data, seperti

pembuatan tabel, penghapusan tabel, penambahan data, pengubahan data, pencarian data,

penghapusan data, dan lain sebagainya. Untuk kepentingan yang sama DBMS juga memberikan

fasilitas command line, yaitu suatu sekumpulan perintah-perintah yang dituliskan oleh pemakai

sendiri untuk menunjang kepentingannya. Keistimewaan dari command line adalah bahwa

perintah-perintah ini dapat diinputkan dan dieksekusi oleh DBMS melalui utilitas lain yang juga

disediakan oleh DBMS atau melalui program atau aplikasi yang diciptakan oleh pemakai sendiri.

Kumpulan dari perintah-perintah inilah yang kemudian disebut dengan bahasa basis data (

database language ). Perusahaan pembuat perangkat lunak ( vendor ) untuk mengelola basis

data dan development tool yang fungsinya untuk menulis aplikasi basa data terkadang belum

tentu membuat DBMS sendiri, oleh karena itu untuk mempermudah pemakai diperlukan bahasa

basis data yang sifatnya standart, sehingga pemakai dapat menggunakan bahasa tersebut untuk

mengakses data dimanapun, tanpa mempedulikan DBMS yang digunakan. Atau sebaliknya

pemakai dapat mengakses data ysng dikelola oleh suatu DBMS tanpa mempedulikan

development tool yang digunakan. Dengan demikian dapat tercipta ketidak bergantungan antara

DBMS dan development tool.

Terdapat berbagai bahasa basis data yang digunakan oleh masing-masing DBMS, namun

dari sekian banyaknya bahasa tersebut, yang digunakan sebagai standart bahasa adalah SQL (

structured query language ). Pada dasarnya SQL terdiri dari dua kategori bahasa yang masing-

masing diantaranya memiliki karakteristik dan fungsi yang berbeda, kategori yang pertama

adalah DDL ( data definition language ) dan kategori kedua adalah DML ( data manipulation

language ).

Sebagai sebuah standart, SQL mengalami beberapa perubahan seiring dengan

perkembangan teknologi basis data yang ditunjang dengan perkembangan teknologi komputer.

SQL dibuat pada tahun 1970 dengan nama sequel. Standarisasi yang pertama dibuat pada tahun

1986 oleh ANSI ( american national standards institute ) dan ISO ( international standards

organization ) dengan nama SQL-86. Pada tahun 1989 SQL-86 diperbaharui dengan SQL-89.

Standart terakhir yang dibuat dan berlaku sampai sekarang adalah SQL-92 yang dukeluarkan

pada tahun 1992.

Meskipun SQL cenderung merujuk pada query lqnguage, namun perintah-perintah yang

menjadi standart bukan hanya perintah perintah yang berhubungan dengan query data saja.

Selain mencakup DML, SQL juga telah dilengkapi dengan perintah-perintah yang tergolong DDL

dan perintah kontrol transaksi ( transaction control ).

Page 3: SQL I PENDAHULUAN Sistem managemen basis data ( DBMS ) pada umumnya menyediakan utilitas yang dapat digunakan secara interaktif untuk melakukan berbagai operasi terhadap basis data,

BAB II

DASAR-DASAR SQL

SQL menyediakan peritah dan fungsi dalam jumlah yang cukup banyak untuk menunjang

aktifitas yang berhubungan dengan penelitian dan manipulasi data pada DBMS. Berikut ini akan

diuraikan mengenai dasar-dasar SQL;

v JENIS DEKLARASI PADA SQL

Deklarasi atau perintah dalam SQL dikategorikan menjadi dua yaitu DDL ( data

definition language ) dan DML ( data manipulation language ), kategori ini didasarkan

pada karakteristik dan fungsi dari masing-masing.

A. DDL ( data definition language )

DDL adlah bagian dari SQL yang digunakan untuk mendefinisikan data dan

obyek pada basis data. Perintah-perintah yang tergolong pada kategori ini adalah:

PERINTAH KETERANGAN

CREATE TABLE

CREATE INDEX

ALTER TABLE

DROP TABLE

DROP INDEX

GRANT

Membuat tabel

Membuat index

Mengubah atau menyisipkan kolom ke tabel

Menghapus tabel dari basis data

Menghapus index

Memberi izin akses pada pemakai

B. DML ( data manipulation language )

DML adalah bagian dari SQL yang digunakan untuk memulihkan dan

memanipulasi data. Perintah ini digunakan untuk memberikan query dan perubahan yang

dilakukan di dalam tabel. Perintah-perintah yang tergolong dalam kategori ini adalah :

PERINTAH KETERANGAN

SELECT

INSERT

DELETE

UPDATE

Perintah utama dari SQL. Digunakan untuk memilih

data dari tabel

Menyisipkan baris pada tabel

Menghapus baris pada tabel

Mengubah isi kolom pada tabel

Page 4: SQL I PENDAHULUAN Sistem managemen basis data ( DBMS ) pada umumnya menyediakan utilitas yang dapat digunakan secara interaktif untuk melakukan berbagai operasi terhadap basis data,

COMMIT

ROLLBACK

Menuliskan perubahan pada disk

Membatalkan perubahan dari perintah COMMIT

v TIPE-TIPE DATA

Tipe data digunakan ketika membuat suatu tabel, pemakai harus menentukan informasi

tertentu pada saat pembuatan tabel. Ada beberapa tipe data yang disimpan dalam basis

data, diantaranya adalah :

INTEGER KETERANGAN

BIT

INT

SMALLINT

TINYINT

DECIMAL / NUMERIC

MONEY

SMALLMONEY

FLOAT

REAL

DATETIME

SMALLDATETIME

Integer dengan niali 0 atau 1

Nilai interger antara –2.147.483.648 s/d

2.147.483.647

Nilai antara –32.768 s/d 32.767

Nilai antara 0 s/d 255

Akurasi angka tetap antara –10^38-1s/d 10^38-1

Data moneter dari –2^63 s/d 2^63-1, dengan

tingkat akurasi hingga sepersepuluh ribu unit

moneter

-214.748,3648 s/d 214.748,3647 dengan tingkat

akurasi sepersepuluh ribu unit moneter

-1.79E+308 s/d 1.79E+308

-3.40E+38 s/d 3.40E+38

1 januari 1753 s/d 31 desember 9999

1 januari 1900 s/d 6 juni 2079

RUPA-RUPA KETERANGAN

CURSOR

TIMESTAMP

UNIQUEIDENTIFIER

Referensi ke kursosr

Angka eklusif yang dikenali oleh basas data

Pengenal global yang eklusif

STRING KETERANGAN

CHAR

VARCHAR

TEXT

Field tetap dengan ukuran max 8000 byte

Field tetap dengan ukuran max 8000 byte

Variabel dengan ukuran 2^31-1 byte

Page 5: SQL I PENDAHULUAN Sistem managemen basis data ( DBMS ) pada umumnya menyediakan utilitas yang dapat digunakan secara interaktif untuk melakukan berbagai operasi terhadap basis data,

UNICODE STRING KETERANGAN

NCHAR

NVARCHAR

NTEXT

Karakter unicode dengan ukuran 4000 byte

Karter unicode dengan ukuran berfariasi 4000 byte

Variaber berukuran 2^30-1 byte

BINARY STRING KETERANGAN

BINARY

VARBINARY

IMAGE

Ukuran tetap hingga 8000 byte

Ukuran bervariasi 8000 byte

Ukuran bervariasi hingga 2^31-1 byte

v EKSPRESI DAN OPERATOR

Pada SQL operator bertindak berdasarkan operand, yaitu elemen yang dianalisa oleh

operator. Terdapat dua jenis operator, yaitu operator unary yang bertindak berdasarkan satu

operand saja, dan operator binary yang bertindak berdasarkan dua atau lebih operator.

Apabila pada sebuah ekspresi terdapat lebih dari satu operator, maka operator-operator

tersebut akan dievaluasi berdasarkan urutan sebagai berikut ;

♦ + ( positif ), - ( negatif ), ~ ( bitwise NOT )

♦ * ( perkalian ), / ( pembagian ), % ( modulus )

♦ + ( penjumlahan ), + ( penggabungan ), - ( pengurangan )

♦ +, >, <, >=, <=, <>, !=, !>, !<

♦ ^ ( bitwise exclusive OR ), & ( bitwise AND ), | ( bitwise OR )

♦ NOT

♦ AND

♦ ALL, ANY, BETWEEN, IN, LIKE, OR, SOME

♦ = ( penugasan )

Page 6: SQL I PENDAHULUAN Sistem managemen basis data ( DBMS ) pada umumnya menyediakan utilitas yang dapat digunakan secara interaktif untuk melakukan berbagai operasi terhadap basis data,

BAB III

STRUKTUR DASAR SQL

Sebuah ekspresi SQL dasar sebenarnya hanya terdiri dari tiga klausa yaitu; klausa

where, from, dan where.

• Klausa select : digunakan untuk menetapkan daftar atribut yang diinginkan

sebagai query.

• Klausa from : digunakan untuk menetapkan tabel ( atau gabungan tabel ) yang akan

ditelusuri selama query data dilakukan.

• Klausa where : digunakan untuk predikat ( sebagai kriteria ) yang harus

dipenuhi dalam memperoleh hasil query.

Sintaks ( cara penulisan ) pada ekspresi SQL dasar yang memanfaatkan tiga klausa

tersebut adalah :

select A1 [ ,A2, …,An]

from T1 [ , T2, …,Tn]

[ where P ]

keterangan :

• A1, A2, …, An : daftar atribut

• T1, T2, …, Tn :daftar tabel

• P : predikat query

• [ ] : tanda opsional ( boleh digunakan boleh tidak )

A. KLAUSA SELECT

Sesuai dengan penjelasan diatas bahwa klausa select digunakan untuk menetapkan

daftar atribut yang dinginkan sebagai hasil query, maka berikut ini akan dijelaskan lebih

lanjut tentang klausa select dengan menyertakan contohnya.

Sebagai contoh pada tabel mahasiswa berikut;

TABEL 1 : MAHASISWA

NIM NAMA SEX ASAL TGL.LHR FAK PRODI

9961001 BUDI L KUDUS 02/02/80 MIPA BIOLOGI

9961002 NINA P BLORA 03/11/79 SASTRA INDONESIA

9961003 ABI L ACEH 30/10/78 TI TI

9961004 DONI L BANTUL 23/07/81 MIPA ILKOM

9961005 ANI P PATI 07/06/78 MIPA ILKOM

Page 7: SQL I PENDAHULUAN Sistem managemen basis data ( DBMS ) pada umumnya menyediakan utilitas yang dapat digunakan secara interaktif untuk melakukan berbagai operasi terhadap basis data,

Contoh perintah select:

v Contoh 1

select NAMA

from MAHASISWA

Ekspresi diatas memerintahkan untuk menampilkan nama mahasiswa dari tabel

mahasiswa yang telah ada. Sehingga tampilannya :

NAMA

BUDI

NINA

ABI

DONI

ANI

v Contoh 2

select NIM, NAMA, SEX

from MAHASISWA

Ekspresi diatas memberikan perintah untuk menampilkan NIM, nama mahasiswa, dan

jenis kelaminnya dari tabel mahasiswa. Tampilannya :

NIM NAMA SEX

9961001 BUDI L

9961002 NINA P

9961003 ABI L

9961004 DONI L

9961005 ANI P

v Contoh 3

select distinct SEX

from MAHASISWA

Pada tabel mahasiswa tersebut jenis kelamin ditulis secara berulang-ulang, dengan

perintah distinct ini maka penulisan kan ditulis sekali saja. Kasus lain ; misalkan dalam sebuah

tabel mahasiswa terdapat nama mahasiswa yang sama maka bila menggunakan ekspresi

distinct maka nama yang sama hanya ditampilkan satu saja. Keunikan diatas hanya untuk nilai

atribut yang disebutkan dalam klausa select, bukan pada keseluruhan atribut yang ada di tabel

yang disebutkan pada klausa form. Tampilan dari contoh di atas adalah :

SEX

L

P

Page 8: SQL I PENDAHULUAN Sistem managemen basis data ( DBMS ) pada umumnya menyediakan utilitas yang dapat digunakan secara interaktif untuk melakukan berbagai operasi terhadap basis data,

v Contoh 4

select *

from MAHASISWA

Ekpresi diatas menampilkan seluruh atribut yang ada pada tabel yang disebutkan pada

klausa form. Tampilannya :

NIM NAMA SEX ASAL TGL_LHR FAK PRODI

9961001 BUDI L KUDUS 02/02/80 MIPA BIOLOGI

9961002 NINA P BLORA 03/11/79 SASTRA INDONESIA

9961003 ABI L ACEH 30/10/78 TI TI

9961004 DONI L BANTUL 23/07/81 MIPA ILKOM

9961005 ANI P PATI 07/06/78 MIPA ILKOM

v Contoh 5

select NIM, NAMA as NAMA_MHS, SEX as JENIS_KELAMIN

from MAHASISWA

Fungsi dari ekspresi as pada select adalah untuk mengganti tampilan header ( kepala

tampilan tabular ). Tampilannya menjadi :

NIM NAMA_MHS JENIS_KELAMIN

9961001 BUDI L

9961002 NINA P

9961003 ABI L

9961004 DONI L

9961005 ANI P

B. KLAUSA WHERE

Klausa ini digunakan untuk menetapkan predikat atau kriteria yang harus dipenuhi dalam

menampilkan query. Klausa ini boleh tidak digunakan, yang artinya query dilakukan untuk

semua record di dalam tabel yang disebutkan pada klausa from. Berikut ini akan diberikan

contoh beserta penjelasan dari pemanfaatan klausa where. Contoh- contoh yang akan

diberikan mengacu pada tabel kuliah berikut ini ;

Page 9: SQL I PENDAHULUAN Sistem managemen basis data ( DBMS ) pada umumnya menyediakan utilitas yang dapat digunakan secara interaktif untuk melakukan berbagai operasi terhadap basis data,

TABEL 2 : KULIAH KODE_KUL NAMA_KULIAH SEMESTER SKS KODE_DOSEN

M001 BASIS DATA 6 3 L022

M002 OR-KOM 3 3 L023

P001 SIMULASI 6 2 L024

F001 SISTEM BERKAS 4 3 L025

K001 PANCASILA 3 2 L026

v Contoh 1

select *

from KULIAH

where KODE_KUL = ‘ M001 ‘

Ekpresi diatas digunakan untuk menampilkan semua atribut untuk mata kuliah dengan

kode mata kuliah M001. Nilai M001 diapit dengan tanda kutip tunggal. Penggunaan tanda kutip

ini berlaku untuk nilai yang bertipe string ( sesuai dengan type dari atribut kode kuliah ).

Sehingga tampilannya adalah :

KODE_KUL NAMA_KULIAH SEMESTER SKS KODE_DOSEN

M001 BASIS DATA 6 3 L022

v Contoh 2

Select *

From KULIAH

Where SEMESTER = 6 and SKS >= 3

Ekspresi diatas menerapkan penggunaan predikat dengan operator relasi, serta

mengkombinasikannya dengan operator logika. Maksud dari ekspresi diatas adalah menampilkan

semua atribut dari tabel kuliah yang termasuk dalam kriteria semester 6 dan memiliki jumlah sks

lebih dari atau sama dengan 2. Nilai 6 dan 3 diatas tidak diapit dengan tanda kutip tunggal. Hal

ini dikarenakan nilai tersebut bertype numeric ( sesuai dengan type atributnya ). Tampilannya :

KODE_KUL NAMA_KULIAH SEMESTER SKA KODE_DOSEN

M001 BASIS DATA 6 3 L022

P001 SIMULASI 6 2 L024

v Contoh 3

select *

from KULIAH

where SEMESTER between 3 and 5

Page 10: SQL I PENDAHULUAN Sistem managemen basis data ( DBMS ) pada umumnya menyediakan utilitas yang dapat digunakan secara interaktif untuk melakukan berbagai operasi terhadap basis data,

Query dengan kriteria yang berbentuk range nilai tertentu dapat menggunakan

tambahan klausa between. Pada contoh diatas akan menampilkan record-record kuliah yang

diselenggarakan antara semester 3 s/d semster 5. Tampilannya adalah :

KODE_KUL NAMA_KULIAH SEMESTER SKS KODE_DOSEN

M002 OR-KOM 3 3 L023

F001 SISTEM BERKAS 4 3 L025

K001 PANCASILA 3 2 L026

v Contoh 4

Select *

From KULIAH

Where NAMA_KULIAH like ‘ S%’

Untuk atribut yang bertype string dapat melakukan pencarian dengan pola tertentu,

dengan memanfaatkan karakter percent ‘ % ‘atau ‘ _ ‘, dengan menambahkan klausa like pada

klausa where. Pada contoh diatas akan menampilkan record-record KULIAH yang nama mata

kuliahnya diawali dengan huruf ‘ S ‘. Sehingga tampilannya adalah :

KODE_KUL NAMA_KULIAH SEMESTER SKS KODE_DOSEN

P001 SIMULASI 6 2 L024

F001 SISTEM BERKAS 4 3 L025

v Contoh 5

Select *

from KULIAH

where NAMA_KULIAH like ‘ _ A% ‘

Ekspresi diatas akan menampilkan record-record pada tabel kuliah tentang mata kuliah

yang huruf / karakter dari nama mata kuliah nya adalah ‘ A ‘. Tamplannya adalah :

KODE_KUL NAMA_KULIAH SEMESTER SKS KODE_DOSEN

M001 BASIS DATA 6 3 L022

K001 PANCASILA 3 2 L026

C. KLAUSA FROM

Klausa ini digunakan untuk menetapkan tabel yang kita jadikan sebagai sumber pencarian

data. Basis data terdiri dari beberapa tabel yang saling berhubungan, oleh karena itu sering kali

dibutuhkan query dari satu tabel atau dari lebih dari satu tabel sekaligus. Atribut-atribut yang

akan kita tampilkan dalam hasil query tidak hanya berasal dari satu tabel , namun bisa jadi dari

sejumlah tabel, pada kasus seperti inilah klausa from akan sangat berperan penting. Pada

Page 11: SQL I PENDAHULUAN Sistem managemen basis data ( DBMS ) pada umumnya menyediakan utilitas yang dapat digunakan secara interaktif untuk melakukan berbagai operasi terhadap basis data,

contoh-contoh terdahulu hanya ditampilkan query dari satu tabel. Namun untuk ulasan kali ini

akan diberikan contoh query yang menggambarkan hubungan antar tabel.

TABEL 3 : DOSEN

KODE_DOSEN NAMA_DOSEN STATUS ASAL

L022 ISMAYA TETAP MEDAN

L023 GUNAWAN TETAP LAMPUNG

L024 BUDIHARJO KONTRAK SRAGEN

L025 WARDATI TETAP SEMARANG

L026 HARTATI KONTRAK JAKARTA

Tabel dosen diatas akan direlasikan dengan tabel kuliah yang telah dibuat sebelumnya.

v Contoh 1

select *

from KULIAH, DOSEN

where KULIAH . KODE_DOSEN = DOSEN . KODE_DOSEN

Untuk melakukan query antara dua tabel atau lebih, tidak bisa dilakukan dengan

sembarangan. Tabel_tabel yang akan dijadikan query haruslah memiliki hubungan. Pada contoh

diatas hubungan pada tabel kuliah dengan tabel dosen diwakili oleh kode dosen, dimana atribut

ini dimiliki oleh kedua tabel tersebut. Tampilannya adalah :

KODE_KUL NAMA_KULIAH SEMESTER SKS KODE_DOSEN NAMA_DOSEN STATUS ASAL

M001 BASIS DATA 6 3 L022 ISMAYA TETAP MEDAN

M002 OR_KOM 3 3 L023 GUNAWAN TETAP LAMPUNG

P001 SIMULASI 6 2 L024 BUDIHARJO KONTRAK SRAGEN

F001 SISTEM BERKAS 4 3 L025 WARDATI TETAP SEMARANG

K001 PANCASILA 3 2 L026 HARTATI KONTRAK JAKARTA

v Contoh 2

Select *

from KULIAH K, DOSEN D

where K . KODE_DOSEN = D . KODE_DOSEN

Ekspresi diatas merupakan contoh penggunaan alias, dimana tabel kuliah dialiaskan dengan

K dan tabel dosen dialiaskan dengan D. tampilan yang akan diperoleh sama dengan tampilan

diatas.

v Contoh 3

select K.KODE_KUL, K.NAMA_KULIAH, D.NAMA_DOSEN

from KULIAH K, DOSEN D

where K . KODE_DOSEN = D . KODE_DOSEN

Page 12: SQL I PENDAHULUAN Sistem managemen basis data ( DBMS ) pada umumnya menyediakan utilitas yang dapat digunakan secara interaktif untuk melakukan berbagai operasi terhadap basis data,

Ekspresi di atas akan menampilkan record-record pada atribut kode kuliah, nama mata

kuliah dari tabel kuliah dan record-record dari atribut nama dosen dari tabel dosen. Tampilannya

adalah :

KODE_KUL NAMA_KULIAH NAMA_DOSEN

M001 BASIS DATA ISMAYA

M002 OR-KOM GUNAWAN

P001 SIMULASI BUDIHARJO

F001 SISTEM BERKAS WARDATI

K001 PANCASILA HARTATI

v Contoh 4

select K . KODE_KUL as KODE, K . NAMA_KULIAH as KULIAH, D .

NAMA_DOSEN as DOSEN

from KULIAH K, DOSEN D

where K . KODE_DOSEN = D . KODE_DOSEN

and SEMESTER = 4

Ekspresi diatas akan menampilkan record-record pada atribut kode kuliah dengan nama

baru yaitu kode, atribut nama kuliah dengan nama baru yaitu kuliah dan atribut nama dosen

dengan nama baru yaitu dosen. Atribut- atribut tersebut diambil dari tabel kuliah dan tabel

dosen, dengan syarat kuliah yang ditampilkan diajarkan pada semester 4. Tampilanya adalah :

KODE KULIAH DOSEN

F001 SISTEM BERKAS WARDATI

D. PENGURUTAN HASIL QUERY

Pengurutan record-record hasil query disesuaikan dengan struktur penyimpanan yang kita

terapkan pada tabel query. Terdapat dua jenis struktur penyimpanan, yaitu :

1. Struktur penyimpanan heap

Dimana pada struktur penyimpaanan ini hasil query akan ditampilkan berdasarkan

kronologis ( waktu ) penyimpanan.

2. Struktur penyimpanan sekuensial berindeks

Pada struktur penyimpanan ini hasil query akan ditampilkan sesuai dengan atribut

yang menjadi dasar indeks.

Terdapat dua jenis mode pengurutan, yaitu pengurutan naik dan pengurutan turun. Kedua

mode pengurutan tersebut sama-sama mengunakan klausa order by, hanya saja pada

Page 13: SQL I PENDAHULUAN Sistem managemen basis data ( DBMS ) pada umumnya menyediakan utilitas yang dapat digunakan secara interaktif untuk melakukan berbagai operasi terhadap basis data,

pengurutan turun ditambahkan dengan klausa desc pada klausa order by nya. Berikut ini

adalah contoh pengurutan hasil query;

v Contoh 1

Select *

from KULIAH

order by NAMA_KULIAH

Ekspresi diatas akan menampilkan query dengan urutan naik berdasarkan nama mata

kuliah. Tampilannya adalah :

KODE_KUL NAMA_KULIAH SEMESTER SKS KODE_DOSEN

M001 BASIS DATA 6 3 L022

M002 OR-KOM 3 3 L023

K001 PANCASILA 3 2 L026

P001 SIMULASI 6 2 L024

F001 SISTEM BERKAS 4 3 L025

v Contoh 2

select *

from KULIAH

order by NAMA_KULIAH desc

Ekspresi diatas akan menampilkan query dengan urutan turun berdasarkan nama mata

kuliah. Tampilannya adalah :

KODE_KUL NAMA_KULIAH SEMESTER SKS KODE_DOSEN

F001 SISTEM BERKAS 4 3 L025

P001 SIMULASI 6 2 L024

K001 PANCASILA 3 2 L026

M002 OR-KOM 3 3 L023

M001 BASIS DATA 6 3 L022

Contoh penggunaan klausa dasar SQL, yang melibatkan empat buah tabel sekaligus,

yaitu tabel MAHASISWA, tabel KULIAH, tabel DOSEN serta tabel NILAI;

TABEL 4 : NILAI

NIM KODE_KUL KODE_NILAI

9961001 M001 B

9961001 P001 A

9961002 M002 C

Page 14: SQL I PENDAHULUAN Sistem managemen basis data ( DBMS ) pada umumnya menyediakan utilitas yang dapat digunakan secara interaktif untuk melakukan berbagai operasi terhadap basis data,

9961002 P001 C

9961003 K001 A

9961004 F001 A

9961004 M002 C

9961005 F001 C

9961005 K001 B

Contoh berikut akan menampilkan kartu hasil studi dari seorang mahasiswa berdasarkan

pada NIM nya.

select

N . NIM, M . NAMA as NAMA_MHS, K . NAMA_KUL, D . NAMA_DOSEN, N . KODE_NILAI

from

MAHASISWA M,

KULIAH K,

DOSEN D,

NILAI N

where N . NIM = M . NIM and

N . KODE_KUL = K . KODE_KUL and

D . KODE_DOSEN = K . KODE_DOSEN and NIM = ‘9961001’

Page 15: SQL I PENDAHULUAN Sistem managemen basis data ( DBMS ) pada umumnya menyediakan utilitas yang dapat digunakan secara interaktif untuk melakukan berbagai operasi terhadap basis data,

BAB IV

FUNGSI AGREGASI

Fungsi agregasi digunakan untuk menampilkan kebutuhan perolehan data seperti

menampilkan banyaknya record, total nilai suatu atribut, rata-rata nilai atribut, nilai atribut

terbesar atau terkecil , dan lain sebagainya. Macam-macam fungsi agregasi dalam SQL adalah

sebagai berikut :

• Count ; fungsi ini digunakan untuk mendapatkan nilai banyaknya record dari

query.

• Sum ; fungsi ini digunakan untuk mendapatkan nilai total suatu atribut bertipekan

numeric dari query.

• Avg ; fungsi ini digunakan untuk mendapatkan nilai rata-rata suatu atribut

bertipe numeric hasil query.

• Max ; fungsi ini digunakan untuk mendapatkan nilai terbesar dari suatu atribut

hasil query

• Min ; fungsi ini digunakan untuk mendapatkan nilai terkecil dari suatu atribut

hasil query.

Berikut ini akan diberikan contoh-contoh penggunaan fungsi agregasi dalam klausa SQL:

v Contoh 1

Menampilkan banyaknya record dosen

select count ( * )

from DOSEN

v Contoh 2

Menampilkan banyaknya mata kuliah pada semester enam

select count (* )

from KULIAH

where SEMESTER = ‘ 6 ’

v Contoh 3

Menampilkan total sks disemester enam

select sum ( SKS )

from KULIAH

where SEMESTER = ‘ 6 ‘

v Contoh 4

Menampilkan rata-rata sks untuk tiap-tiap semester

select avg ( SKS ) from KULIAH

Page 16: SQL I PENDAHULUAN Sistem managemen basis data ( DBMS ) pada umumnya menyediakan utilitas yang dapat digunakan secara interaktif untuk melakukan berbagai operasi terhadap basis data,

v Contoh 5

Menampilkan mahasiswa dengan usia termuda

select max ( TGL_LHR )

from MAHASISWA

v Contoh 6

Menampilkan mahasiswa dengan usia tertua

select min ( TGL_LHR )

from MAHASISWA

Page 17: SQL I PENDAHULUAN Sistem managemen basis data ( DBMS ) pada umumnya menyediakan utilitas yang dapat digunakan secara interaktif untuk melakukan berbagai operasi terhadap basis data,

BAB V

MANIPULASI DATA PADA SQL

Manipulasi data pada SQL merupakan tindakan pengubahan nilai-nilai data pada tabel

yang telah ada sebelumnya. Manipulasi data terdiri dari tindakan penambahan record pada tabel,

pengubahan nilai-nilai atribut, dan penghapusan record.

A. PENAMBAHAN RECORD

Sintak :

insert into T( A1, A2, …, An )

values ( V1, V2, …, Vn )

Keterangan :

• T : merupakan nama tabel yang akan ditambah nilai record pada atributnya.

• A : merupakan nama nama tribut pada tabel yang akan ditambah nilai recordnya.

• V : merupakan nilai-nilai record yang akan dimasukkan.

v Contoh 1

insert into KULIAH (KODE_KUL, NAMA_KULIAH, SEMESTER, SKS, KODE_DOSEN )

values (‘ S001’, ‘KEWIRAAN’, 4, 2, ‘L026’)

Tampilannnya :

TABEL 5 : KULIAH

KODE_KUL NAMA_KULIAH SEMESTER SKS KODE_DOSEN

M001 BASIS DATA 6 3 L022

M002 OR-KOM 3 3 L023

P001 SIMULASI 6 2 L024

F001 SISTEM BERKAS 4 3 L025

K001 PANCASILA 3 2 L026

S001 KEWIRAAN 4 2 L026

Untuk mendapatkan hasil yang sama ekspresi-ekspresi pada contoh klausa SQL diatas

dapat disingkat menjadi sebagai berikut :

insert into KULIAH

values (‘S001’, ‘KEWIRAAN’, 4, 2, ‘L026’)

Page 18: SQL I PENDAHULUAN Sistem managemen basis data ( DBMS ) pada umumnya menyediakan utilitas yang dapat digunakan secara interaktif untuk melakukan berbagai operasi terhadap basis data,

v Contoh 2

insert into KULIAH

values (‘S002’, ‘ KALKULUS’, 4, 3, ‘L027’)

insert into DOSEN

values (‘L027’, ‘FARIDA’, ‘ KONTRAK’, ‘ KALIMANTAN’)

Tampilannya :

TABEL 6 : KULIAH

KODE_KUL NAMA_KULIAH SEMESTER SKS KODE_DOSEN

M001 BASIS DATA 6 3 L022

M002 OR-KOM 3 3 L023

P001 SIMULASI 6 2 L024

F001 SISTEM BERKAS 4 3 L025

K001 PANCASILA 3 2 L026

S001 KEWIRAAN 4 2 L026

S002 KALKULUS 4 3 L027

TABEL 7 : DOSEN

KODE_DOSEN NAMA_DOSEN STATUS ASAL

L022 ISMAYA TETAP MEDAN

L023 GUNAWAN TETAP LAMPUNG

L024 BUDIHARJO KONTRAK SRAGEN

L025 WARDATI TETAP SEMARANG

L026 HARTATI KONTRAK JAKARTA

L027 FARIDA KONTRAK KALIMANTAN

v Contoh 3

insert into MAHASISWA (NIM, NAMA, SEX, FAK, PRODI )

values ( 9961055, ‘ MAHARANI’, ‘ P’, ‘MIPA’, ‘ ILKOM’ )

Tampilannya :

TABEL 8 : MAHASISWA

NIM NAMA SEX ASAL TGL.LHR FAK PRODI

9961001 BUDI L KUDUS 02/02/80 MIPA BIOLOGI

9961002 NINA P BLORA 03/11/79 SASTRA INDONESIA

9961003 ABI L ACEH 30/10/78 TI TI

9961004 DONI L BANTUL 23/07/81 MIPA ILKOM

9961005 ANI P PATI 07/06/78 MIPA ILKOM

9961055 MAHARANI P MIPA ILKOM

Page 19: SQL I PENDAHULUAN Sistem managemen basis data ( DBMS ) pada umumnya menyediakan utilitas yang dapat digunakan secara interaktif untuk melakukan berbagai operasi terhadap basis data,

B. PENGHAPUSAN RECORD

Sintak :

delete from T

where ( kondisi / keadaan )

Keterangan :

• T : nama tabel yang akan dihapus salah satu atau beberapa dari

record dalam atributnya.

• Kondisi / keadaan : atribut-atribut beserta record-record yang akan dihapus. Jika

klausa where tidak digunakan maka penghapusan akan dilakukan pada semua record di

dalam tabel.

v Contoh 1

delete from KULIAH

where KODE_DOSEN = ‘L026’ AND KODE_KUL = ‘

K001’

Tampilannya :

TABEL 9 : KULIAH

KODE_KUL NAMA_KULIAH SEMESTER SKS KODE_DOSEN

M001 BASIS DATA 6 3 L022

M002 OR-KOM 3 3 L023

P001 SIMULASI 6 2 L024

F001 SISTEM BERKAS 4 3 L025

S001 KEWIRAAN 4 2 L026

S002 KALKULUS 4 3 L027

v Contoh 2

delete from KULIAH

where KODE_ DOSEN= ‘L026’

Tampilannya :

TABEL 2 : KULIAH

KODE_KUL NAMA_KULIAH SEMESTER SKS KODE_DOSEN

M001 BASIS DATA 6 3 L022

M002 OR-KOM 3 3 L023

P001 SIMULASI 6 2 L024

F001 SISTEM BERKAS 4 3 L025

S002 KALKULUS 4 3 L027

Page 20: SQL I PENDAHULUAN Sistem managemen basis data ( DBMS ) pada umumnya menyediakan utilitas yang dapat digunakan secara interaktif untuk melakukan berbagai operasi terhadap basis data,

C. PENGUBAHAN NILAI-NILAI ATRIBUT

Pengubahan nilai atribut dapat menggunakan perintah update, perintah ini berfungsi

memperbaharui atau meng-update satu atau lebih dari satu baris atau sekelompok baris didalam

tabel.

Sintak :

update T

set KOLOM = VALUES

where ( kondisi / keadaan )

Keterangan :

• T : nama tabel yang akan mengalami perubahan record

• KOLOM : nama atribut pada tabel yang akan mengalami perubahan nilai record

• VALUES : nilai baru record pada atribut dalam tabel yang akan menggantikan nilai

lama.

• Kondisi / keadaan : keadaan yang menentukan record nama yang akan mengalami

update / perubahan nilai. Jika klausa where tidak digunakan pada ekspresi maka,

perubahan akan dilakukan pada semua record di dalam tabel.

v Contoh 1

update MAHASISWA

set ASAL = ‘ KENDARI’

where NIM = 9961003

Tampilannya :

TABEL 10 : MAHASISWA

NIM NAMA SEX ASAL TGL.LHR FAK PRODI

9961001 BUDI L KUDUS 02/02/80 MIPA BIOLOGI

9961002 NINA P BLORA 03/11/79 SASTRA INDONESIA

9961003 ABI L KENDARI 30/10/78 TI TI

9961004 DONI L BANTUL 23/07/81 MIPA ILKOM

9961005 ANI P PATI 07/06/78 MIPA ILKOM

v Contoh 2

update MAHASISWA

set FAK = ‘ TI’, PRODI = ‘T_KIMIA’

where NIM = 9961002

Tampilannya :

Page 21: SQL I PENDAHULUAN Sistem managemen basis data ( DBMS ) pada umumnya menyediakan utilitas yang dapat digunakan secara interaktif untuk melakukan berbagai operasi terhadap basis data,

TABEL 11 : MAHASISWA

NIM NAMA SEX ASAL TGL.LHR FAK PRODI

9961001 BUDI L KUDUS 02/02/80 MIPA BIOLOGI

9961002 NINA P BLORA 03/11/79 SASTRA INDONESIA

9961003 ABI L KENDARI 30/10/78 TI TI

9961004 DONI L BANTUL 23/07/81 MIPA ILKOM

9961005 ANI P PATI 07/06/78 MIPA ILKOM

v Contoh 3

update DOSEN

set NAMA_DOSEN = NAMA_DOSEN + ‘ , Ssi ’

where STATUS = ‘ TETAP’

Tampilannya :

TABEL 12 : DOSEN

KODE_DOSEN NAMA_DOSEN STATUS ASAL

L022 ISMAYA, Ssi TETAP MEDAN

L023 GUNAWAN, Ssi TETAP LAMPUNG

L024 BUDIHARJO KONTRAK SRAGEN

L025 WARDATI, Ssi TETAP SEMARANG

L026 HARTATI KONTRAK JAKARTA

L027 FARIDA KONTRAK KALIMANTAN

Page 22: SQL I PENDAHULUAN Sistem managemen basis data ( DBMS ) pada umumnya menyediakan utilitas yang dapat digunakan secara interaktif untuk melakukan berbagai operasi terhadap basis data,

BAB VI

PEMBUATAN TABEL BARU

Perintah-perintah yang berkaitan dengan pendefinisian obyek-obyek basis data dan

pembuatan tabel baru merupakan perintah-perintah yang tergolong dalam DDL ( data definition

language ). Sebelum memulai membuat suatu tabel baru perlu diketahui tentang tipe data

standart SQL yang berlaku. Bab yang terdahulu telah dibahas mengenai tipe-tipe data yang

berlaku pada SQL. Pada dasarnya terdapat banyak sekali tipe data yang berlaku pada SQL

namun hanya beberapa saja diantaranya yang diakui sebagai tipe data standart, dan diizinkan

untuk digunakan pada periode standarisasi. Berikut ini adalah tipe-tipe data standart yang

berlaku dalam SQL-92 :

• Char (n) : untuk atribut bernilai string dengan panjang tetap

• Varchar (n) : untuk atribut bernilai string dengan penjang fleksibel

• Int atau integer : untuk atribut berniali integer 2 byte

• Smallint : untuk stribut berniali integer 1 byte

• Numeric (p,d) : untuk atribut berniali pecahan fixed point

• Real, double, precision : untuk atribut bernilai pecahan floating point

• Float (n) : untuk atribut bernilai pecahan floating point dengan presisi n

digit

• Date : untuk atribut bernilai penanggalan

• Time : untuk atribut bernilai waktu

Sintak klausa pembuatan tabel baru :

crete table T ( A1 D1, A2 D2, …, An Dn )

Keterangan :

• T : merupakan nama tabel yang akan dibuat

• A1, A2, …, An : merupakan nama-nama tribut yang akan terdapat di dalan tabel

• D1, D2, …, Dn : merupakan domain nialai mesing-masing atribut tersebut yang

ditentukan berdasarkan tipe datanya.

Page 23: SQL I PENDAHULUAN Sistem managemen basis data ( DBMS ) pada umumnya menyediakan utilitas yang dapat digunakan secara interaktif untuk melakukan berbagai operasi terhadap basis data,

SQL :

1. Perintah dasar (bentuk dasar & bentuk lengkap)

2. Opsi DISTINCT

3. Mengganti tampilan judul kolom (alias untuk nama kolom)

4. Kondisi dengan Klausa WHERE dan HAVING

5. Kondisi jamak dengan operator AND, OR dan BETWEEN

6. Pola string dengan wildchar %, _ dan operator LIKE

7. Query dari beberapa tabel menggunakan WHERE

8. Aliasing nama tabel

9. Query dengan Operasi JOIN dan UNION

10. Pengurutan hasil Query

11. Query dengan fungsi agregasi

12. UPDATE, DELETE dan INSERT

13. SUBQUERY

JOIN :

mysql> help join

Name: 'JOIN'

Description:

MySQL supports the following JOIN syntaxes for the

table_references part of SELECT statements and multiple-table

DELETE and UPDATE statements:

table_reference, table_reference

table_reference [INNER | CROSS] JOIN table_reference [join_condition]

table_reference STRAIGHT_JOIN table_reference

table_reference LEFT [OUTER] JOIN table_reference [join_condition]

table_reference NATURAL [LEFT [OUTER]] JOIN table_reference

{ OJ table_reference LEFT OUTER JOIN table_reference

ON conditional_expr }

Page 24: SQL I PENDAHULUAN Sistem managemen basis data ( DBMS ) pada umumnya menyediakan utilitas yang dapat digunakan secara interaktif untuk melakukan berbagai operasi terhadap basis data,

table_reference RIGHT [OUTER] JOIN table_reference [join_condition]

table_reference NATURAL [RIGHT [OUTER]] JOIN table_reference

table_reference is defined as:

tbl_name [[AS] alias]

[[USE INDEX (key_list)]

| [IGNORE INDEX (key_list)]

| [FORCE INDEX (key_list)]]

join_condition is defined as:

ON conditional_expr | USING (column_list)

Examples:

mysql> SELECT table1.* FROM table1

-> LEFT JOIN table2 ON table1.id=table2.id

-> WHERE table2.id IS NULL;

mysql>