Modul sql tingkat dasar

14,765 views

Published on

Published in: Education, Technology
  • Be the first to comment

Modul sql tingkat dasar

  1. 1. JOBSHEET SQL Tingkat DasarKenapa MySQL? MySQL adalah database manajemen sistem (DBMS).DBMS merupakan paketsoftware yang didesain untuk menyimpan dan mengelola basis data. DBMS juga merupakansalah satu system dalam mengakses database yang menggunakan bahasa SQL. SQL (Structured Query Language ) adalah bahasa stndart yang digunakan untuk mengakses serverdatabaseKenapa menggunakan MySQL? MySQL software open source. Open source artinya memungkinkan untuk semuaorang untuk menggunakan dan memodifikasi software. Database MySQL sangat cepat,reliable, dan mudah untuk digunakan, selain itu MySQL telah banyak menangani pembuatansoftware besar.Pengertian Database Relasional Secara umum, database berarti koleksi data yang saling terkait. Secara praktis basisdata dapat dianggap sebagai suatu penyusuanan data yang terstruktur yang disimpan dalammedia pengingat (hard disk) yang tujuannya adalah agar data tersebut dapat diakses denganmudah dan cepat. Sesungguhnya ada beberapa macam database, antara lain yaitu database hierarkis,database jaringan dan database relasional. Database relasional merupakan database yangpopular saat ini dan telah diterapkan pada berbagai platform, dari PC hingga minicomputer.Sebuah database relasional tersusun atas sejumlah tabel. Sebagai contoh databaseakademis mencakup tabel-tabel seperti guru, siswa, KRS,nilai dan lain-lain. Gambar berikutmemperlihatkan sample data mengenai databse akademis.t. matapelKode NamaM001 MatematikaP001 ProduktifB001 B.InggrisT siswaNis Nama Alamat Telp Kelas11060011 Rian Cimahi 66521364 11 RPL 111060012 Dewi Bandung 22354698 11 RPL 211060013 Yani Bandung 225698741 11 RPL 3t. nilai (tabel relasi)Nis Kode Nilai11060011 M001 8011060011 B001 9011060013 P001 85 1
  2. 2. Memahami Normalisasi Normalisasi merupakan suatu proses untuk mengubah suatu tabel yang memilikimasalah tertentu ke dalam dua buah tabel atau lebih yang tidak lagi memiliki masalahtersebut. Normalisasi bisa dipakai oleh para perancang database untuk melakukan verifikasiterhadap tabel-tabel yang telah dibuat, sehingga tidak menimbulkan suatu permasalahansaat data ditambah, diperbarui ataupun dihapus.Kesalahan Perancangan Tabel Gambaran tentang kesalahan perancangan tabel diperlihatkan di bawah ini. Sebagaicontoh, 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 topicbuku. Jika sebuah buku memiliki lebih dari sebuah topic, tabel tersebut memiliki masalah,yakni data kode buku, judul dan halaman harus di duplikasi. Sebagai contoh diperlihatkanpada tabel berikut :Tabel : Contoh satu buku dengan dua buah topicKode_buku Judul Halaman Topic001 Java 451 Pemrograman001 Java 451 Internet Duplikasi data seperti di atas (dinyatakan dengan cetakan tebal) harus dihindarikarena berpotensi menimbulkan masalah. Sekarang perhatikan tabel berikut :Tabel : Contoh Data tentang pemasokPemasok Kota Barang jumlahKartika Jakarta Monitor GGG 10Citra Bandung Hardisk 4Candra Jakarta Keyboard 5Citra Bandung Mouse 25 Seandainya pemasok Citra berpindah ke kota lain, misalnya ke Bogor, dan pengubahanhanya dilakukan pada data pertama (data pemasok Citra pada tabel tersebut ada dua buah),maka hasilnya adalah seperti berikut :Tabel : Keadaan yang menunjukkan adanya ketidak konsistenanPemasok Kota Barang jumlahKartika Jakarta Monitor GGG 10Citra Bogor Hardisk 4Candra Jakarta Keyboard 5Citra Bandung Mouse 25 Terlihat bahwa terdapat ketidakkonsistenan. Fakta pertama menyatakan bahwapemasok Citra belokasi di Bogor, tetapi fakta kedua menyatakan bahwa pemasok Citra 2
  3. 3. berada di Bandung. Jadi mana yang benar ? Keadaan inilah yang menyatakan adanyaketidak-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 BukuKode_buku Judul Halaman001 Java 451Tabel Buku_topikKode_buku Id_topik001 P05001 I01Tabel topicKode_buku JudulP05 PemrogramanI01 InternetAdapun 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 PemasokKode_pemasok pemasok kotaC-01 Citra JakartaC-02 Candra BogorK-01 Kartika JakartaTabel BarangKode_barang BarangMON-13 Monitor GGGZIP-01 HardiskKEY-01 KeyboardMOU-23 Mouse 3
  4. 4. Tabel Pemasok_barangKode_pemasok Barang jumlahK-01 MON-13 10C-01 ZIP-01 4C_02 KEY-01 5C-01 MOU-23 25 Dengan menggunakan tabel-tabel sebagaimana terlihat pada tabel-tabel di atas,permasalahan duplikasi data dan ketidak-konsistenan dihapuskan. Sebagai contoh, jikakatakanlah topic pemrograman hendak diganti menjadi Programming, perubahan cukupdilakukan di satu tempat yaitu tabel topic.Didalam MySQL terdapat sebuah database yang ada sejak awal setelah anda menginstallMySQL, nama database tersebut adalah mysql dan pada database tersebut tersimpan nama-nama pengguna yang dapat menggunakan MySQL lengkap dengan opsi otoritas yang dapatdilakukan oleh pengguna tersebut. Secara default user dengan nama root adalah penggunayang menguasai secara utuh dan dapat membuat user lainnya (termasuk membatasi user -user lain). Untuk dapat menggunakan MySQL anda harus memasukan user dan passwordyang 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 filesmysqlbin)atau mode text).➢ Masuk ke Server MySqlmysql -u root -h localhost -pEnter password:************Welcome to the MySQL monitor. Commands end with ; or g.Your MySQL connection id is 2 to server version: 4.0.11a-gammaType 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 menggunakanopsi -p ini. -p dapat juga digunakan untuk mendeklarasikan nama database yang andagunakan (ex: mysql -u root - loclhost -p latihan)➢ Keluar dari MySqlmysql> qByeDatabase adalah kumpulan dari tabel-tabel, dan tabel biasa juga disebut relasi menyatakanbentuk berdimensi dua yang mewakili suatu kelompok data yang sejenis yang terdiri darikumpulan dari beberapa Field atau column. Untuk membuat suatu table maka seorang userharus membuat database terlebih dahulu. Dengan mengaktifkan database yang dibuattersebut.➢ Membuat databaseBU : CREATE Database Nm_Database;Contoh : 4
  5. 5. mysql> create database akademik;Query OK, 1 row affected (0.11 sec)➢ Melihat seluruh daftar database dalam server MySqlBU: SHOW Databases;mysql> show databases;+--------------+| Database |+--------------+| mysql || akademik || test |+--------------+3 rows in set (0.27 sec)➢ Mengaktifkan/Menggunakan DatabaseSebelum pembuatan tabel dan operasi-operasi yang berhubungan dengan tabel makadatabase harus di aktifkan/digunakan.BU : USE Nm_DatabaseContoh :mysql> use akademik;Database changed Menghapus Database dari ServerBU : Drop Database Nm_DatabaseContoh :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 database2. Jangan menggunkan angka pada awal pembuatan nama databaseSecara 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, DropMembuat TabelSetelah menciptakan suatu database dan mengaktifkan database tersebut makadapat dilakukan perintah pembuatan tabelBU : CREATE TABLE Nm_Tabel (Nm_Kolom1 tipe data([ukuran]),nm_kolom2tipe 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 TabelPerintah describe nama_tabel; digunakan untuk melihat struktur tabel yang telahdibuat. Namun sebelumnya, sudah berada pada database yang mempunyai 5
  6. 6. tabel tersebut.Contoh :Mengetahui Daftar Tabel dalam DatabaseBU: SHOW Tables, SHOW Tables from nama_database;mysql> show tables;+-----------------------------+| Tables_in_akademik |+-----------------------------+| siswa || matpel || nilai |+-----------------------------+Mengubah Struktur TabelAda 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; 6
  7. 7. Contoh :mysql>alter table siswa drop column kelas;Mengganti Nama TabelPenggantian 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 TabelTabel 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 DATAMenentukan Kunci Primer (Primary Key)Secara sederhan kunci primer digunakan untuk menyatakan bahwa suatu nilai tidak bolehada yang sama dan nilai tersebut harus diisi (NOT NULL). Penetapan kunci primer dibuatpada saat pembuatan tabel:mysql> create table siswa (nis varchar(10) not null primary key,namavarchar(30),jk char(2),alamat varchar(50));Memberikan nilai bawaan (Default)Jika tidak memberikan suatu nilai dalam kolom tertentu maka oleh system secara otomatisdiisi dengan nilai NULL. Oleh karena itu pada saat perancangan table field tersebutdefaultnya diisi dengan tetapan yang dikehendaki.mysql> create table matpel (kode_matpel varchar(10) not null primarykey,nama_matpel varchar(20),kelompok varchar(20) default null);Mengenal Auto_IncrementMySQL menyediakan atribut AUTO_INCREMENT yang dapat diletakkan pada pendefinisiankolom. Atribut ini berguna untuk membentuk kolom yang memiliki baris-baris dengan nilaiyang urut. Dalam hal ini kolom yang diberi atribut AUTO_INCREMENT harus bertinadaksebagai kunci primer.mysql> create table nilai (no int primary key AUTO_INCREMENT, nis char(10) not null, kode_mp char(10) notnull , nilai double);2. DML (Data Manipulation Language)Terdiri dari SELECT, INSERT, UPDATE dan DELETEMemasukkan 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 : 7
  8. 8. Insert into siswa (nis,nama,jk,alamat) values (‘0001’,’Asep’,’L’,’Bandung’);3. Memasukkan data lebih dari satu recordContoh :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 / descContoh :Select nis from siswa;Select nis,nama from siswa;Select * from siswa;Note :Setelah penulisan select, [fields] dapat diganti dengan menyebutkan satu nama field sajaatau beberapa field sekaligus yang dipisah dengan tanda koma (,). Penulisan field-fieldtersebut digunakan untuk memunculkan data dari kolom mana saja yang akan ditampilkan.Jika seluruh kolom akan ditampilkan dapat menggunakan tanda asterik (*) untukmewakilinya.Mengurutkan TampilanKlausa ORDER BY digunakan untuk mengurutkan hasil. Jika menginginkan data ditampilkanurut berdasarkan pada urutan terkecil ke besar, dapat menggunakan ASC (ascending).Sedangkan untuk mengurutkan data berdasarkan yang terbesar ke kecil, dapatmenggunakan DESC (descending).Mengubah Data (Update)Jika data sudah kadaluarsa atau ada yang salah dengan data, berikut perintah yangdigunakan 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_nWhere kriteria;Contoh :- mengubah sebuah kolom untuk baris tertentuUpdate siswa set alamat=’Jakarta’ where nama=’Wahyu’;- mengubah beberapa kolom sekaligus untuk baris tertentuUpdate siswa set nama=’Reni’,alamat=’Bandung’ where nis=’0004’;- mengubah beberapa baris 8
  9. 9. Update siswa set alamat=’Solo’ where nis=’0001’ or nis=’0003’;- mengubah semua barisUpdate siswa set alamat=’Bandung’;Menghapus Data (Delete)Jika terdapat kesalahan data atau data sudah tidak digunakan lagi, hapus denganperintah delete.Struktur penulisan :Delete from nama_tabel where kriteria;Contoh :Delete from siswa where nama=’Wahyu’;OPERATOR RELASIONALOperator yang digunakan yntuk perbandingan antara dua buah nilai. Jenis dari operator iniadalah = , >, <, >=, <=, <>Operator Logika : OR,AND,XOR,NOTOperator BETWEEN dan NOT BETWEENOperator between ini untuk menangani operasi “jangkauan” atau menampilkan suatu rangedata.Operator IN dan NOT INOperator IN digunakan untuk mencocokkan dengan salah satu yang ada pada suatu daftarnilai. Sebagai contoh : 9
  10. 10. Operator LIKE dan NOT LIKEOperator LIKE atau NOT LIKE sangat bermanfaat dalam mencari suatu data. Operasi inidigunakan dengan menyebutkan tanda wildcard berupa garis bawah (_) atau (%)<. Tanda garis bawah (_) berarti sebuah karakter apa saja. Contoh a_u cocok dengananu,aku,alu,abu dan tidak cocok untuk andu,ambu ataupun allu<. Tanda % berarti cocok dengan kata apa saja dan berapapun panjangnyacontoh:Pengelompokkan DataHasil dari SELECT juga dapat dikelompokkan dengan menggunakan kalusa GROUP BYContoh :Klausa HavingPemakaian klausa HAVING terkait dengan klausa GROUP BY. Kegunaannya adalah untukmenentukan kondisi bagi GROUP BY. Kelompok yang memenuhi having saja yang dihasilkan.Contoh :DISTINCTmenyebabkan fungsi hanya menganggap nilai non-duplikatContoh : 10
  11. 11. FUNGSI AGREGATAdalah fungsi yang disediakan untuk menghasilkan sebuah nilai berdasarkan sejumlah data.Fungsi sendiri adalah suatu kumpulan instruksi yang menghasilkan sebuah nilai jikadipanggil. Adapun fungsi aggregate yang disediakan oleh MySQL dapat dilihat pada tableberikut :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)14mysql> select sum(nilai) from nilai;+--------------+| sum(nilai) |+--------------+| 330 |+--------------+1 row in set (0.05 sec) 11
  12. 12. Ekspresi Pada QueryEkspresi pada query memungkinkan untuk mengubah judul kolom keluaran, melakukanperhitungan 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 berkondisiBU : CASE nilai_ekspresi WHEN nilai_ekspresi THEN nilai_ekspresiELSE nilai_ekspresi END- Ekspresi tentang WaktuPernyataan berikut akan menampilkan identitas sisa yang tanggal lahirnya lebih dari tanggal31 desember 1993 -FUNGSI NILAICURRENT_DATE : Menghasilkan tanggal sekarangCURRENT_TIME : Menghasilkan Waktu sekarang 12
  13. 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 TableQuery yang akan dibahas pada bagian ini melibatkan lebih dari satu tabelStruktur table siswaIsi dari tabel siswaStruktur Tabel Matpel (Mata Pelajaran)Struktur Tabel Nilai 13
  14. 14. MySQL mempunyai kemampuan untuk menggabungkan dua tabel atau lebih untukmendapatkan informasi yang diinginkan. Proses yang dilakukan dengan nama JOIN. Dalampenggabungan dari beberapa tabel (join) ada beberapa hal yang perlu diperhatian, antaralain :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 terbentukMacam-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 JOINCross Join merupakan bentuk penggabungan yang paling sederhana dari dua buah tabel.BU : SELECT field1,field2 FROM Tabel1 CROSS JOIN tabel2;Contoh :3. INNER JOINHampir sama dengan cross join tetapi diikuti dengan kondisiBU : SELECT Field FROM tabel1 INNER JOIN tabel 2 ON kondisiContoh :4 LEFT (OUTER) JOIN 14
  15. 15. Akan menampilkan tabel disebelah kanannya (dalam hal ini tabel nilai) dengan NULL jikatidak terdapat hubungan antara tabel disebelah kiri (dalam hal ini tabel siswa)BU : SELECT field FROM tabel1 LEFT JOIN tabel2 ON kondisiContoh5. RIGHT/OUTER JOINKebalikan dari LEFT JOIN, jika idak menemukan hubungan dengan tabel disebelah kiri makaakan ditampilkan NULLBU : SELECT field FROM tabel1 RIGHT JOIN tabel2 ON kondisiContoh :Pembuatan VIEWView merupakan bentuk representasi data yang dapat dibuat dengan melibatkan data yangada pada satu atau beberapa table. Dengan menggunakan view, dimungkinkan untukmembuat hanya bagian tertentu dalam suatu table yang akan muncul. Sebagai contoh suatuview bias berupa data nis dan alamat siswa tanpa melibatkan data nama . View juga biasmencakup data yang berasal dari dua table atau bahkan lebih. Mengingat sifatnya yangdemikian, view dapat dianggap sebagai query tersimpan atau sebagai table semu.Secara internal view akan disimpan sebagai kamus data. Data yang sesungguhnya tidak ikutdicatat secara eksplisit, melainkan tetap megacu pada table basisnya.Membuat ViewUntuk membuat view MySQL menyediakan perintah CREATE VIEW :Create view nama_view as select nama_field1,nama_field2 from nama_tabelContoh : 15
  16. 16. Memperoleh Informasi pada ViewSetelah view diciptakan, view dapat diakses sebagaimana mengakses table yaitu denganmenggunakan perintah SELECT.Select * from nama_viewContoh :Mengubah ViewUntuk mengubah view bias dilakukan dengan perintah Alter ViewAlter view nama_view as select nama_field1,nama_field2 from nama_tableContoh :Menghapus ViewUntuk menghapus view dapat dilakukan dengan perintah DROP VIEW.Drop view nama_viewContoh :Drop view Data_Nilai;Penggunaan IndeksPernahkah anda memanfaatkan indeks buku ?Jika ya, mungkin anda telah menyadarimanfaat indeks. Melalui indeks buku anda bias mencari letak item tertentu dalam bukudengan mudah dan cepat berapapun tebal buku tersebut. Keberadaan indeks dalamdatabase antara lain adalah untuk mempercepat pencarian data berdasarkan kolomtertentu. Misal anda memberikan perintah :Select * from siswa where nis=’0005’;Jika nis tidak dijadikan sebagai indeks, pencarian data akan dilakukan terhadap seluruhtable, sama seperti kalau anda mencari sesuatu dalam buku tetapi buku tersebut tidakdilengkapi dengan indeks. Namun, jika indeks yang berkaitan dengan nis ada, system akan 16
  17. 17. menemukannya dengan cepat. Tentu saja pengaruh indeks akan terasa jika jumlah datasangat banyak, missal ada jutaan baris.Menciptakan IndeksUntuk menciptakan indeks bisa dilakukan dengan perintah :Create index nama_index on nama_tabel(nama_kolom)Contoh :Menghapus IndeksUntuk menghapus indeks bisa dilakukan dengan perintah DROP INDEXDrop index nama_index on nama_tableContoh :Drop index kode on siswa;Membuat Indeks yang UnikPada contoh create index yang pertama, indeks yang terbentuk bisa menerima nilai yangkembar (duplikat). Jika anda tak menghendaki hal ini. Anda bisa menciptakan indeks yangunik. Caranya dengan memberikan kata UNIQUE di antara CREATE dan INDEXCreate unique index nama_index on nama_tabel(nama_kolom)Contoh :Create unique index nama_siswa on siswa(nama);Membuat indeks berdasarkan beberapa kolomCreate index nama_index on nama_tabel(nama_kolom1,nama_kolom2)Contoh :Create index kode_nilai on nilai(nis,kode_matpel); 17

×