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
|
Matematika
|
P001
|
Produktif
|
B001
|
B.Inggris
|
T siswa
Nis
|
Nama
|
Alamat
|
Telp
|
Kelas
|
11060011
|
Rian
|
Cimahi
|
66521364
|
11 RPL 1
|
11060012
|
Dewi
|
Bandung
|
22354698
|
11 RPL 2
|
11060013
|
Yani
|
Bandung
|
225698741
|
11 RPL 3
|
t. nilai (tabel relasi)
Nis
|
Kode
|
Nilai
|
11060011
|
M001
|
80
|
11060011
|
B001
|
90
|
11060013
|
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_buku
|
Judul
|
Halaman
|
Topic
|
001
|
Java
|
451
|
Pemrograman
|
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
Pemasok
|
Kota
|
Barang
|
jumlah
|
Kartika
|
Jakarta
|
Monitor GGG
|
10
|
Citra
|
Bandung
|
Hardisk
|
4
|
Candra
|
Jakarta
|
Keyboard
|
5
|
Citra
|
Bandung
|
Mouse
|
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
Pemasok
|
Kota
|
Barang
|
jumlah
|
Kartika
|
Jakarta
|
Monitor GGG
|
10
|
Citra
|
Bogor
|
Hardisk
|
4
|
Candra
|
Jakarta
|
Keyboard
|
5
|
Citra
|
Bandung
|
Mouse
|
25
|
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_buku
|
Judul
|
Halaman
|
001
|
Java
|
451
|
Tabel Buku_topik
Kode_buku
|
Id_topik
|
001
|
P05
|
001
|
I01
|
Tabel topic
Kode_buku
|
Judul
|
P05
|
Pemrograman
|
I01
|
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_pemasok
|
pemasok
|
kota
|
C-01
|
Citra
|
Jakarta
|
C-02
|
Candra
|
Bogor
|
K-01
|
Kartika
|
Jakarta
|
Tabel Barang
Kode_barang
|
Barang
|
MON-13
|
Monitor GGG
|
ZIP-01
|
Hardisk
|
KEY-01
|
Keyboard
|
MOU-23
|
Mouse
|
Tabel Pemasok_barang
Kode_pemasok
|
Barang
|
jumlah
|
K-01
|
MON-13
|
10
|
C-01
|
ZIP-01
|
4
|
C_02
|
KEY-01
|
5
|
C-01
|
MOU-23
|
25
|
Dengan menggunakan
tabel-tabel sebagaimana terlihat pada tabel-tabel 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 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.
Mengetahui Daftar Tabel dalam Database
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
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 :
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.
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” atau
menampilkan suatu range data.
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
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 :
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
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
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 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)
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 from nama_tabel
Contoh :
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 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);
Tidak ada komentar :
Posting Komentar