SQL (Structured Query Language)
Pengertian SQL
SQL adalah singkatan dari Structured Query Language. Sedangan pengertian SQL adalahsuatu bahasa (language) yang digunakan untuk mengakses data di dalam sebuah database relasional. SQL sering juga disebut dengan istilah query, dan bahasa SQL secara praktiknya digunakan sebagai bahasa standar untuk manajemen database relasional. Hingga saat ini hampir seluruh server database atau software database mengenal dan mengerti bahasa SQL.
Sejarah SQL
Awal mula lahirnya bahasa SQL yaitu pada bulan Juni 1970, dimana saat Jhonny Oracle yang merupakan seorang peneliti dari perusahaan IBM memiliki gagasan pembuatan basis data relasional, ide tersebut dituangkan dalam sebuah artikel. Di dalam artikel tersebut juga dibahas mengenai kemungkinan membuat sebuah bahasa standar untuk mengakses data dalam database tersebut. Bahasa standar tersebut diberinama SEQUEL (Structured English Query Language). Setelah kemunculan artikel tersebut lalu IBM memutuskan untuk mengembangkan pembuatan bahasa SEQUEL. Namun penamaan SEQUEL dalam bahasa standar tersebut bermasalah dengan hukum sehingga diubahlah menjadi SQL.
Penulisan Perintah SQL
- Perintah SQL tidak case sensitive
- Perintah SQL bisa ditulis pada satu baris atau lebih
- Antar klausa perintah biasanya ditulis pada baris yang berbeda
- Keywords tidak dapat dipisah antar baris
- Tabs dan spasi diperbolehkan agar mudah dibaca
- Setiap akhir perintah SQL (tidak baris) diakhiri dengan tanda (;)
Komponen SQL
Dalam penggunaan SQL terdapat beberapa perintah yang berguna untuk mengakses dan memanajemen data yang terdapat dalam database. Jenis peringah SQL secara umum dibagi kepada tiga sub perintah, yaitu DDL (Data Definition Language), DML (Data Manipulation Language), dan DCL (Data Control Language). Ketiga sub perintah tersebut sangat perlu untuk dipahami bagi anda yang ingin menguasai bahasa sql dan mahir dalam pembuatan database.
Data Definition Language (DDL)
DDL adalah sub perintah dari bahasa SQL yang digunakan untuk membangun kerangka sebuah database, dalam hal ini database dan table. Terdapat tiga perintah penting dalam DDL, yaitu CREATE, ALTER, DROP.
CREATE: perintah ini digunakan untuk membuat, termasuk di dalamnya membuat database baru, tabel baru view baru, dan kolom baru.
Contoh: CREATE DATABASE nama_database
Contoh: CREATE DATABASE nama_database
ALTER: perintah ALTER berfungsi untuk mengubah struktur tabel yang telah dibuat. Mencakup di dalamnya mengubah nama tabel, menambah kolom, mengubah kolom, menghapus kolom, dan memberikan atribut pada kolom.
Contoh: ALTER TABLE nama_tabel ADD nama_kolom datatype
Contoh: ALTER TABLE nama_tabel ADD nama_kolom datatype
DROP: perintah DROP berfungsi untuk menghapus database atau tabel.
Contoh: DROP DATABASE nama_database.
- Nama tabel harus unik
- Nama kolom dalam sebuah tabel harus berbeda
- Nama kolom ditulis dalam tanda kurung dan dipisahkan dengan tanda koma(,)
- Pada nama kolom terakhir tidak boleh pakai tanda koma
- Setiap kolom harus memiliki type data dan lebarnya
- Constraints (batasan) bisa berupa
- Batasan pada kolom
- Batasan pada tabel
Contoh :
Data Definiton Language (DDL) terbagi atas dua, yaitu :
1. Syntax tanpa Constraints
CREATE TABLE nama_tabel (contoh :
nama field ke-1 tipe_data (lebar_field),
. . .
. . .
nama field ke-n tipe_data (lebar_field),
);
CREATE TABLE barang (
kode_barang char(6),
nama_barang varchar2(25),
satuan_barang varchar2(20),
stok_barang number(4)
);
2. Syntax dengan Constraints
Untuk membuat tabel acuan (references) sebelum tanda ‘)’ tambahkan perintah:Constraint nama_constraint primary key (nama_field_primarykey) notnull);
Constraint nama_constraint primary key (nama_field_primarykey-1,…,Contoh :
nama_field_primarykey-n),
Constraint nama_constraint foreignkey (nama_field_foreignkey-1)
References nama_tabel_acuan-1 (nama_field_primarykey-1),
:
Constraint nama_constraint foreignkey (nama_field_foreignkey-n)
References nama_tabel_acuan-n (nama_field_primarykey-n)
);
CREATE TABLE barang (
kode_barang char(6),
nama_barang varchar(25),
satuan_barang varchar(20),
stok_barang int,
constraint pk_barang primary key (kode_barang)
);
CREATE TABLE pasok (
kode_pasok char(10),
kode_barang char(6),
kode_suplier char(10),
tanggal_pasok date,
jumlah_pasok numeric,
constraint pk_pasok primary key (kode_pasok),
constraint fk_pasok_barang foreign key (kode_barang) references barang (kode_barang),
constraint fk_pasok_suplier foreign key (kode_suplier) references suplier (kode_suplier)
);
Data Manipulation Language (DML)
DML adalah sub perintah dari bahasa SQL yang digunakan untuk memanipulasi data dalam database yang telah dibuat. Terdapat empat perintah penting dalam DML, yaitu INSERT, SELECT, UPDATE, dan DELETE.
INSERT: perintah ini digunakan untuk memasukkan data baru ke dalam sebuah tabel. Perintah ini tentu saja bisa dijalankan ketika database dan tabel sudah dibuat.
Contoh: INSERT INTO nama_tabel VALUES (data1, data2, dst…);
Contoh: INSERT INTO nama_tabel VALUES (data1, data2, dst…);
SELECT: perintah ini digunakan untuk mengambil dan menampilkan data dari tabel atau bahkan dari beberapa tabel dengan penggunaan relasi.
Contoh: SELECT nama_kolom1, nama_kolom2 FROM nama_tabel;
Contoh: SELECT nama_kolom1, nama_kolom2 FROM nama_tabel;
UPDATE: perintah update digunakan untuk memperbaharui data pada sebuah tabel.
Contoh: UPDATE nama_tabel SET kolom1=data1, kolom2=data2,… WHERE kolom=data;
Contoh: UPDATE nama_tabel SET kolom1=data1, kolom2=data2,… WHERE kolom=data;
DELETE: perintah delete digunakan untuk menghapus data dari sebuah tabel.
Contoh: DELETE FROM nama_tabel WHERE kolom=data;
Contoh: DELETE FROM nama_tabel WHERE kolom=data;
Data Control Language (DCL)
DCL adalah sub bahasa SQL yang berfungsi untuk melakukan pengontrolan data dan server databasenya, seperti manipulasi user dan hak akses (priviledges). Yang termasuk perintah dalam DCL ada dua, yaitu GRANT dan REVOKE.
GRANT: perintah ini digunakan untuk memberikan hak akses oleh admin ke salah satu user atau pengguna. Hak akses tersebut bisa berupa hak membuat (CREATE), mengambil data (SELECT), menghapus data (DELETE), mengubah data (UPDATE), dan hak khusus lainnya yang berhubungan dengan sistem database.
REVOKE: perintah ini digunakan untuk mencabut hak akses yang telah diberikan kepada user. Dalam ini merupakan kebalikan dari perintah GRANT.
Tipe Data
Tipe data digunakan untuk menentukan jenis nilai yang dapat ditampung oleh suatu variabel, umumnya telah menyediakan tipe-tipe data yang sederhana (simple) maupun yang terstruktur. Macam-macam Tipe Data :
- NUMBER, menyimpan bilangan bulat serta bilangan pecahan dibelakang titik desimal. Panjang maksimum tergantung padaimplementasi oleh sistem operasi yang digunakan, tetapi pada umumnya 38 digit.
- DATE, menyimpan data tanggal dan waktu dalam tabel. Tipe data DATE menyimpan data tahun (termasuk abad), bulan, hari, jam, menit, serta detik.. Oracle XE menggunakan format tanggal default dalam bentuk DD-MM-YY.
- CHARACTER / CHAR, merupakan Tipe data yang menyimpan karakter dengan size maximal 2000byte (1 karakter = 1 byte).
- Varchar, merupakan Tipe data yang dapat menyimpan semua jenis karakter yang dimasukan lewat keyboard dengan size maximal karakter 4000byte.
- INTEGER, merupakan tipe data dengan bilangan bulat dengan ukuran 4byte
- RAW dan LONG RAW, digunakan untuk menyimpan data yang tidak perlu ditafsirkan. Tipe data ini ditujukan untuk data biner atau string byte. RAW adalah tipe data yang panjangnya berubah-ubah seperti tipe data varchar2. Long RAW dapat digunakan untuk menyimpan gambar (image), suara(audio), dokumen atau larik dari data biner, yang penafsirannya bergantung pada pengguna.
- BFILE, menyimpan data biner tak terstruktur dalam berkas yang berada di luar database (external file). Data yang dapat disimpan hingga 8 GB. BFILE bersifat “read-only”.
- BLOB,CLOB,dan NCLOB, ketiga tipe data ini memungkinkan kita menyimpan blok-blok data tidak terstruktur berukuran besar (misalnya teks, gambar, klip video, serta berkas suara) dalam format biner atau format karakter. BLOB dapat menyimpan data biner hingga sejumlah 8 TeraByte, sedangkan CLOB dan NCLOB menyimpan hingga 8 TerraByte data karakter di basis data. CLOB menyimpan data karakter, sedangkan NCLOB menyimpan data karakter unicode. CLOB dan NCLOB berpartisipasi penuh dalam transaksi. Perubahan yang terjadi pada CLOB dan NCLOB dapat ditanamkan ke Basis Data (COMMIT) atau dibatalkan (ROLLBACK).
- ROWID, digunakan untuk menyimpan alamat (rowid) setiap baris dalam basis data. Kita tidak dapat melakukan apa-apa terhadap ROWID.Sistem basis data ORACLE XE menggunakannya secara internal untuk membangun indeks.
- SMALL INT, tipe data bilangan bulat yang range-nya lebih kecil dari integer
- DECIMAL, tipe data yang dapat menampung data pecahan.
- FLOAT, tipe data yang dpat menampung bilangan real (sama dengan numeric) contoh: 3,33.
- DOUBLE, tipe data yang bertipe float namun dengan ketelitian yang lebih tinggi contoh: 3,333333
- TEXT, tipe data yang dapat menampung semua tipe data.
- BOOLEAN, tipe data yang digunakan untuk menampung data yang bertipe logika dan hanya mengenal true dan false.
- ENUM, tipe data yang digunakan untuk menampung data dengan 1 karakter saja.
Sumber :
http://www.mandalamaya.com/pengertian-sql-dan-jenis-jenis-perintah-sql/
http://materipemrogramansqlfromindahrumagit.wordpress.com/2014/09/13/definisi-sql-tipe-data-sql-dan-komponen-sql/
0 komentar :
Posting Komentar