STRUCTURE QUERY LANGUAGE (SQL)



            SQL pertama kali diterapkan pada sistem R (sebuah proyek riset pada laboratorium riset San Jose, IBM). Kini SQL juga dijumpai pada berbagai platform, dari mikrokomputer hingga mainframe. SQL dapat digunakan baik secara berdiri sendiri maupun dilekatkan pada bahasa-bahasa lain seperti C dan Delphi. SQL juga telah menjadi bagian dari sejumlah DBMS, seperti Oracle, Sybase, MySQL maupun MS.Access.

Structure Query Language (SQL) merupakan komponen bahasa relational database system. SQL merupakan bahasa baku (ANSI/SQL), non procedural, dan berorientasi himpunan (set-oriented language). SQL dapat digunakan baik secara interaktif atau ditempelkan (embedded) pada sebuah program aplikasi. 


Elemen SQL

            Elemen dasar SQL mencakup pernyataan, nama, tipe data , konstanta, ekspresi, dan fungsi bawaan.

1.      Pernyataan
Pernyataan adalah perintah SQL yang meminta sesuatu tindakan kepada DBMS. SQL memiliki kira-kira 30 pernyataan. Beberapa pernyataan dasar SQL dapat dilihat pada tabel berikut :

No
Nama
Fungsi
1
Create
Membuat Tabel
2
Drop
Menghabus table
3
Insert
Menambah data
4
Update
Merubah data
5
Delete
Menghapus data
6
Select
Menampilkan data

2.      Nama
Nama digunakan sebagai identitas bagi objek-objek pada DBMS. Contoh objek pada DBMS adalah tabel, kolom dan pengguna.

3.      Tipe Data
Setiap data memiliki tipe data. Berikut ini adalah tipe data dalam MySQL :
  1. Tipe data untuk numerik :

Tipe
Keterangan
Range Nilai
TINYINT
Nilai integer yang sangat kecil
Signed : -128 s.d. 127
Unsigned : 0 s.d. 255
SMALLINT
Nilai integer yang kecil
Signed : -32768 s.d. 32767
Unsigned : 0 s.d. 65535
MEDIUMINT
Integer dengan nilai medium
Signed : -8388608 s.d. 8388607
Unsigned : 0 s.d. 16777215
INT
Integer dengan nilai standar
Signed : -2147483648 s.d. 2147483647
Unsigned : 0 s.d. 4294967295
BIGINT
Integer dengan nilai besar
Signed : -9223372036854775808 s.d. 9223372036854775807
Unsigned : 0 s.d. 18446744073709551615
FLOAT
Bilangan desimal dengan single-precission
minimum ą 1.175494351e-38
maksimum ą 3.402823466e+38
DOUBLE
Bilangan desimal dengan double-precission
minimum ą 2.2205738585072014e-308
maksimum ą 1.7976931348623457e+308
DECIMAL
(M,D)
Bilangan float (desimal) yang dinyatakan sebagai string. M adalah jumlah digit yang disimpan dalam suatu kolom, N adalah jumlah digit dibelakang koma
Tergantung pada nilai M dan D

Keterangan : Signed dan Unsigned adalah atribut untuk tipe data numeric

Signed : data yang disimpan dalam suatu kolom dapat berupa data negatif dan positif.
Unsigned : digunakan agar data yang dimasukkan bukan data negatif (>=0). Tipe data float tidak dapat dinyatakan dengan unsigned.

  1. Tipe data string :

Tipe
Keterangan
Ukuran Maksimum
CHAR(n)
String karakter dengan panjang yang tetap, yaitu n
1 M byte
VARCHAR(n)
String karakter dengan panjang yang tidak tetap, maksimum n.
1 M byte
TINYBLOB
BLOB (Binary Large Object) yang sangat kecil
28-1 byte
BLOB
BLOB berukuran kecil
216-1 byte
MEDIUMBLOB
BLOB berukuran sedang
224-1 byte
LONGBLOB
BLOB berukuran besar
232-1 byte
TINYTEXT
String teks yang sangat kecil
28-1 byte
TEXT
String teks berukuran kecil
216-1 byte
MEDIUMTEXT
String teks berukuran medium(sedang)
224-1 byte
LONGTEXT
String teks berukuran besar
232-1 byte
ENUM
Enumerasi, kolom dapat diisi dengan satu member enumerasi
65535 anggota
SET
Himpunan, kolom dapat diisi dengan beberapa nilai anggota himpunan
64 anggota himpunan

  1. Tipe data tanggal dan jam :

Tipe
Range
Format
DATE
“1000-01-01” s.d. “9999-12-31”
“0000-00-00”
TIME
“-832:59:59” s.d. “838:59:59”
“00:00:00”
DATETIME
“1000-01-01 00:00:00” s.d. “9999-12-31 23:59:59”
“0000-00-00 00:00:00”

4.      Konstanta

Konstanta menyatakan nilai yang tetap.

5.      Ekspresi

Ekspresi adalah segala sesuatu yang menghasilkan nilai. Ekspresi digunakan untuk menghitung nilai.
Contoh : harga*jumlah+2
Simbol-simbol yang dapat digunakan pada ekspresi aritmatika.

Simbol
Keterangan
*
Perkalian
/
Pembagian
+
Penjumlahan
-
Pengurangan

6.      Aggregate Functions (Fungsi Agregat)

Fungsi adalah sebuah subprogram yang menghasilkan suatu nilai jika dipanggil. Fungsi agregat adalah fungsi standar di dalam SQL, suatu fungsi yang digunakan untuk melakukan summary, fungsi statistik standar yang dikenakan pada suatu tabel atau query.

  1. AVG(ekspresi)
Fungsi ini digunakan untuk mencari rata-rata nilai dalam suatu kolom dari suatu tabel atau ekspresi. Ekspresi dalam fungsi AVG umumnya adalah nama kolom. Kolom yang dicari nilai rata-ratanya adalah kolom dengan tipe data numerik.

  1. COUNT(x)
Fungsi ini digunakan untuk menghitung jumlah record (baris) dari suatu kolom dari suatu tabel. X adalah nama kolom yang ingin dicari jumlah barisnya.

  1. MAX(ekspresi)
Fungsi ini digunakan untuk mencari nilai terbesar dari suatu kolom dari suatu tabel. Kolom yang dicari nilai terbesarnya memiliki tipe data numerik.

  1. MIN(ekspresi)
Fungsi ini digunakan untuk mencari nilai terkecil dari suatu kolom dari suatu tabel. Kolom yang dicari nilai terkecilnya memiliki tipe data numerik.

  1. SUM(ekspresi)
Fungsi ini digunakan untuk mendapatkan nilai total dari suatu kolom pada suatu tabel


Komponen-Komponen SQL
Pernyataan SQL dapat dikelompokkan menjadi 3 kelompok, yaitu : DDL, DML dan DCL.


a. Data Definition Language (DDL) :

DDL merupakan kelompok perintah yang berfungsi untuk mendefinisikan atribut-atribut basis data , tabel, atribut(kolom), batasan-batasan terhadap suatu atribut, serta hubungan antar tabel. Yang termasuk dalam kelompok DDL ini adalah CREATE, ALTER, dan DROP. Digunakan untuk mendefinisikan data dengan menggunakan perintah : create, drop, alter.

1.      Membuat Database
Syntax : CREATE DATABASE namadatabase;
namadatabase tidak boleh mengandung spasi dan tidak boleh memiliki nama yang sama antar database. Berikut ini perintah untuk membuat database dengan nama rental : 

Syntax tambahan : untuk menampilkan daftar nama database yang ada pada mysql menggunakan perintah :
SHOW DATABASES; 
2.      Menghapus Database
Syntax : DROP DATABASE namadatabase;
Database yang akan dihapus sesuai dengan namadatabase. 
3.      Membuat Tabel
Sebelum membuat suatu tabel, terlebih dahulu harus memilih salah satu database sebagai database aktif yang akan digunakan untuk menyimpan tabel-tabel dengan menggunakan syntax : USE namadatabase;
Syntax membuat table :
CREATE TABLE namatabel2
(
Field1 TipeData1,
Field2 TipeData2
);

namatabel tidak boleh mengandung spasi (space). Field1 dan TipeData1 merupakan nama kolom pertama dan tipe data untuk kolom pertama. Jika ingin membuat tabel dengan kolom lebih dari satu, maka setelah pendefinisian tipe data sebelumnya diberikan tanda koma (,). Berikut ini perintah untuk membuat tabel dengan nama jenisfilm : 
Syntax tambahan :
4.      Menghapus Tabel
Syntax : DROP TABLE namatabel;
5.      Mendefinisikan null/not null
Syntax :
CREATE TABLE namatabel
(
Field1 TipeData1 NOT NULL,
Field2 TipeData2
);
6.      Mendefinisikan Nilai Default
Nilai default adalah nilai yang otomatis diberikan oleh sistem untuk suatu kolom ketika ada penambahan baris baru, sementara nilai pada kolom tersebut tidak diisi oleh pengguna. Syntax :
CREATE TABLE namatabel
(
Field1 TipeData1,
Field2 TipeData2 DEFAULT nilai
);
nilai adalah nilai default dari kolom tersebut.
7.      Mendefinisikan Primary Key Pada Tabel
Terdapat tiga cara untuk mendefinisikan primary key. Berikut ini adalah Syntax mendefinisikan primary key untuk Field1
CREATE TABLE namatabel
(
Field1 TipeData1 NOT NULL PRIMARY KEY,
Field2 TipeData2
); 
8.      Menghapus Primary Key Pada Tabel
Perintah :
Cara 1 : Jika primary key dibuat dengan menggunakan alter table :
ALTER TABLE namatabel DROP CONSTRAINT namaconstraint;
Cara 2 : Jika primary key dibuat melalui create table :
ALTER TABLE namatabel DROP PRIMARY KEY;
9.      Menambah Kolom Baru Pada Tabel
Syntax :
ALTER TABLE namatabel ADD fieldbaru tipe;
namatabel adalah nama tabel yang akan ditambah fieldnya. Fieldbaru adalah nama kolom yang akan ditambahkan, tipe adalah tipe data dari kolom yang akan ditambahkan. 
10.  Mengubah Tipe data atau Lebar Kolom Pada Tabel
Perintah :
ALTER TABLE namatabel MODIFY COLUMN field tipe
namatabel adalah nama tabel yang akan diubah tipe data atau lebar kolomnya. Field adalah kolom yang akan diubah tipe data atau lebarnya. Tipe adalah tipe data baru atau tipe data lama dengan lebar kolom yang berbeda. 
11.  Mengubah Nama Kolom
Syntax :
ALTER TABLE namatabel CHANGE COLUMN namalamakolom namabarukolom
tipedatanya;
namatabel adalah nama tabel yang akan diubah nama kolomnya, namalamakolom adalah kolom yang akan diganti namanya, namabarukolom adalah nama baru kolom, tipedatanya adalah tipe data dari kolom tersebut.
12.  Menghapus Kolom Pada Tabel
ALTER TABLE namatabel DROP COLUMN namakolom;
13.  Menghapus Foreign Key
ALTER TABLE namatabel DROP FOREIGN KEY namaconstraint;


b. Data Manipulation Language (DML) :

DML adalah kelompok perintah yang berfungsi untuk memanipulasi data dalam Basis data , misalnya untuk pengambilan, penyisipan, pengubahan dan penghapusan data. Perintah-perintahnya dapat dibuat secara interaktif atau ditempelkan pada sebuah program aplikasi. Pemakai hanya perlu menentukan 'APA' yang ia inginkan, DBMS menentukan 'BAGAIMANA' cara mendapatkannya.
Perintah yang termasuk dalah kategori DML adalah : INSERT, DELETE, UPDATE dan  SELECT.
  1. INSERT

Perintah INSERT digunakan untuk menambahkan baris pada suatu tabel. Terdapat dua cara untuk menambah baris, yaitu :

Cara 1 : Menambah baris dengan mengisi data pada setiap kolom :
INSERT INTO namatabel VALUES (nilai1,nilai2,nilai-n);
Cara 2 : Menambah baris dengan hanya mengisi data pada kolom tertentu :
INSERT INTO namatabel (kolom1,kolom2,kolom-n) VALUES nilai1,nilai2,nilai-n);

  1. DELETE

Perintah DELETE digunakan untuk menghapus satu baris, baris dengan kondisi tertentu atau seluruh baris.

Syntax : DELETE FROM namatabel [WHERE kondisi];
Perintah dalam tanda [] bersifat opsional untuk menghapus suatu baris dengan suatu kondisi tertentu. Berikut ini perintah untuk menghapus baris pada tabel jenisfilm dengan

data sebagai berikut : 

Contoh 1 : jika ingin menghapus seluruh baris pada tabel jenisfilm : 
Contoh 2 : jika ingin menghapus baris yang memiliki nilai 3000 pada kolom harga pada tabel jenisfilm maka perintahnya sebagai berikut : 

Contoh 3 : jika ingin menghapus baris yang memiliki nilai drama pada kolom jenis pada tabel jenisfilm maka perintahnya sebagai berikut : 

  1. UPDATE
Perintah UPDATE digunakan untuk mengubah isi data pada satu atau beberapa kolom pada suatu tabel.

Syntax :
UPDATE namatabel SET kolom1 = nilai1, kolom2 = nilai2 [WHERE kondisi];
Perintah dalam tanda [] bersifat opsional untuk mengubah suatu baris dengan suatu kondisi tertentu. Berikut ini perintah untuk mengubah baris pada tabel jenisfilm dengan data sebagai berikut : 

Contoh 1 : mengubah semua nilai pada kolom harga menjadi 2000 : 
Contoh 2 : mengubah nilai pada kolom harga menjadi 2500 dimana nilai pada kolom jenis adalah action : 

SELECT

Perintah SELECT digunakan untuk menampilkan isi dari suatu tabel yang dapat dihubungkan dengan tabel yang lainnya.

Menampilkan data untuk semua kolom menggunakan asterisk (*)
Syntax : SELECT * FROM namatabel;
Berikut ini perintah untuk menampilkan semua data pada tabel jenisfilm : 

Menampilkan data untuk kolom tertentu
Syntax : SELECT kolom1,kolom2,kolom-n FROM namatabel;
Berikut ini perintah untuk menampilkan data pada tabel jenisfilm dengan kolom yang ditampilkan adalah kolom jenis : 

Menampilkan data dengan kondisi data tertentu dengan klausa WHERE
Syntax : SELECT * FROM namatabel WHERE kondisi;

c. Data Control Language (DCL) :
Digunakan untuk mengontrol hak para pemakai data dengan perintah : grant, revoke. tidak saya temukan referensi untuk penjelasannya dan mungkin akan saya lengkapi di tulisan yang akan datang.

Kesimpulan Agar mudah memahaminya .

DATA DEFINITION LANGUAGE
1. CREATE TABLE
Fungsi : membuat tabel
Sintaks : CREATE TABLE tbname
   (col 1 data type data spec,
   col 2 data type data spec,
   .
   .
   PRIMARY KEY (col1,……))

Contoh : CREATE TABLE PERSONEL
                   (REGNO CHAR(10) NOT NULL,
                   NAME CHAR(45) NOT NULL,
                   ADDRESS CHAR(45),
                   BIRTH DATE NOT NULL WITH DEFAULT,
                   PRIMARY KEY (REGNO))

2. DROP TABLE
Fungsi : menghapus Tabel
Sintaks : DROP TABLE tbname

Contoh :
DROP TABLE DATA

Dengan perintah itu obyek lain yang berhubungan dengan tabel tersebut otomatis akan dihapus atau tidak akan berfungsi seperti :
- semua record dalam tabel akan terhapus
- index dan view pada tabel akan hilang
- deskripsi tabel akan hilang

3. ALTER
Fungsi : merubah atribut pada suatu table
Sintaks :   ALTER TABLE tbname
MODIFY (nama_kolom tipe_kolom)
ADD (nama_kolom tipe_kolom [[before, nama_kolom]])
DROP (nama_kolom tipe_kolom)

Contoh : merubah Tabel TABX dengan menambah Field D.
ALTER TABLE TABX
ADD D CHAR(3)
DATA MANIPULATION LANGUAGE
1.     INSERT
Fungsi : menambah baris (record) baru
Sintaks : INSERT INTO tbname (col1, ...) VALUES (value1, ...)

Catatan :
Sintaks tersebut dapat digunakan jika jumlah kolom = jumlah nilai, tetapi jika dalam tabel semua kolom akan diisi dapat digunakan sintaks berikut ini :

Sintaks : INSERT INTO tbname VALUES (value1, value2, ...)
Nilai-nilai diisikan sebanyak kolom yang terdapat di tabel tersebut.

2. UPDATE
Fungsi : merubah record
Sintaks : UPDATE tbname SET field = ekspresi
WHERE kondisi

3. DELETE
Fungsi : menghapus record
Sintaks : DELETE FROM tbname WHERE kondisi

4. SELECT
Fungsi : menampilkan record
Sintaks : SELECT [DISTINCT] colname FROM tbname
[WHERE kondisi]
[GROUP BY kondisi]
[HAVING kondisi]
[ORDER BY kondisi]

    sumber : Pengantar SQL AP2C dan sistem basis data 1 ft unisul oleh ahmad jalaluddin, s.kom

0 komentar:

Posting Komentar

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
This Theme Modified by Kapten Andre based on Structure Theme from MIT-style License by Jason J. Jaeger