PEMROGRAMAN SQL
Pengertian SQL
SQL (Structured Query Language) adalah sebuah bahasa
yang dipergunakan untuk mengakses data dalam
basis data relasional. Bahasa ini secara de facto merupakan bahasa standar yang
digunakan dalam manajemen basis data relasional. Saat ini hampir semua server basis
data yang ada mendukung bahasa ini untuk melakukan manajemen datanya. SQL atau Structure Query
Language juga merupakan bahasa standar
yang ditetapkan oleh America National Standards Institute (ANSI) pada tahun
1999 untuk mengakses dan memanipulasi data pada Database Relational. Karena
sifatnya standar maka setiap software RDMS harus menerapkan bahasa SQL dengan
diperbolehkan untuk mengembangkan atau menyertakan perintah-perintah yang non
standar. S-Q-L atau yang dulunya dibaca “Sequel” ini dikembangkan oleh IBM pada
pertengahan 1970s. Sekarang SQL merupakan bahasa standar internasional untuk
pembuatan (creating) dan query database relational.
Sejarah SQL
Sejarah SQL dimulai
dari artikel seorang peneliti dari IBM bernama EF Codd yang membahas tentang
ide pembuatan basis data relasional pada bulan Juni 1970. Artikel ini juga
membahas kemungkinan pembuatan bahasa standar untuk mengakses data dalam basis
data tersebut. Bahasa tersebut kemudian diberi nama SEQUEL (Structured English
Query Language). Setelah terbitnya
artikel tersebut, IBM mengadakan proyek pembuatan basis data relasional
berbasis bahasa SEQUEL. Akan tetapi, karena permasalahan hukum mengenai
penamaan SEQUEL, IBM pun mengubahnya menjadi SQL. Implementasi basis data relasional
dikenal dengan System/R. Di akhir tahun 1970-an, muncul perusahaan bernama
Oracle yang membuat server basis data populer yang bernama sama dengan nama
perusahaannya. Dengan naiknya kepopuleran Oracle, maka SQL juga ikut populer
sehingga saat ini menjadi standar de facto bahasa dalam manajemen basis data.
Standarisasi SQL
Standarisasi SQL
dimulai pada tahun 1986, ditandai dengan dikeluarkannya standar SQL oleh ANSI.
Standar ini sering disebut dengan SQL86.Standar tersebut kemudian diperbaiki
pada tahun 1989 kemudian diperbaiki lagi pada tahun 1992. Versi terakhir
dikenal dengan SQL92. Pada tahun 1999 dikeluarkan standar baru yaitu SQL99 atau
disebut juga SQL99, akan tetapi kebanyakan implementasi mereferensi pada SQL92. Saat ini sebenarnya tidak ada server basis data
yang 100% mendukung SQL92. Hal ini disebabkan masing-masing server memiliki
dialek masing-masing.
Pemakaian Dasar SQL
Secara umum, SQL
terdiri dari dua bahasa, yaitu Data Definition Language (DDL) dan Data
Manipulation Language (DML). Implementasi DDL dan DML berbeda untuk tiap sistem
manajemen basis data (SMBD)[1], namun secara umum implementasi tiap bahasa ini
memiliki bentuk standar yang ditetapkan ANSI. Artikel ini akan menggunakan
bentuk paling umum yang dapat digunakan pada kebanyakan SMBD.
Tujuan dari pemakaian SQL dalam menyelesaikan tugas-tugas yang berkaitan
dengan database, diantaranya :
·
Memanggil data dari satu table atau lebih
·
Memanipulasi data
·
Mendapatkan ringkasan informasi
·
Membuat, memodifikasi atau menghapus table
·
Membuat atau menghapus index
Fungsi (Function ) SQL
MS SQL Server
memiliki beberapa fungsi untuk manipulasi data antara lain yaitu :
·
Fungsi string atau karakter
·
Fungsi tanggal
·
Fungsi
matematika
·
Fungsi system atau fungsi scalar
·
Fungsi User Defined
·
Fungsi tambahan yang dapat digunakan untuk
mengubah (konversi) dari data yang satu ke data yang lain.
Penggunaan SQL Pengguna SQL-Server
Buat pengguna
SQL-Server, khususnya admin/programer, cek file C:\Program Files\Microsoft SQL
Server\MSSQL\Data\tempdb.mdf (atau folder default dimana data default
SQL-Server diletakkan). File tempdb.mdf adalah file temporari dari sistem
SQL-Server apabila server mendapat query yang melibatkan data yang kompleks.
Yah semacam swap file gitu deh, untuk mengoptimalkan proses. Sayangnya, file
ini bisa membengkak besar sekali. Di kantor saya pernah mencapai 32GB!. Kadang
bingung juga, padahal sistem dalam kondisi idle (tidak ada koneksi ke server),
kok ni file tidak dimampatkan lagi oleh SQL Server.
Apabila hal ini terjadi cara
mengatasinya cukup mudah, restart saja SQL-Servernya. Hopla! file pun kembali
berukuran sekitar 8MB saja. Anda bisa melakukan cek secara berkala ke file ini,
atau lebih gampangnya ya diberi scheduling untuk merestart server di jam-jam biasanya
idle.
SQL dapat digunakan dengan 2 cara
:
1. Interaktif SQL (SQL Interaksi)
Memasukkan sebuah pernyataan SQL
melalui terminal / microkomputer dan langsung diproses atau diinteprestasikan,
hasilnya bisa dilihat secara langsung.
2. Embedded SQL (SQL Sisipan)
Dengan menyisipkan pernyataan SQL
ke dalam sebuah program yang ditulis dengan bahasa pemrograman lain. Hasil
pernyataan SQL tidak dapat dilihat langsung oleh pemakai, tapi diproses oleh
program lain.
Elemen Dasar SQL
Elemen Dasar SQL terdiri
dari pernyataan,nama,tipe data,konstanta,ekspresi dan fungsi bawaan disini kita hanya membahas pernyataan:
·
ALTER
: mengubah struktur
tabel
·
COMMIT
: mengakhiri sebuah eksekusu transaksi
·
CREATE
: menciptakan table,indeks
·
DELETE
: menghapus baris pada table
·
DROP
: menghapus table,indeks
·
GRANT : menugaskan hak terhadap basis data kepada
pengguna atau group
·
INSERT
: menambahkan sebuah baris pada table
·
REVOKE
: membatalkan hak
terhadap basis data
·
ROLLBACK : mengembalikan ke dalam bentuk semula sekiranya
suatu transaksi gagal
·
SELECT
: memilih baris dan kolom pada tabel
·
UPDATE
:
mengubah nilai pada sebuah baris.
TIPE DATA
·
NUMBER, menyimpan bilangan bulat serta bilangan pecahan di
belakang titik desimal. Panjang maksimum tergantung pada implementasi 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.
·
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.
Komponen SQL
A.
DDL (Data Definition
Language)
DDL adalah suatu pernyataan untuk
mendefinisikan struktur atau skema database. DDL juga merupakan kumpulan perintah SQL yang digunakan
untuk membuat, mengubah dan menghapus struktur
dan definisi metadata dari objek-objek database.
Pada
DDL ini ada beberapa yang perlu diperhatikan yaitu :
·
Nama tabel haru unik
·
Nama kolom ditulis dalam tanda kurung dan dipisahkan
dengan tand koma (,).
·
Pada nama kolom terakhir tidak boleh dipakai
tanda koma.
·
Setiap kolom harus memiliki type data dan lebarnya.
·
Constraints (batasan) bisa berupa batasan pada kolom
dan batasan pada tabel.
CREATE TABLE, untuk membuat
object dalam database, bisa berupa table, view, procedure, function, trigger,
ataupun package (oracle).
Contoh : create table mahasiswa
(npm char(7) not null primary key,nama char(30), alamat char(50));
ALTER TABEL, untuk mengubah
structur dari suatu objek dalam database.
Contoh : alter table
mahasiswa add email char(30)
DROP TABEL, untuk menghapus
objek dalam database,
Contoh: drop table
mahasiswa;
TRUNCATE TABLE, untuk
menghapus/membersihkan isi table beserta alokasi space yang ada di dalamnya,
Contoh : truncate
table mahasiswa
COMMENT, memberikan
keterangan/komentar pada ke dalam kamus data. berisi deskripsi dari sebuah
objek dalam database.
RENAME, mengganti nama
objek dalam database.(Mysql, Oracle)
Data Definition Language (DDL)
Menambahkan Constraint
Kegunaan constraint :
Menambahkan Constraint
Kegunaan constraint :
·
Memberikan aturan pada tingkat table
·
Membatasi manipulasi tertentu pada
tabel
·
Menjaga integritas data
·
Menjaga validitas data
Jenis-jenis constraint :
·
NOT NULLsuatu kolom haru memiliki nilai tertentu
(tidak boleh kosong).
·
UNIQUE, Suatu kolom harus todak boleh memiliki nilai
yang sama (tetapi boleh null).
·
PRIMARY KEY
·
FOREIGN KEY
·
CHECK
B. DML (Data Manipulation Language)
DML adalah pernyataan yang
digunakan untuk mengorganisir data dengan menggunakan skema objek.
SELECT, untuk menyeleksi
data dari dalam database.
contoh : select npm, nama, alamat
from mahasiswa;
INSERT, untuk menginputkan record ke dalam suatu table.
contoh : insert into
mahasiswa(npm,nama,alamat) values(‘201331092’,’Linda
Alifiana’,’Jalan Jakarta No. 28’)
UPDATE, untuk melakukan
update dari table yang sudah dibuat.
contoh : update mahasiswa set
npm=’001’ where npm=’0401034’;
DELETE, untuk menghapus isi
record baik semuanya ataupun sebagian dari suatu table.
contoh : -delete from mahasiswa (menghapus semua isi )
-delete from mahasiswa where npm = ‘001’(hanya pada kondisionalnya saja).
MERGE, penggabungan
update, insert, delete pada suatu table berdasarkan kondisi yang cocok.
(Oracle).
EXEC, memanggil procedure yang telah kita buat.
contoh : kita buat procedure
seleksimhs: create procedure seleksimhs @npm char(7) as select * from mahasiswa
where npm=@npm.
cara eksekusi : EXEC seleksimhs
‘001’;
C.
DCL (Data Control Language)
Terdiri dari 2 statement, yaitu
Grant, Revoke, dan DENY, Grant untuk memberikan hak akses, dan Revoke untuk
membuang hak yang telah dilarang dengan perintah Deny atau hak yang telah
diberikan oleh perintah GRANT, sedangkan Deny.
GRANT
Contoh : GRANT INSERT, UPDATE, DELETE On mahasiswa To public
REVOKE
Contoh : REVOKE SELECT On mahasiswa To Public
DENY
Contoh : DENY SELECT On mahasiswa To
Public
TUGAS PEMROGRAMAN SQL
Langkah-langkah menggunakan aplikasi pgAdmin III
a. Pertama buka aplikasi pgAdmin III klik kanan PostgresSQL refresh
b. Kedua klik kanan connectkan ke database. dan muncul connect to server untuk masuk
c. Ketiga masuk ke server dan klik kanan database pilih new database
d. Keempat masuk ke database dan isi name, owner dan comment lalu klik ok
e.Kelima file kita muncul dengan nama Linda Alifiana dan klik kanan untuk refresh
f. Selanjutnya klik kanan untuk CREATE Script
g. Kemudian lanjutkan untuk menulis source program
1. Table Barang
Coding : CREATE TABLE barang(
kode_barang char(10),
nama_barang varchar(30),
satuan_barang varchar(10),
stock_barang numeric(10),
constraint pk_barang primary key (kode_barang)
);
Coding : CREATE TABLE barang(
kode_barang char(10),
nama_barang varchar(30),
satuan_barang varchar(10),
stock_barang numeric(10),
constraint pk_barang primary key (kode_barang)
);
2. Table Pasok
Coding : 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)
);
Coding : 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)
);
3.
Table Suplier
Coding : CREATE TABLE suplier(
kode_suplier char(10),
nama_suplier char(6),
telepon_suplier char(5),
constraint pk_suplier primary key (kode_suplier)
);
Coding : CREATE TABLE suplier(
kode_suplier char(10),
nama_suplier char(6),
telepon_suplier char(5),
constraint pk_suplier primary key (kode_suplier)
);
SUMBER :
Terima kasih infonya, dengan penjelasan ini memudahkan saya untuk mempelajarinya
BalasHapusMy blog