Home, Forum diskusi, Chatting, Download


Mengenal SQL 1

Structured Query Language (SQL) adalah suatu bahasa database standar industri. SQL menyediakan Data Definiton Language (DDL) dan Data Manipulation Language (DML). Walaupun dalam beberapa bagian saling bersangkutan, perintah DDL memungkinkan kita untuk membuat dan mendefinisikan tabel (CREATE TABLE), dan index (CREATE INDEX), sedangkan perintah DML memungkinkan anda untuk membangun query untuk mengambil data (SELECT) dari beberapa tabel, menyisip (INSERT) data baru, memperbaiki (UPDATE) data, dan menghapus (DELETE).

Data Definition Language (DDL)

Membuat Tabel Baru

CREATE TABLE table (field1 type [(size)] [NOT NULL] [index1] [, field2 type [(size)] [NOT NULL] [index2] [, ...]] [, CONSTRAINT multifieldindex [, ...]])

Perintah CREATE TABLE digunakan untuk mendefinisikan suatu tabel baru beserta fieldnya dan konstraint, jika NOT NULL disebutkan, maka record baru membutuhkan data yang sah untuk field tersebut.

CONSTRAINT clause dapat digunakan untuk membuat berbagai batasan pada field termasuk PRIMARY KEY, anda dapat juga menggunakan perintah CREATE INDEX untuk membuat index dan PRIMARY KEY pada tabel yang ada. CONSTRAINT clause menyerupai CREATE INDEX, tetapi dapat digunakan untuk membuat Relation antar tabel.

CONSTRAINT name {PRIMARY KEY | UNIQUE | NOT NULL | 
REFERENCES foreigntable [(foreignfield1, foreignfield2)]}

dimana :

table nama tabel yang akan dibuat
field1, field2 nama field
type jenis data pada masing-masing field
size ukuran field untuk jenis data TEXT dan Binary
index untuk membuat CONSTRAINT

jenis data pada database JET

Jenis Data Ukuran Penyimpanan Keterangan
BINARY 1 byte per karakter Menyimpan segala jenis data sebagaimana adanya tanpa translasi.
BIT 1 byte Menyimpan nilai Yes atau No.
BYTE 1 byte Menyimpan nilai integer 0 s/d 255
COUNTER 4 byte Menyimpan nilai numerik yang otomatis bertambah setiap record baru ditambahkan.
CURRENCY 8 byte Menyimpan suatu nilai skalar antara – 922,337,203,685,477.5808 dan 922,337,203,685,477.5807
DATETIME 8 byte Menyimpan suatu nilai tanggal dan waktu antara tahun 100 s/d 9999
GUID 128 byte Menyimpan suatu nomor identifikasi unik yang digunakan untuk RPC
SINGLE 4 byte Menyimpan suatu nilai floating point single-precision dengan jangkauan  – 3.402823E38 s/d  – 1.401298E-45 untuk nilai negatif , 1.401298E-45 s/d 3.402823E38 untuk nilai positif dan 0.
DOUBLE 8 byte Menyimpan suatu nilai floating point double-precision dengan jangkauan  – 1.79769313486232E308 s/d  – 4.94065645841247E-324 untuk nilai negatif, 4.94065645841247E-324 s/d 1.79769313486232E308 untuk nilai positif, dan 0
SHORT 2 byte Menyimpan suatu nilai short integer antara  – 32,768 dan 32,767.
LONG   Menyimpan suatu nilai long integer antara  – 2,147,483,648 dan 2,147,483,647.
LONGTEXT 1 byte per karakter Kosong s/d maksimal 1.2 gigabytes.
LONGBINARY Sesuai dengan kebutuhan Kosong s/d maksimal 1.2 gigabytes. Digunakan untuk objek OLE.
TEXT 1 byte per karakter 0 s/d 255 karakter

Contoh :

Tabel Forum

Nama Field Type Size AutoIncrField AllowNulls Require
ForumID Text 25   Tidak Ya
Keterangan Text 50      
Alamat Text 50   Tidak Ya

Primary Key (P_Key) dengan field ForumID

Perintah SQL :

CREATE TABLE FORUM (
	ForumID TEXT(25) NOT NULL CONSTRAINT P_KEY PRIMARY KEY,
	Keterangan TEXT(50),
	Alamat TEXT(50) NOT NULL);

atau 

CREATE TABLE FORUM (
	ForumID TEXT(25) NOT NULL ,
	Keterangan TEXT(50),
	Alamat TEXT(50) NOT NULL,
	CONSTRAINT P_KEY PRIMARY KEY (ForumID));

Tabel Status

Nama Field Type Size AutoIncrField AllowNulls Require
Status Byte 1   Tidak Ya
Keterangan Text 50      

Primary Key (P_Key) dengan field Status

Perintah SQL :

CREATE TABLE STATUS (
	Status BYTE NOT NULL CONSTRAINT P_KEY PRIMARY KEY,
	Keterangan TEXT(50));

Tabel Peserta

Nama Field Type Size AutoIncrField AllowNulls Require
Email Text 25   Tidak Ya
Nama Text 50      
Alamat Text 50      
Kota Text 50      
Telepon Text 25      
Homepage Text 50      
Perusahaan Text 50      
TanggalGabung Date 8      

Primary Key (P_Key) dengan field Email

Perintah SQL :

CREATE TABLE PESERTA (Email TEXT(25) NOT NULL CONSTRAINT P_KEY PRIMARY KEY,
	Nama TEXT(50),
	Alamat TEXT(50),
	Kota TEXT(50),
	Telepon TEXT(50),
	Homepage TEXT(50),
	Perusahaan TEXT(50),
	TanggalGabung Date);

Tabel Aktifitas

Nama Field Type Size AutoIncrField AllowNulls Require
ID Long 4 Ya    
Email Text 25   Tidak Ya
ForumID Text 25   Tidak Ya
Status Byte     Tidak Ya

Primary Key (P_Key) dengan field ID

Berserta Relation terhadap tabel PESERTA, FORUM dan STATUS

Nama Field (Foreign key) Foreign Tabel Foreign Field
Email Peserta Email
ForumID Forum ForumID
Status Status Status

Perintah SQL :

CREATE TABLE AKTIFITAS (
	ID COUNTER CONSTRAINT P_KEY PRIMARY KEY,
	Email TEXT(25) NOT NULL CONSTRAINT AktifitasPeserta REFERENCES PESERTA(Email),
	ForumID TEXT(25) NOT NULL CONSTRAINT AktifitasForum REFERENCES FORUM (ForumID),
	Status BYTE CONSTRAINT AktifitasStatus REFERENCES STATUS(Status));

Membuat Index

CREATE [ UNIQUE ] INDEX indexON table (field [ASC|DESC][, field [ASC|DESC], ...])[WITH { PRIMARY | DISALLOW NULL | IGNORE NULL }]

Membuat suatu index pada tabel yang telah ada.

dimana :

index nama dari index yang akan dibuat
table nama dari tabel yang akan mengandung index tersebut
field nama dari field yang akan di index

Gunakan UNIQUE untuk membuat nilai unik terhadap field tertentu sehingga tidak memungkinkan duplikasi data. Gunakan WITH clause untuk menentukan apakah :

Contoh membuat Index S_KEY berdasarkan Nama pada tabel PESERTA, perintah SQL DDL-nya adalah sebagai berikut :

CREATE INDEX S_KEY ON PESERTA(NAMA);

Memodifikasi Tabel

ALTER TABLE table {ADD {COLUMN field type[(size)] [NOT NULL] [CONSTRAINT index] |CONSTRAINT multifieldindex} |DROP {COLUMN field I CONSTRAINT indexname} }

Melakukan modifikasi terhadap rancangan tabel yang telah ada.

dimana :

table Nama dari tabel
field Nama field yang akan ditambah (ADD), dihapus (DROP)
type Type field yang akan ditambahkan
size Ukuran field yang akan ditambahkan
index Perintah CONSTRAINT clause
indexname Nama index yang akan dihapus

Contoh menambahkan field Keterangan Text(50) pada tabel aktifitas :

ALTER TABLE Aktifitas ADD COLUMN Keterangan Text(50);

Menghapus Table atau Index

DROP {TABLE table | INDEX index ON table}

Menghapus tabel yang ada dalam database, atau index dari suatu tabel

table nama tabel yang akan dihapus atau tabel dimana index berada
index nama index yang akan dihapus

Contoh menghapus tabel TEMP

DROP TABLE Temp;

Latihan 1, Pembuatan Tabel, Index dan Konstraint dengan DML

Latihan 2, Tantangan pemakaian DDL SQL

Latihan 3, Memanfaatkan beberapa Data Kontrol pada 1 Form untuk Validasi

Latihan 4, Tantangan Pemrograman


Dibuat  oleh hendra@indoprog.com
Medan - Sumatera Utara
Indonesia