8 Hal Yang Harus Diketahui Programer Pem

8 Hal Yang Harus Diketahui Programer Pemula Tentang
MySQL
1.
2.

1. Tabel MySQL bukanlah array

3.

3. LIMIT, LIMIT, LIMIT

4.

4. Tipe Data

5.

5. Normalisasi dan Pemodelan

6.


6. Indeks

7.

7. Konkurensi, Locking, dan Transaksi

8.

8. Jenis Tabel

9.

Penutup

2. Bahasa SQL dan Fungsi-Fungsi MySQL

Time and again I am amazed at how bad the successful software packages out there are. Apache is easily
outperformed by fnord, MySQL isn't even a real database, PHP is so slow that Zend actually made a business
model out of selling performance enhancing hacks for it.—diaryFefe
PHP+MySQL. Siapa yang tidak tahu bahwa duo sejoli ini adalah pasangan terpopular di dunia open source,

bahkan di seluruh Internet. PHP telah menggeser Perl sebagai bahasa pilihan dalam membuat aplikasi Web,
terutama bagi pemula. Dan PHP hampir selalu bersanding dengan MySQL; 90–95%+ skrip PHP
di www.hotscripts.com mungkin bertuliskan “membutuhkan PHP dan MySQL”. Buku-buku PHP, termasuk
untuk pemula, tidak akan dipandang afdol kalau belum membahas MySQL. Dan programer PHP, lambat atau
cepat, mau atau tidak mau, pasti akan harus mengakrabi software database yang satu ini.
Sayangnya, banyak programer sudah bermain-main dan memakai MySQL secara live di situs produksi,
padahal masih asing sama sekali dengan konsep database relasional. Bahkan sebetulnya MySQL juga banyak
memiliki kekurangan dalam hal fitur SQL. Sehingga programer PHP tidak bisa memahami dan memanfaatkan
kekuatan penuh database relasional + SQL.
Buat Anda para programer pemula yang memang masih awam dengan MySQL dan konsep database pada
umumnya, tidak perlu minder atau khawatir. Di dunia IT yang bergerak serba cepat ini memang ada terlalu
banyak hal yang harus dipelajari. Dan kebanyakan jadinya dipelajari sambil jalan, sambil dipraktikkan. Ketika
mulai membangun CMS untuk satunet.com tahun 1999 pun, saya hanya punya skill terbatas tentang SQL:
hanya tahu SELECT, UPDATE,DELETE, CREATE TABLE, dan DROP TABLE. Apa itu JOIN, bagaimana
mengubah skema tabel, bagaimana mendesain database yang baik dan ternormalisasi, semuanya masih
blank. Dan semua harus dipelajari sambil jalan. Tapi toh akhirnya semua baik-baik saja.
Lewat artikel ini kita akan membahas hal-hal dasar apa yang perlu diketahui agar bisa memakai MySQL
dengan efektif dan efisien. Mari kita mulai dengan hal nomor satu:

1. Tabel MySQL bukanlah array

Programer PHP atau Perl tentu saja familiar dengan array dan hash, yang biasanya dipakai untuk menyimpan
sekumpulan data terkait. Sebagian dari mereka yang tidak familiar dengan MySQL akan cenderung
menganalogikan tabel database dengan array/hash (tepatnya, array of array atau array 2 dimensi). Tabel
dipandang sama seperti sebuah array, hanya saja bisa berukuran besar sekali dan persisten (disimpan di
disk).

Cara pandang ini tidak sepenuhnya salah, karena toh dalam mengambil record dari tabel biasanya
ditampung ke dalam variabel array/hash. Hanya saja, cara pandang ini kadang-kadang membuat programer
PHP melakukan sesuatu seperti:
$res = mysql_query("SELECT * FROM t1");
$rows = array();
while ($row = mysql_fetch_row($res)) $rows[] = $row;
echo "Jumlah record di tabel t1 = ", count($rows);
atau membuat tabel seperti:
CREATE TABLE t2 (
f0 INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
f1 INT UNSIGNED,
f2 VARCHAR(5),
f3 VARCHAR(200),
f4 VARCHAR(200),

f5 BLOB
);
Apa yang salah dengan kode PHP pertama di atas, yang bertujuan mencari jumlah record dalam sebuah
tabel? Si programer, yang terlalu terobsesi menganggap tabel MySQL sebagai sebuah array, mencoba
membangun dulu arraynya dengan mengisi satu-persatu elemen dari hasil query agar nantinya bisa
menggunakan fungsi array count(). Masalahnya, bagaimana kalau jumlah record ada 100 ribu? 1 juta? 10
juta? Bukan itu saja, selesai di-count() variabel$rows langsung dibuang lagi! Padahal, ada cara yang jauh
lebih efisien:
SELECT COUNT(*) FROM t1
Hasil querynya hanyalah sebuah record saja, tak peduli berapa pun ukuran tabel t1.
Lalu apa yang salah dengan kode SQL kedua? Si programer Perl, dalam hal ini, terobsesi ingin mengambil
tiap record di tabel dengan fungsi DBI $sth->fetchrow_array()
@row = $sth->fetchrow_array();
print $row[0]; # f0
print $row[1]; # f1
print $row[2]; # f2
# ...
Enak bukan? Elemen ke-0 berisi nilai field f0, elemen ke-1 field f1, dst. Masalahnya, kemudahan ini
mengorbankan nama field yang menjadi sangat tidak deskriptif. Belum lagi kalau tabel perlu diubah dengan
menyisipkan field-field lain di antara field yang sudah ada. Atau field-field lama perlu dihapus. Semuanya

akan menjadi mimpi buruk.
Sebagian pembaca mungkin geleng-geleng kepala. Apa benar ada programer PHP dan Perl yang melakukan
kedua hal di atas? Percaya deh, ada. Saya pernah harus ketiban getah memaintain tabel dengan nama field
kriptik seperti ini.

2. Bahasa SQL dan Fungsi-Fungsi MySQL
MySQL adalah database SQL bukan? Sayangnya, programer PHP pemula kadang terbatas sekali
pengetahuan SQL-nya. Padahal, untuk menggunakan database MySQL dengan efektif, ia tidak boleh malas
mempelajari bahasa kedua, yaitu SQL. Jika tidak belajar SQL, maka ada kemungkinan Anda akan melakukan
hal-hal seperti:
$res = mysql_query("SELECT * FROM bigtable");
while ($row = mysql_fetch_assoc($res)) {
if ($row['age'] >= 40) {

}

echo "Ditemukan kustomer yang berusia lebih dari 40 tahun!\n";
break;

}

Apa salah kode di atas? Si programer PHP mencoba mensimulasikan klausa WHERE SQL dengan melakukan
pengujian kondisi di kode PHP. Padahal, yang seharusnya dilakukan adalah:
SELECT * FROM bigtable WHERE age >= 40
Ini amat mengirit trafik client/server karena tidak semua record harus dikirimkan dari MySQL ke program PHP
Anda.
Sebagian pembaca mungkin geleng-geleng kepala. Apa benar ada programer PHP yang seperti ini? Percaya
deh, ada.
SQL sudah menyediakan cara untuk menyortir data, memformat tampilan, mengelompokkan dan memfilter
record, dsb. MySQL juga terkenal banyak menyediakan fungsi-fungsi, mulai dari manipulasi tanggal, angka,
string, dsb. Kenali SQL dan fungsi-fungsi MySQL; jangan duplikasikan ini semua di PHP sebab akan lebih
efisien jika dilakukan di level MySQL.
Ini contoh lain programer PHP yang tidak memanfaatkan fasilitas dari MySQL:
$res = mysql_query("SELECT * FROM customers");
while ($row = mysql_fetch_assoc($res)) {
# format semula yyyy-mm-dd...
preg_match("/(\d\d\d\d)-(\d\d?)-(\d\d?)/", $row[date], $matches);
# ... dan ingin dijadikan dd/mm/yyyy
$tanggal = "$matches[3]/$matches[2]/$matches[1]";
echo "Nama=$row[name], Tanggal lahir=$tanggal\n";
}

Padahal MySQL sudah menyediakan fungsi pemformatan dan manipulasi tanggal:
$res = mysql_query("SELECT name, DATE_FORMAT(date,'%d-%m-%Y') as tanggal ".
"FROM customers");
while ($row = mysql_fetch_assoc($res)) {
# tidak perlu capek-capek manipulasi string lagi...
echo "Nama=$row[name], Tanggal lahir=$row[tanggal]\n";
}
Poin no. 2 ini kedengarannya klise, tapi, seperti nasihat Inggris bilang: know thy tools.

3. LIMIT, LIMIT, LIMIT
Salah satu alasan mengapa MySQL sangat cocok untuk aplikasi Web adalah mendukung klausa LIMIT.
Dengan klausa ini, mudah sekali membatasi jumlah record hasil yang diinginkan dalam satu perintah SQL.
Tidak perlu bermain kursor atau bersusah payah lewat cara lainnya. Belakangan database lain seperti
PostgreSQL dan Firebird pun ikut mendukung fungsionalitas LIMIT (dengan sintaks yang tidak persis sama
tentunya).
Sayangnya, programer PHP sendiri yang belum mengenal MySQL dengan baik tidak menggunakannya
dengan semestinya.
$res = mysql_query("SELECT name FROM users ORDER BY date");
$rows = array();
for ($i=1; $i 'nilai tertentu'). [Catatan: ada indeks lain yang

“tidak biasa” di MySQL, yaitu FULLTEXT. Tapi ini di luar cakupan artikel kita kali ini.]
* Field jenis kelamin mungkin tidak perlu diindeks, kecuali jika perbandingan pria:wanita amat drastis
bedanya. Mengapa? Sebab: 1) rentang nilai yang ada hanyalah dua: L (lelaki) dan P (perempuan). Meskipun
Anda beri indeks, tidak akan memperbaiki kinerja.

7. Konkurensi, Locking, dan Transaksi
Programer web pemula kadang-kadang tidak menyadari bahwa program/skrip yang dibuatnya tidaklah
seperti program desktop yang dijalankan oleh satu user. Melainkan, dalam satu waktu bisa saja ada 10 atau
100 user yang “menembak” skrip Anda di Web. Karena itu, isu locking dan konkurensi penting sekali.
Contohnya adalah seperti ini:
$res = mysql_query("SELECT value FROM counters WHERE name='counter1'");
list ($value) = mysql_fetch_row($res);
$value++;
// do something else first...
$res = mysql_query("UPDATE counter SET value=$value WHERE name='counter1'");
Di antara baris pertama (saat kita mengambil nilai record) dan baris keempat (saat kita menaruh kembali
nilai dalam record) mungkin saja telah terjadi beberapa kali perubahan terhadap si record. Misalnya, pada
baris pertama klien1 memperoleh nilai $value = 100. Di baris 3 $value di-increment menjadi 101. Tapi apa
yang terjadi jika selama selang waktu itu nilai record counter1 telah menjadi 103 (karena misalnya klien2,
klien3, dan klien4 telah meng-incrementnya)? Oleh si klien1, counter1 direset kembali menjadi 101 dan

akibatnya increment oleh klien2, klien3, dan klien4 hilang. Seharusnya nilai counter1 menjadi 104.
Untuk kasus di atas, pemecahannya cukup gampang. Lakukan increment secara atomik:
// tidak perlu ambil nilai counter dulu...
// do something else first...
$res = mysql_query("UPDATE counter SET value=value+1 WHERE name='counter1'");

Tapi dalam kasus lain, kadang-kadang kita harus melakukan locking terhadap tabel atau record untuk
menjamin bahwa selama kita // do something else… klien2, klien3, dan klien4 tidak bisa seenaknya
menaikkan nilai counter:
mysql_query("LOCK TABLES cuonters");
$res = mysql_query("SELECT value FROM counters WHERE name='counter1'");
list ($value) = mysql_fetch_row($res);
// do something else first... increase value or something...
$res = mysql_query("UPDATE counter SET value=$value WHERE name='counter1'");
mysql_query("UNLOCK TABLES");
atau (lebih baik karena kita tidak perlu melock keseluruhan tabel):
mysql_query("SELECT GET_LOCK('lock1')");
$res = mysql_query("SELECT value FROM counters WHERE name='counter1'");
list ($value) = mysql_fetch_row($res);
// do something else first... increase value or something...

$res = mysql_query("UPDATE counter SET value=$value WHERE name='counter1'");
mysql_query("SELECT RELEASE_LOCK('lock1')");
Ingat, locking dapat berakibat samping yaitu deadlock.
Transaksi. Transaksi pun sesuatu yang dipergunakan secara meluas di dunia database, tapi hampir tidak
pernah kita jumpai di bahasa pemrograman (ini karena data di bahasa pemrograman ditaruh dalam variabel
di memori semua; tidak ada isu disk yang crash/lambat/rusak/harus disinkronkan dengan data di memori).
Karena itu Anda perlu memahami konsep ini dari buku-buku tentang database.

8. Jenis Tabel
Di MySQL dikenal istilah table handler dan jenis tabel. Saat ini ada 3 jenis tabel utama yang bisa dipakai di
MySQL: MyISAM (default), BerkeleyDB, dan InnoDB. Yang perlu diketahui ada tiga hal: 1) tidak semua tabel
mendukung transaksi (MyISAM tidak mendukung transaksi, jadi COMMIT dan ROLLBACK tidak melakukan
sesuatu yang semestinya jika Anda menerapkan pada tabel MyISAM); 2) tidak semua tabel punya
karakteristik performance yang sama (BerkeleyDB misalnya, lambat jika ukuran tabel besar) dan disimpan
dengan cara yang sama (tabel MyISAM misalnya disimpan dalam 3 file: .MYI, .MYD, .frm sementara tabeltabel dan database-database InnoDB disimpan bersama dalam daerah disk yang disebut tablespace; 3)
distribusi MySQL yang bukan -Max tidak dikompile dengan dukungan terhadap BerkeleyDB dan InnoDB.
Nomor 3 penting Anda ketahui karena jika kita menginstruksikan MySQL untuk membuat database dengan
jenis tertentu:
CREATE TABLE (...) TYPE=BDB;
Dan MySQL tidak dikompile untuk mendukung BerkeleyDB, maka MySQL tidak akan protes dengan error,

melainkan membuatkan tabel tersebut untuk kita tapi dengan tipe default yaitu MyISAM. Jadi Anda perlu
mengecek dulu menggunakan SHOW TABLE STATUS:
mysql> create table t4 (i int) type=innodb;
Query OK, 0 rows affected (0.00 sec)
mysql> show table status from mydb like 't4';
+------+--------+-...
| Name | Type
| ...
+------+--------+-...
| t4
| MyISAM | ...
+------+--------+-...
Ternyata MyISAM!

Penutup
Sebetulnya untuk memakai MySQL dengan baik dan benar diperlukan skill-skill dasar lain seperti
membackup, merestore, mengeset parameter-parameter server, memonitor server, dsb. Tapi itu semua lebih
merupakan tugas seorang administrator (DBA).

Sekilas Tentang SQL
11:36:00 AM

Toko buku atau perpustakaan yang besar umumnya menyediakan beberapa komputer sebagai mesin pencaridata. Di
dalam komputer tersebut, tersimpan sebuah katalog digital berisi informasi mengenai buku-buku yang dijual di sana,
seperti judul, nama panulis, penerbit, dan lokasi penempatannya. Untuk mempermudah pencarian buku, Anda bisa
memasukkan kata kunci yang sesuai. Anda sering memanfaatkan fasilitas pencarian tersebut? Tapi tahukah Anda
bagaimana cara kerjanya?
Untuk mengetahui bagaimana cara kerja sistem tersebut, kita akan berkenalan dengan yang namanya SQL,
singkatan dari Structured Query Language.
Mengenal SQL
Secara umum, data-data penting disimpan dalam bentuk tabel yang terdiri dari field (kolom) dan record (baris).
Kumpulan tabel yang saling berhubungan akan membentuk sebuah database (basis data) dan disimpan dalam
komputer. Data-data tersebut tidak akan ada artinya tanpa adanya bahasa SQL untuk mengatur, mengelola, dan
menyajikan kembali data-data tersebut.
Secara singkat, SQL merupakan bahasa yang digunakan untuk berinteraksi dengan basis data. Saat Anda ingin
mendapatkan informasi dengan spesifikasi dan kategori tertentu, maka Anda bisa menggunakan bahasa SQL.
Peranti lunak yang akan mencerna dan menterjemahkan permintaan bahasa SQL tersebut, serta melakukan
pencarian datanya adalah DBMS (Data Base Management System).
Komunikasi Antar-DBMS

Setiap produsen peranti lunak menawarkan DBMS yang sifatnya khusus dan belum tentu kompatibel dengan data
DBMS yang lainnya. Misalnya Microsoft Access belum tentu kompatibel dengan DBMS Oracle, dBASE, PostgreSQL,
atau RDBMS. Dari sekian banyak DBMS, MySQL merupakan salah satu DBMS yang bersifat open source dan gratis.
Supaya DBMS yang Anda gunakan bisa berkomunikasi dengan DDBMS dari produsen lain, biasanya Anda harus
mengistal driver khusus yang disebut ODBC (Open Database Connectivity). ODBC akan mengitegrasikan basis
antar-DBMS dan menterjemahkan beragam sintaks SQL, contohnya sintaks SELECT dan INSERT.
Sebagai informasi, ada kurang lebih 40 sintaks yang bisa saling dikombinasikan. Contoh sedehana dari kombinasi
sintaks SQL adalah “SELECT*FORM Buku WHERE NamaPengarang=”Teguh” ANDTahunterbit
Jka dibandingkan dengan bahasa pemrograman lainnya, semacam C, Pascal, dan Java, maka SQL memiliki sintaks
bahasa yang lebih “manusiawi”. Bahasa SQL banyak menggunakan yang mudah dimengerti, dan penulisannya
menggunakan bahasa Inggris.
Bedanya, SQL tidak mengenal bahasa kondisional seperti IF, FOR, DO, dan GOTO untuk mengontrol programnya.
Meski begitu, SQL bisa disisipkan ke dalam bahasa pemrograman lain untuk keperluan mengakses data.

Berbagai Fungsi SQL
Bahasa SQL tak hanya digunakan dalam proses query, atau proses yang meliputi pengiriman proses, penterjemahan
request, pencarian data, hingga penyajiannya. SQL memiliki banyak kegunaan lainnya. Perlu diketahui, bahasa
tersebut juga digunakan oleh DBMS untuk melakukan:

Definisi data (data definition)



SQL memperbolehkan administrator untuk menghubungkan data dengan data yang lain. Tak hanya datanya, pun
struktur datanya bisa dihubungkan. Proses pendifinisian data ini selain bertujuan untuk memberikan identitas yang
unik pada data, juga bisa memudahkan proses query.
Manipulasi data (data manipulation)



SQL mengizinkan administrator untuk memperbarui, menghapus data lama, menambahkan data baru, atau
mengubah data yang sudah ada.
Kontrol akses data (data access contro)



SQL akan melarang pengguna yang tidak terdaftar dan tidak memiliki hak akses data untuk melakukan proses
query.
Berbagi data (sharing)



SQL akan mengatur bagaimana satu pengguna berbagi data dengan pengguna lainnya tanpa harus menggangu
satu sama lain.
Mencari data
Inilah fungsi yang paling utama dan populer dari SQL, yaitu untuk mendifinisikan pencarian sebuah data. SQL bisa
digunakan untuk melakukan pencarian dan menyajikan hasilnya.

Apa itu SQL (Structured Query Language)?
Banyak diantara rekan-rekan chatting penulis di Yahoo! Messenger yang menanyakan tentang apa itu SQL, maksud
dan artinya apa sih? Ini pertanyaan yang sangat menarik dan sangat cocok untuk dibuat artikel di situs ini. OK,
sebelumnya ada beberapa point yang bisa Anda tanamkan di benak Anda mengenai SQL, baca beberapa point-point
tersebut

berikut

ini.

-

SQL

adalah

singkatan

-

SQL

adalah

sarana

-

SQL

adalah

suatu

dari
Anda

SQL

dapat

mengeksekusi

-

SQL

dapat

mengambil

SQL

-

dapat

SQL
SQL

-

dapat
dapat

SQL

query

melakukan
itu

sangat

SQL

ke

data
update

standard

terhadap
dari

data

menghapus

mengakses database

mengikuti

data

menambahkan

Query Language

untuk

bahasa komputer yang

-

Structured

pada
terhadap
mudah

ANSI

suatu database
suatu

dalam
suatu
data
untuk

itu

database
suatu database
database
pada database
dipelajari
standard

Point-point di atas terlihat sangat sederhana dan mudah. Penulis harap orang awam-pun akan dapat mengerti
mengenai kegunaan dan fungsi SQL, lebih dari sekedar tahu kepanjangannya saja. SQL adalah suatu
bahasa komputer yang mengikuti standard ANSI (American National Standard Institute), yaitu sebuah bahasa
standard yang digunakan untuk mengakses dan melakukan manipulasi suatu sistem database. Statemen dalam SQL
dapat digunakan untuk mengakses data atau meng-update data pada suatu database. SQL utamanya berfungsi
dalam suatu relational database seperti misalnya Oracle, SQL Server, DB2, Informix, Sybase, MS Acces, MySQL,
Firebird

dan

masih

banyak

lagi

yang

lainnya.

Dengan adanya berbagai perusahaan/vendor yang membuat berbagai produk SQL maka efeknya adalah timbul
berbagai macam perbedaan dalam bahasa SQL yang dikembanglan oleh tiap-tiap perusahaan tersebut. Contohnya
saja, bahasa SQL yang dimiliki oleh Microsoft (yang bernama T-SQL) akan berbeda dengan bahasa SQL yang
dikembangkan oleh Oracle (yang bernama PL/SQL). Namun demikian semua vendor diwajibkan untuk mendukung
bahasa standard yang ditentukan oleh ANSI, misalnya semua pengembang bahasa SQL wajib dalam
mengimplementasikan kata kunci atau statemen standard SQL seperti SELECT, UPDATE, DELETE, INSERT,
WHERE dan lain sebagainya. Perbedaan bahasa SQL yang dikembangkan oleh setiap vendor itu dinamakan
extension
Tabel

atau

juga

disebut
pada

dengan

dialek.
SQL

Suatu database berisi dari satu atau lebih tabel. Setiap tabel diberi nama tertentu yang berhubungan dengan isinya,
contohnya tabel yang isinya mengenai data pelanggan diberi nama tabel Customers. Tabel itu sendiri berisi dari satu
atau sekumpulan record. Record adalah satu baris data yang dibentuk oleh satu atau beberapa field. Nah, field-field
inilah yang berisi data. Berikut ini adalah contoh dari suatu tabel yang berisi data. Berikut ini adalah contoh dari tabel
yang

bernama

'Karyawan'.

Tabel di atas terdiri dari tiga buah record. Masing-masing record terdiri dari empat buah field (LastName, FirstName,
Address,

City).

Query

pada

SQL

Dengan SQL kita bisa membuat sebuah query ke database yang hasilnya bisa dilihat. Query adalah istilah untuk
mengambil data dari database dengan suatu kriteria tertentu. Contoh dari sebuah query adalah sebagai berikut.
select

LastName

Dari

query

di

from

atas

Mengenal

akan

Karyawan

menghasilkan

data

DML

sebagai

pada

berikut:

SQL

SQL adalah sekumpulan sintaks-sintaks atau statemen untuk mengakses data dalamdatabase, tetapi SQL sendiri
juga bisa digunakan untuk melakukan proses insert, update atau delete ke dalam suatu database. Sintaks-sintaks ini
yang disebut dengan Data ManipulationLanguage (DML) yang merupakan bagian dari SQL. Berikut ini adalah
penjelasan
-

singkat

SELECT,
UPDATE,

-

bertugas
bertugas

DELETE,
INSERT,

untuk

untuk

bertugas
bertugas

dari
mengakses

mengupdate
untuk

untuk

data

(merubah)

menghapus

menambahkan

Mengenal

sintaks-sintaks
dari
data

data

data

ke

suatu

dalam

tabel

suatu

dari

suatu

dalam

suatu

DDL

tersebut.
dalam database

tabel

pada

tabel

database

dalam database

tabel

dalam

pada

database
SQL

DDL merupakan singkatan dari Data Definition Language yang juga bagian dari SQL. DDL ini berfungsi lebih ke
dalam memanipulasi struktur dari database. Contohnya DDL ini bisa digunakan untuk membuat tabel atau
menghapus tabel. Kita juga bisa membuat key atau index dengan menggunakan DDL ini, membuat relasi antar tabel
juga

bisa

Beberapa

statemen

-

CREATE

-

ALTER
DROP

-

CREATE

-

DROP

dilakukan
atau

sintaks

yang

sering

TABLE,
TABLE,
INDEX,

INDEX,

untuk

bertugas
bertugas

bertugas

dijumpai

bertugas

bertugas

TABLE,

dengan

untuk
untuk

DDL

dalam

DDL

untuk
merubah

untuk

adalah

ini.
sebagai

membuat
struktur

menghapus

suatu
suatu

berikut:
tabel
tabel
tabel

membuat

suatu

index

dalam

tabel

menghapus

suatu

index

dalam

tabel.