Anda di halaman 1dari 18

JOBSHEET SQL Tingkat Dasar

Kenapa MySQL?
MySQL adalah database manajemen sistem (DBMS).DBMS
merupakan paket software yang didesain untuk menyimpan dan
mengelola basis data. DBMS juga merupakan salah satu system dalam
mengakses database yang menggunakan bahasa SQL. SQL ( Structured
Query Language ) adalah bahasa stndart yang digunakan untuk
mengakses server database
Kenapa menggunakan MySQL?
MySQL software open source. Open source artinya memungkinkan
untuk semua orang untuk menggunakan dan memodifikasi software.
Database MySQL sangat cepat, reliable, dan mudah untuk digunakan,
selain itu MySQL telah banyak menangani pembuatan software besar.
Pengertian Database Relasional
Secara umum, database berarti koleksi data yang saling terkait.
Secara praktis basis data dapat dianggap sebagai suatu penyusuanan
data yang terstruktur yang disimpan dalam media pengingat (hard disk)
yang tujuannya adalah agar data tersebut dapat diakses dengan mudah
dan cepat.
Sesungguhnya ada beberapa macam database, antara lain yaitu
database hierarkis, database jaringan dan database relasional. Database
relasional merupakan database yang popular saat ini dan telah diterapkan
pada berbagai platform, dari PC hingga minicomputer.
Sebuah database relasional tersusun atas sejumlah tabel. Sebagai contoh
database akademis mencakup tabel-tabel seperti guru, siswa, KRS,nilai
dan lain-lain. Gambar berikut memperlihatkan sample data mengenai
databse akademis.
t. matapel
Kode
Nama
M001
Matemati
ka
P001
Produktif
B001
B.Inggris
T siswa
Nis
1106001
1
1106001
2
1106001
3

Nama
Rian

Alamat
Cimahi

Telp
66521364

Kelas
11 RPL 1

Dewi

Bandung

22354698

11 RPL 2

Yani

Bandung

225698741

11 RPL 3

t. nilai (tabel relasi)


Nis
Kode
1106001 M001
1

Nilai
80

1106001
1
1106001
3

B001

90

P001

85

Memahami Normalisasi
Normalisasi merupakan suatu proses untuk mengubah suatu tabel
yang memiliki masalah tertentu ke dalam dua buah tabel atau lebih yang
tidak lagi memiliki masalah tersebut. Normalisasi bisa dipakai oleh para
perancang database untuk melakukan verifikasi terhadap tabel-tabel yang
telah dibuat, sehingga tidak menimbulkan suatu permasalahan saat data
ditambah, diperbarui ataupun dihapus.
Kesalahan Perancangan Tabel
Gambaran tentang kesalahan perancangan tabel diperlihatkan di
bawah ini. Sebagai contoh, terdapat tabel dengan kolom-kolom sebagai
berikut :
T=(kode_buku, judul, halaman, topic)
Yang secara berturut-turut menyatakan kode buku, judul buku, jumlah
halaman dan topic buku. Jika sebuah buku memiliki lebih dari sebuah
topic, tabel tersebut memiliki masalah, yakni data kode buku, judul dan
halaman harus di duplikasi. Sebagai contoh diperlihatkan pada tabel
berikut :
Tabel : Contoh satu buku dengan dua buah topic
Kode_b
Judul
Halaman
Topic
uku
001
Java
451
Pemrogra
man
001
Java
451
Internet
Duplikasi data seperti di atas (dinyatakan dengan cetakan tebal)
harus dihindari karena berpotensi menimbulkan masalah. Sekarang
perhatikan tabel berikut :
Tabel : Contoh Data tentang pemasok
Pemas Kota
Barang
jumlah
ok
Kartika Jakarta Monitor
10
GGG
Citra
Bandu Hardisk
4
2

ng
Candra Jakarta
Citra
Bandu
ng

Keyboard
Mouse

5
25

Seandainya pemasok Citra berpindah ke kota lain, misalnya ke Bogor,


dan pengubahan hanya dilakukan pada data pertama (data pemasok Citra
pada tabel tersebut ada dua buah), maka hasilnya adalah seperti berikut :
Tabel : Keadaan yang menunjukkan adanya ketidak konsistenan
Pemas Kota
Barang
jumlah
ok
Kartika Jakarta Monitor
10
GGG
Citra
Bogor Hardisk
4
Candra Jakarta Keyboard
5
Citra
Bandu Mouse
25
ng
Terlihat bahwa terdapat ketidakkonsistenan. Fakta pertama
menyatakan bahwa pemasok Citra belokasi di Bogor, tetapi fakta kedua
menyatakan bahwa pemasok Citra berada di Bandung. Jadi mana yang
benar ? Keadaan inilah yang menyatakan adanya ketidak-konsistenan.
Kasus tabel buku dapat dipecahkan ke dalam beberapa tabel seperti
berikut :
Tabel Buku (kode_buku, judul, halaman)
Tabel buku_topik (kode_buku, id_topik)
Tabel topic (id_topik, nama_topik)
Tabel-tabel berikut memperlihatkan sample data untuk masing-masing
tabel di atas. :
Tabel Buku
Kode_bu Judul
Halaman
ku
001
Java
451
Tabel Buku_topik
Kode_bu Id_topi
ku
k
001
P05
001
I01
Tabel topic
Kode_b Judul
uku
P05
Pemrog
3

I01

raman
Internet

Adapun permasalahan pada tabel pemasok dapat diuraikan menjadi


seperti berikut :
Tabel Pemasok (kode_pemasok, pemasok, kota)
Tabel Barang (kode_barang, nama_barang)
Tabel Pemasok_barang (kode_pemasok, kode_barang, jumlah)
Tabel-tabel berikut memperlihatkan sample data untuk masing-masing
tabel di depan.
Tabel Pemasok
Kode_pema pemas
sok
ok
C-01
Citra
C-02
Candra
K-01
Kartika

kota
Jakarta
Bogor
Jakarta

Tabel Barang
Kode_bara Barang
ng
MON-13
Monitor
GGG
ZIP-01
Hardisk
KEY-01
Keyboard
MOU-23
Mouse
Tabel Pemasok_barang
Kode_pema Barang
sok
K-01
MON-13
C-01
ZIP-01
C_02
KEY-01
C-01
MOU-23

jumlah
10
4
5
25

Dengan menggunakan tabel-tabel sebagaimana terlihat pada tabeltabel di atas, permasalahan duplikasi data dan ketidak-konsistenan
dihapuskan. Sebagai contoh, jika katakanlah topic pemrograman hendak
diganti menjadi Programming, perubahan cukup dilakukan di satu tempat
yaitu tabel topic.
Didalam MySQL terdapat sebuah database yang ada sejak awal setelah
anda menginstall MySQL, nama database tersebut adalah mysql dan pada
database tersebut tersimpan nama-nama pengguna yang dapat
menggunakan MySQL lengkap dengan opsi otoritas yang dapat dilakukan
oleh pengguna tersebut. Secara default user dengan nama root adalah
4

pengguna yang menguasai secara utuh dan dapat membuat user lainnya
(termasuk membatasi user - user lain). Untuk dapat menggunakan MySQL
anda harus memasukan user dan password yang sama dengan apa yang
dideklarasikan dalam database (mysql).
Untuk dapat menjalankan MySQL adan harus menjalankan service atau
layanan MySQL. Berikut cara mengakses MySQL (dilakukan pada DOS
(C:\program files\mysql\bin\)
atau mode text).
Masuk ke Server MySql
mysql -u root -h localhost -p
Enter password:************
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2 to server version: 4.0.11a-gamma
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

Keterangan :
-h : menunjukkan nama Host (dapat juga dengan alamat IP, ex :
184.36.25.1)
-u : menunjukkan nama User
-p : MySQL akan menanyakan password jika anda menggunakan opsi ini.
Jika user yang anda gunakan tidak menggunakan password anda tidak
perlu menggunakan opsi -p ini. -p dapat juga digunakan untuk
mendeklarasikan nama database yang anda gunakan (ex: mysql -u root loclhost -p latihan)
Keluar dari MySql
mysql> \q
Bye

Database adalah kumpulan dari tabel-tabel, dan tabel biasa juga disebut
relasi menyatakan bentuk berdimensi dua yang mewakili suatu kelompok
data yang sejenis yang terdiri dari kumpulan dari beberapa Field atau
column. Untuk membuat suatu table maka seorang user harus membuat
database terlebih dahulu. Dengan mengaktifkan database yang dibuat
tersebut.
Membuat database
BU : CREATE Database Nm_Database;
Contoh :
mysql> create database akademik;
Query OK, 1 row affected (0.11 sec)

Melihat seluruh daftar database dalam server MySql


BU: SHOW Databases;

mysql> show databases;


+--------------+
| Database |
+--------------+
| mysql
|
| akademik |
| test
|
+--------------+
3 rows in set (0.27 sec)

Mengaktifkan/Menggunakan Database
Sebelum pembuatan tabel dan operasi-operasi yang berhubungan dengan
tabel maka database harus di aktifkan/digunakan.

BU : USE Nm_Database
Contoh :
mysql> use akademik;
Database changed

Menghapus Database dari Server


BU : Drop Database Nm_Database
Contoh :
mysql> drop database akademik;
Query OK, 0 rows affected (0.11 sec)

Aturan penamaan dalam pembuatan database :


1. Jangan menggunakan spasi dan spesial karakter dalam pembuatan
nama database
2. Jangan menggunkan angka pada awal pembuatan nama database
Secara umum bahasa SQL dibagi menjadi dua bagian:
1. DDL (Data Definition Language) yang digunakan untuk membangun
objek-objek dalam database seperti tabel.
2. DML (Data Manipulation Language) yang digunakan dalam
memanipulasi suatu tabel didalam database (menambah, mengedit,
mencari dan menghapus)
Kedua komponen ini bisa digunakan setelah suatu database di aktifkan.
1. DDL (Data Definition Language)
Terdiri atas : Create, Alter, Drop
Membuat Tabel
Setelah menciptakan suatu database dan mengaktifkan database tersebut
maka
dapat dilakukan perintah pembuatan tabel
BU : CREATE TABLE Nm_Tabel (Nm_Kolom1 tipe data([ukuran]),nm_kolom2
tipe data ([ukuran]).. nm_kolom_n tipe data ([ukuran]));
Contoh :
create table siswa (nis varchar(10),nama varchar(30),jk char(2),alamat varchar(50));

Melihat Struktur Tabel


Perintah describe nama_tabel; digunakan untuk melihat struktur tabel
yang telah
dibuat. Namun sebelumnya, sudah berada pada database yang
mempunyai
tabel tersebut.
Contoh :

Mengetahui Daftar Tabel dalam Database


6

BU: SHOW Tables, SHOW Tables from nama_database;


mysql> show tables;
+-----------------------------+
| Tables_in_akademik |
+-----------------------------+
| siswa
|
| matpel
|
| nilai
|
+-----------------------------+

Mengubah Struktur Tabel


Ada empat macam perubahan dalam struktur tabel, yaitu :
a. Perubahan nama field/kolom
Perubahan yang terjadi hanya pada nama field/kolom saja. Nama
field/kolom lama diganti dengan nama field/kolom yang baru.
Struktur penulisan :
alter table nama_tabel change nama_field_lama nama_field_baru
tipe_data;
Contoh :
mysql>alter table siswa change jk jenis_kelamin char(2);

b. Perubahan tipe data


Perubahan yang terjadi hanya pada tipe data yang digunakan oleh
field/kolom tertentu. Tipe data baru langsung disebutkan dibelakang
nama field/kolom, tanpa harus menyebutkan tipe data lama.
Struktur penulisan :
Alter table nama_tabel modify nama_field tipe_data_baru;
Contoh :
mysql>alter table siswa modify nama longtext;

c. Penambahan field
Struktur tabel akan berubah dengan bertambahnya field/kolom baru
didalamnya.
Struktur penulisan :
Alter table nama_tabel add nama_field tipe_data_baru;
Contoh :
mysql>alter table siswa add kelas varchar(10);

d. Penghapusan field
Struktur tabel mengalami perubahan akibat berkurangnya field/kolom
tertentu.
Struktur penulisan :
Alter table nama_tabel drop column nama_field;
Contoh :
mysql>alter table siswa drop column kelas;

Mengganti Nama Tabel


Penggantian nama tabel meliputi nama tabel itu sendiri.
Struktur penulisan :
Alter table nama_tabel_lama rename nama_tabel_baru;
Contoh :
mysql>alter table siswa rename t_siswa;

Menghapus Tabel
7

Tabel dapat saja dihapus karena sudah tidak dibutuhkan lagi,atau terjadi
kesalahan.
Struktur penulisan :
Drop table nama_tabel;
Contoh :
mysql>drop table t_siswa;

KEKANGAN NILAI PADA DATA


Menentukan Kunci Primer (Primary Key)
Secara sederhan kunci primer digunakan untuk menyatakan bahwa suatu
nilai tidak boleh ada yang sama dan nilai tersebut harus diisi (NOT NULL).
Penetapan kunci primer dibuat pada saat pembuatan tabel:
mysql> create table siswa (nis varchar(10) not null primary key,nama
varchar(30),jk char(2),alamat varchar(50));

Memberikan nilai bawaan (Default)


Jika tidak memberikan suatu nilai dalam kolom tertentu maka oleh system
secara otomatis diisi dengan nilai NULL. Oleh karena itu pada saat
perancangan table field tersebut defaultnya diisi dengan tetapan yang
dikehendaki.
mysql> create table matpel (kode_matpel varchar(10) not null primary
key,nama_matpel varchar(20),kelompok varchar(20) default null);

Mengenal Auto_Increment
MySQL menyediakan atribut AUTO_INCREMENT yang dapat diletakkan
pada pendefinisian kolom. Atribut ini berguna untuk membentuk kolom
yang memiliki baris-baris dengan nilai yang urut. Dalam hal ini kolom
yang diberi atribut AUTO_INCREMENT harus bertinadak sebagai kunci
primer.
mysql> create table nilai (no int primary key AUTO_INCREMENT, nis char(10) not null,
kode_mp char(10) not null , nilai double);

2. DML (Data Manipulation Language)


Terdiri dari SELECT, INSERT, UPDATE dan DELETE
Memasukkan Data (Insert)
Ada tiga cara yang dapat digunakan untuk memasukkan data kedalam
tabel, yaitu:
1. insert into nama_tabel values (isi_field_2,,isi_field_n);
Contoh :
insert into siswa values (0001,Asep,L,Bandung);

2. insert into nama_tabel (nama_field_1, nama_field_2,,nama_ field_n)


values
(isi_field_1, isi_field_2,,isi_field_n);
Contoh :
Insert into siswa (nis,nama,jk,alamat) values (0001,Asep,L,Bandung);

3. Memasukkan data lebih dari satu record


Contoh :
Insert
into
siswa
values(0002,Dina,P,Cimahi),(0003,Wahyu,L,Cimahi),
(0004,Ridwan,L,Bandung);

Menampilkan Data (Select)


Berikut ini perintah untuk menampilkan data :
8

Struktur Penulisan :

Select [fields] from [nama_tabel]


Where [kondisi]
Order by [nama_field]
Group by [nama_field] asc / desc

Contoh :
Select nis from siswa;
Select nis,nama from siswa;
Select * from siswa;

Note :
Setelah penulisan select, [fields] dapat diganti dengan menyebutkan satu
nama field saja atau beberapa field sekaligus yang dipisah dengan tanda
koma (,). Penulisan field-field tersebut digunakan untuk memunculkan
data dari kolom mana saja yang akan ditampilkan. Jika seluruh kolom akan
ditampilkan dapat menggunakan tanda asterik (*) untuk mewakilinya.
Mengurutkan Tampilan
Klausa ORDER BY digunakan untuk mengurutkan hasil. Jika menginginkan
data ditampilkan urut berdasarkan pada urutan terkecil ke besar, dapat
menggunakan ASC (ascending). Sedangkan untuk mengurutkan data
berdasarkan yang terbesar ke kecil, dapat menggunakan DESC
(descending).

Mengubah Data (Update)


Jika data sudah kadaluarsa atau ada yang salah dengan data, berikut
perintah yang digunakan untuk merubah data.
Struktur penulisan :
Update nama_tabel set nama_field_1=isi_baru_1, nama_field_2=
isi_baru_2,, nama_field_n=isi_baru_n
Where kriteria;

Contoh :
- mengubah sebuah kolom untuk baris tertentu
Update siswa set alamat=Jakarta where nama=Wahyu;

- mengubah beberapa kolom sekaligus untuk baris tertentu


Update siswa set nama=Reni,alamat=Bandung where nis=0004;

- mengubah beberapa baris

Update siswa set alamat=Solo where nis=0001 or nis=0003;


- mengubah semua baris
Update siswa set alamat=Bandung;

Menghapus Data (Delete)


Jika terdapat kesalahan data atau data sudah tidak digunakan lagi, hapus
dengan
perintah delete.
9

Struktur penulisan :
Delete from nama_tabel where kriteria;
Contoh :
Delete from siswa where nama=Wahyu;

OPERATOR RELASIONAL
Operator yang digunakan yntuk perbandingan antara dua buah nilai. Jenis
dari operator ini adalah = , >, <, >=, <=, <>

Operator Logika : OR,AND,XOR,NOT

Operator BETWEEN dan NOT BETWEEN


Operator between ini untuk menangani operasi jangkauan
menampilkan suatu range data.

atau

Operator IN dan NOT IN


Operator IN digunakan untuk mencocokkan dengan salah satu yang ada
pada suatu daftar
nilai. Sebagai contoh :

Operator LIKE dan NOT LIKE


10

Operator LIKE atau NOT LIKE sangat bermanfaat dalam mencari suatu
data. Operasi ini
digunakan dengan menyebutkan tanda wildcard berupa garis bawah (_)
atau (%)
<. Tanda garis bawah (_) berarti sebuah karakter apa saja. Contoh a_u
cocok dengan
anu,aku,alu,abu dan tidak cocok untuk andu,ambu ataupun allu
<. Tanda % berarti cocok dengan kata apa saja dan berapapun
panjangnya
contoh:

Pengelompokkan Data
Hasil dari SELECT juga dapat dikelompokkan dengan menggunakan kalusa
GROUP BY
Contoh :

Klausa Having
Pemakaian klausa HAVING terkait dengan klausa GROUP BY. Kegunaannya
adalah untuk menentukan kondisi bagi GROUP BY. Kelompok yang
memenuhi having saja yang dihasilkan.
Contoh :

DISTINCT
menyebabkan fungsi hanya menganggap nilai non-duplikat
Contoh :

11

FUNGSI AGREGAT
Adalah fungsi yang disediakan untuk menghasilkan sebuah nilai
berdasarkan sejumlah data. Fungsi sendiri adalah suatu kumpulan
instruksi yang menghasilkan sebuah nilai jika dipanggil. Adapun fungsi
aggregate yang disediakan oleh MySQL dapat dilihat pada table berikut :

Contoh :
mysql> select avg(nilai) from nilai;
+------------+
| avg(nilai)|
+------------+
| 82.5
|
+------------+
1 row in set (0.05 sec)
mysql> select count(nama) from siswa;
+------------------+
| count(nama) |
+------------------+
|5
|
+------------------+
1 row in set (0.00 sec)
mysql> select max(nilai),min(nilai) from nilai;
+---------------+--------------+
| max(nilai) | min(nilai) |
+---------------+--------------+
| 90
| 75
|
+---------------+--------------+
1 row in set (0.05 sec)
14
mysql> select sum(nilai) from nilai;
+--------------+
| sum(nilai) |
+--------------+
| 330
|
+--------------+
1 row in set (0.05 sec)

Ekspresi Pada Query


12

Ekspresi pada query memungkinkan untuk mengubah judul kolom


keluaran, melakukan perhitungan pada kolom keluaran, dan mengubah
tipe data keluaran.
- Memberi nama lain terhadap kolom keluaran
Untuk memberi nama lain terhadap suatu kolom keluaran dengan klausa
AS.

- Ekpresi berkondisi
BU : CASE nilai_ekspresi WHEN nilai_ekspresi THEN nilai_ekspresi
ELSE nilai_ekspresi END

- Ekspresi tentang Waktu


Pernyataan berikut akan menampilkan identitas sisa yang tanggal lahirnya
lebih dari tanggal 31 desember 1993

FUNGSI NILAI
CURRENT_DATE : Menghasilkan tanggal sekarang
CURRENT_TIME : Menghasilkan Waktu sekarang
13

mysql> select current_date as Tgl_Sekarang;


+-------------------+
| Tgl_Sekarang |
+-------------------+
| 2010-02-14 |
+-------------------+
1 row in set (0.06 sec)
mysql> select current_time as Waktu_Sekarang;
+------------------------+
| Waktu_Sekarang |
+------------------------+
| 20:53:14
|
+------------------------+
1 row in set (0.06 sec)

Penggabungan Data / Query Antar Table


Query yang akan dibahas pada bagian ini melibatkan lebih dari satu tabel
Struktur table siswa

Isi dari tabel siswa

Struktur Tabel Matpel (Mata Pelajaran)

Struktur Tabel Nilai

MySQL mempunyai kemampuan untuk menggabungkan dua tabel atau


lebih untuk mendapatkan informasi yang diinginkan. Proses yang
14

dilakukan dengan nama JOIN. Dalam penggabungan dari beberapa tabel


(join) ada beberapa hal yang perlu diperhatian, antara lain :
1. Setiap kolom disebutkan dengan bentuk,
2. tabel-tabel yang dilibatkan dalam query perlu disebutkan dalam Klausa
FROM dengan antar tabel dipisah oleh koma.
3. Kondisi dalam WHERE menetukan macam join yang terbentuk
Macam-macam bentuk Penggabungan (Join)
1. Natural Join
Adalah penggabungan data dari dua buah table yang didasarkan pada
kolom dengan nama sama pada kedua table . Penggabungan ini
mencerminkan hubungan antara kunci tamu dan kunci primer dalam
dua buah table
Contoh:

2. CROSS JOIN
Cross Join merupakan bentuk penggabungan yang paling sederhana dari
dua buah tabel.
BU : SELECT field1,field2 FROM Tabel1 CROSS JOIN tabel2;
Contoh :

3. INNER JOIN
Hampir sama dengan cross join tetapi diikuti dengan kondisi
BU : SELECT Field FROM tabel1 INNER JOIN tabel 2 ON kondisi
Contoh :

4 LEFT (OUTER) JOIN


Akan menampilkan tabel disebelah kanannya (dalam hal ini tabel nilai)
dengan NULL jika tidak terdapat hubungan antara tabel disebelah kiri
(dalam hal ini tabel siswa)
15

BU : SELECT field FROM tabel1 LEFT JOIN tabel2 ON kondisi


Contoh

5. RIGHT/OUTER JOIN
Kebalikan dari LEFT JOIN, jika idak menemukan hubungan dengan tabel
disebelah kiri maka akan ditampilkan NULL
BU : SELECT field FROM tabel1 RIGHT JOIN tabel2 ON kondisi
Contoh :

Pembuatan VIEW
View merupakan bentuk representasi data yang dapat dibuat dengan
melibatkan data yang ada pada satu atau beberapa table. Dengan
menggunakan view, dimungkinkan untuk membuat hanya bagian tertentu
dalam suatu table yang akan muncul. Sebagai contoh suatu view bias
berupa data nis dan alamat siswa tanpa melibatkan data nama . View juga
bias mencakup data yang berasal dari dua table atau bahkan lebih.
Mengingat sifatnya yang demikian, view dapat dianggap sebagai query
tersimpan atau sebagai table semu.
Secara internal view akan disimpan sebagai kamus data. Data yang
sesungguhnya tidak ikut dicatat secara eksplisit, melainkan tetap megacu
pada table basisnya.
Membuat View
Untuk membuat view MySQL menyediakan perintah CREATE VIEW :
Create view nama_view as select nama_field1,nama_field2
nama_tabel
Contoh :

from

16

Memperoleh Informasi pada View


Setelah view diciptakan, view dapat diakses sebagaimana mengakses
table yaitu dengan menggunakan perintah SELECT.
Select * from nama_view
Contoh :

Mengubah View
Untuk mengubah view bias dilakukan dengan perintah Alter View
Alter view nama_view as select nama_field1,nama_field2 from nama_table
Contoh :

Menghapus View
Untuk menghapus view dapat dilakukan dengan perintah DROP VIEW.
Drop view nama_view
Contoh :
Drop view Data_Nilai;

Penggunaan Indeks
Pernahkah anda memanfaatkan indeks buku ?Jika ya, mungkin anda telah
menyadari manfaat indeks. Melalui indeks buku anda bias mencari letak
item tertentu dalam buku dengan mudah dan cepat berapapun tebal buku
tersebut. Keberadaan indeks dalam database antara lain adalah untuk
mempercepat pencarian data berdasarkan kolom tertentu. Misal anda
memberikan perintah :
Select * from siswa where nis=0005;
Jika nis tidak dijadikan sebagai indeks, pencarian data akan dilakukan
terhadap seluruh table, sama seperti kalau anda mencari sesuatu dalam
buku tetapi buku tersebut tidak dilengkapi dengan indeks. Namun, jika
17

indeks yang berkaitan dengan nis ada, system akan menemukannya


dengan cepat. Tentu saja pengaruh indeks akan terasa jika jumlah data
sangat banyak, missal ada jutaan baris.
Menciptakan Indeks
Untuk menciptakan indeks bisa dilakukan dengan perintah :
Create index nama_index on nama_tabel(nama_kolom)
Contoh :

Menghapus Indeks
Untuk menghapus indeks bisa dilakukan dengan perintah DROP INDEX
Drop index nama_index on nama_table
Contoh :
Drop index kode on siswa;
Membuat Indeks yang Unik
Pada contoh create index yang pertama, indeks yang terbentuk bisa
menerima nilai yang kembar (duplikat). Jika anda tak menghendaki hal ini.
Anda bisa menciptakan indeks yang unik. Caranya dengan memberikan
kata UNIQUE di antara CREATE dan INDEX
Create unique index nama_index on nama_tabel(nama_kolom)
Contoh :
Create unique index nama_siswa on siswa(nama);
Membuat indeks berdasarkan beberapa kolom
Create index nama_index on nama_tabel(nama_kolom1,nama_kolom2)
Contoh :
Create index kode_nilai on nilai(nis,kode_matpel);

18

Anda mungkin juga menyukai