Database adalah sekumpulan data yang terorganisir kedalam tabel-tabel yang saling berhubungan. Sedangkan SQL(Structurd Query Language) adalah bahasa standard yang digunakan sebagai mediator untuk berkomunikasi dengan database. Bahasa SQL digunakan untuk menampilkan atau merubah data yang ada dalam database. Beberapa database management system yang menggunakan SQL adalah Oracle, Sybase, Microsoft SQL Server, Access, Ingres. Sebagai contoh pada pelatihan kita menggunakan database oracle dengan SQL*Plus sebagai client sidenya.
SQL Element
1 Statement
Adalah unit dasar dalam bahasa SQL. Antar satu statement dengan yang lain dipisahkan dengan tanda titik koma(;). Sebuah satatement dapat ditulis dalam beberapa baris tanpa merubah arti.
Statement SQL umumnya digolongkan kedalam DML, DDL dan perintah-perintah lain yaitu COMMIT dan ROLLBACK yang berhubungan dengan transaksi dan lain sebagainya.
DML(Data Management Language) adalah perintah SQL yang berguna unutk mengquery database, memasukan, mengupdate dan menghapus data.
DDL(Data Description/Definition Language) adalah perintah SQL yang berurusan dengan pembuatan, perubahan dan penghapusan table itu sendiri.
2 Komentar
Komentar dapat disisipkan di awal, tengah atau akhir statement, dua cara penulisan komentar:
§ Single-line : komentar diawali dengan tanda –
§ Multi-line : komentar diawali dengan tanda /* dan diakhiri dengan tanda */
3. Keyword dan Identifier
Keyword yaitu kata-kata yang memiliki arti khusus dan tidak dapat dipakai sebagai nama-nama kolom dan table(identifier), kecuali jika identifier tersebut dikutip.
4. Nilai Literal
Nilai literal angka ditulis biasa dengan notasi seperti 123,-123.45. Nilai literal string ditulis dengan kutip tunggal seperti ‘andi’.
5. Operator
Operator yang dikenal oleh SQL diantaranya: +,-,*,/,^(cater),||(concat)
6. Tipe Data
Beberapa tipe data di dalam SQL.
Tipe Data | Deskripsi |
VARCHAR2(size) | Untuk menyimpan karakter data yang panjangnya bervariasi di tiap barisnya. |
CHAR(size) | Untuk menyimpan karakter data yang panjangnya sama di tiap barisnya. |
NUMBER(p,s) | Untuk menyimpan numeric data yang panjangnya bervariasi di tiap barisnya. |
DATE | Untuk menyimpan data tanggal dan waktu |
LONG | Untuk menyimpan karakter data yang panjangnya melebihi 2gigabyte |
CLOB | Single-byte karakter data yang panjangnya melebihi 4 gigabyte |
RAW and LONG RAW | Raw binary data |
BLOB | Binary data yang panjangnya melebihi 4 gigabyte |
BFILE | Binary data yang disimpan di dalam file eksternal |
6. Membuat dan memanipulasi table (DDL)
Setelah kita memahami element-element yang ada di dalam sebuah SQL statement, kini kita akan membuat, megubah dan menghapus sebuah tabel yang ada di dalam sebuah database. Perintah-perintah untuk memanipulasi tabel terdiri dari:
6.1. CREATE TABLE Statement
CREATE TABLE statement adalah perintah yang digunakan untuk membuat sebuah tabel di dalam suatu database. Sintaks dasar perintah create table adalah sbb:
Sintaks dasar: CREATE TABLE nama_tabel ( nama_kolom1 tipe_data[DEFAULT nilai_default][constraint kolom] [, nama_kolom1 tipe_data[DEFAULT nilai_default][constraint kolom]] [, …] ); Contoh: Create table buku{ sbn CHAR(10) PRIMARY KEY, judul VARCHAR(150) NOT NULL, penerbit VARCHAR(65) NOT NULL, harga INT CHECK(NOT EXIST (SELECT harga_diskon FROM harga_barang WHERE harga_nett < 1000000) ); |
definisi tiap kolom dipisah dengan koma beserta definisi constraint table(bila ada). Nama table dan kolom merupakan identifier dan diawali dengan huruf dan diikuti oleh huruf dan angka.
Tipe data ditentukan sesuai dengan data yang akan dimasukkan ke dalam kolom. Nilai default ditentukan sesuai dengan panjang karakter yang akan dimasukkan ke dalam kolom.
Constraint kolom digunakan sebagai pembatas agar sebuah kolom tidak dapat berisi nilain-nilai tertentu.contoh: constraint NOT NULL berguna agar kolom tidak boleh diisi dengan nilai NULL
Beberapa jenis constraint:
- NOT NULL constraint : berguna untuk melarang sebuah kolom agar tidak dapat menyimpan nilai NULL, constraint NOT NULL hanya dapat dipakai sebagai untuk level kolom constraint..
- UNIQUE constraint : berguna untuk membatasi agar sebuah kolom tidak mengandung dua baris yang memiliki nilai yang sama dalam 1 kolom.
- PRIMARY KEY constraint: berguna untuk membatasi agar sebuah kolom tidak mengandung dua baris yang memiliki nilai yang sama dalam 1 kolom dan juga kolom tidak boleh NULL.
- FOREIGN KEY constraint : berguna untuk membatasi agar nilai kolom harus terdapat pada kolom pada tabel lain.
- CHECK constraint : berguna untuk menjaga agar nilai sebuah kolom memenuhi ekspresi tertentu.
Membuat index dalam suatu table
Sintaks dasar: CREATE TABLE nama_tabel_index ON nama_tabel ( Inama_kolom[, nama_kolom] ….. ); |
Dalam sebuah kolom atau kombinasi kolom, kita dapat menambahkan index. Fungsi ini dapat dibuat melalui CREATE INDEX
Keuntungan menggunakan index:
- Untuk mempercepat pencarian
- Untuk megimplementasikan uniq constraint dan primary key
Namun index memiliki konsekuensi:
- Memperlambat INSERT dan UPDATE proses
- Memakan ruang disk
Membuat table view:
Sintaks dasar: CREATE VIEW name_view AS SELECT ….; |
Tabel view adalah sebuah table yang dibentuk dari perintah SELECT. Setelah dibuat tabel view dapat dipakai layaknya sebuah tabel. Sebagian view bisa dimasukkan data baru atau diupdate sesuai kebutuhan, tapi tabel view yang mengandung klausal GROUP BY tidak dapat diupdate.
Manfaat view adalah untuk mempersederhanakan query. Table view tidak disimpan di dalam database melainkan akan dibuat ketika perintah create view dijalankan.
- 6.2. ALTER TABLE StatementDalam mendesign tabel seringkali kita melakukan perubahan-perubahan dalam design maupun requirement, hal ini menuntut kita untuk:§ Menambah atau merubah kolom.§ Mengubah definisi kolom.§ Merubah nama kolom.§ Menambah atau mengurangi constraint.§ Menambah atau mengurangi index.
Sintaks dasar: ALTER TABLE nama_tabel ( detail_perubahan [, detail_perubahan] …; Menambah kolom baru: ALTER TABLE nama_tabel ( ADD [COLUMN] definisi_kolom [ FIRST | AFTER nama_kolom_lain] …; Contoh: ALTER TABLE siswa ( ADD COLUMN orangtua VARCHAR(32) NOT NULL; Menghapus kolom: ALTER TABLE nama_tabel ( DROP [COLUMN] nama_kolom …; Contoh: ALTER TABLE siswa ( DROP orangtua; Memodifikasi kolom yang sudah ada: ALTER TABLE nama_tabel ( CHANGE [COLUMN] nama_kolom_lama nama_kolom_baru definisi_kolom [ FIRST | AFTER nama_kolom_lain] …; Contoh: ALTER TABLE siswa ( CHANGE COLUMN orangtua orangtua_siswa VARCHAR(128) NOT NULL; Mengubah nilai default kolom:: ALTER TABLE nama_tabel ( ALTER COLUMN nama_kolom SET DEFAULT nilai_literal …; Menghapus nilai default kolom: ALTER TABLE nama_tabel ( ALTER COLUMN nama_kolom DROP DEFAULT …; Mengganti nama table: ALTER TABLE nama_tabel ( RENAME [TO] nama_Table_baru …; |
6.3. DROP TABLE Statement
Statement ini digunakan untuk menghapus table di dalam sebuah database, menghapus table akan secara otomatis menghapus semua kolom, baris, constraint yang terasosiasi dengan table yang bersangkutan.
Sintaks dasar: DROP TABLE nama_tabel |
Menghapus tabel index:
Sintaks dasar: DROP INDEX nama_tabel_index; |
Menghapus tabel view:
Sintaks dasar: DROP VIEW nama_tabel_view; |
0 komentar:
Posting Komentar