On Saturday, September 13, 2014



PEMROGRAMAN SQL

Apa itu SQL?
SQL atau Structure Query Language 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.


Yang perlu diperhatikan dalam penulisan perintah SQL adalah :
  1. Perintah pada pemrograman SQL bersifat tidak case sensitive sehingga perintah dapat ditulis dalam huruf besar maupun kecil. 
  2. Perintah dapat ditulis satu atau beberapa baris untuk memberikan komentar pada perintah SQL. Gunakan tanda minus “ - - “ untuk  komentar 1 baris, atau di antara tanda “ \* “ dan “ *\ “ untuk komentar beberapa baris. 
  3. Antar klausa perintah biasanya ditulis pada baris yang berbeda, ini tidak akan mempengaruhi program. 
  4. Keywords tidak dapat dipisah antar baris. 
  5. Setiap akhir perintah SQL (tidak baris) diakhiri dengan tanda titik koma (;).

KOMPONEN SQL:


A. Data Definition Language (DDL)
Perintah yang digunakan untuk mendefinisikan struktur Objek database seperti membuat tabel, mengubah struktur tabel, menghapus tabel. Perintah yang digunakan CREATE, ALTER, DROPdan RENAME.  

a. Create, adalah perintah untuk membuat termasuk diantaranya membuat database pada baru, tabel baru, view baru dan kolom.

Sintak untuk membuat database baru adalah sebagai berikut: 

CREATE DATABASE namadatabase;

Contoh : create database mahasiswa;
Keterangan : Membuat dabase baru dengan nama mahasiswa.

Sintak untuk membuat tabel baru adalah sebagai berikut: 

CREATE TABLE namatabel (namakolom typekolom(size), namakolom typekolom(size),…);

Contoh : create table mahasiswa (nim varchar(15), nama varchar(35), jurusan varchar(15));
Keterangan : Membuat tabel baru dengan nama siswa yang terdiri dari 3 fields/kolom. Kolom nim bertype string, kolom nama bertype string dan kelas bertype integer.  

b. Alter, adalah perintah untuk mengubah struktur tabel yang telah dibuat. Fungsinya mencakup mengganti nama tabel, menambah kolom, mengubah kolom, menghapus kolom, maupun memberikan atribut pada kolom.
Sintak dasarnya yaitu:
ALTER TABLE namatabel ADD namakolom typekolom(size);

Contoh : alter table mahasiswa add alamat varchar(50); 
Keterangan : Menambahkan kolom baru dengan nama alamat bertype string panjang 50 karakter.

Perintah untuk mengganti nama kolom/field yaitu ;
ALTER TABLE nama_tabel ADD/MODIFY nama field yang diganti nama_field_baru type_data(lebar_field); 

Contoh : alter table mahasiswa change alamat alamat_rumah varchar(50);
Keterangan : Mengubah field alamat menjadi alamat_rumah bertype string dengan panjang 50 karakter.

Perintah menghapus kolom atau field :
ALTER TABLE namatabel DROP namakolom;
Contoh : alter table mahasiswa drop alamat_rumah; 
Keterangan : Menghapus Kolom alamat_rumah dari tabel mahasiswa. 
c. Drop, adalah perintah untuk menghapus database dan tabel.
Sintak untuk menghapus database yaitu :
DROP DATABASE namadatabase; 
Contoh : drop database mahasiswa;
Keterangan : Menghapus database mahasiswa.
Sintak untuk menghapus tabel yaitu :
DROP TABEL namatabel; 
Contoh : drop tabel nama;  
Keterangan : Menghapus tabel nama. 
d. Rename, adalah perintah untuk mengganti nama tabel  atau nama database. 
Sintak dasarnya yaitu :
RENAME namatabelyangdiganti TO namatabelbaru; 
Contoh : rename siswa to mahasiswa; 
Keterangan : Mengubah tabel siswa menjadi mahasiswa.


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.



Data Definition Language (DDL)
Menambahkan Constraint

Kegunaan constraint :
- Memeberikan 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 

a. Syntax tanpa Constraints
Create table:

CREATE TABLE nama_tabel (lebar_field),
...
...
Nama field ke-n tipe_data (lebar_field),
);

Contoh:

CREATE TABLE barang (
kode_barang char(6),
nama_barang varchar2(25),
satuan_barang varchar(20),
stok_barang number(4)
); 

b. Syntax dengan Constraints

Untuk membuat tabel acuan (references) sebelum tanda ‘)’ tambahkan sintak :

Constraint nama_constraint primary key (nama_field_primarykey) notnull);

Untuk membuat tabel yang mengacu pada tabel lain (tabel relasi) sebelum tanda ')' tambahkan sintak:

Constraint nama_constraint primary key (nama_field_primarykey-1,…,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)
);


Contoh program:

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(5),
tanggal_pasok date,
jumlah_pasok int,
constraint pk_pasok primary key
(kode_pasok),
constraint f k_pasok_barang foreign
key (kode_barang),
references barang (kode_barang),
constraint f k_pasok_suplier foreign
key (kode_suplier),
                        references suplier (kode_suplier)
);

B. Data Manipulation Language (DML)


Perintah yang digunakan untuk manipulasi data seperti menambah, mengedit, menghapus data. Perintah yang digunakan INSERT, SELECT, DELETE, UPDATE, MERGE. 
a. Insert, berfungsi untuk menambah informasi/data baru ke dalam tabel.
 Sintak dasarnya seperti berikut :
INSERT INTO namatabel (kolom) VALUES (value)

Contoh :
- INSERT INTO mahasiswa (nim,nama,jurusan) VALUES (‘201231063’,WIWIT WIDYA PANGESTIKA’,’Teknik Informatika’);
INSERT INTO siswa VALUES ('201231063',WIWIT WIDYA PANGESTIKA','Teknik Informatika');

b. Select, berfungsi untuk menampilkan data dari tabel.
Sintak dasarnya seperti berikut:
SELECT namakolom. namakolom, ... FROM namatabel WHERE kriteria;

Contoh :
a) SELECT nim, nama, jurusan FROM mahasiswa;
b) SELECT * FROM mahasiswa;
c) SELECT nim,nama,jurusan FROM mahasiswa WHERE jurusan = ‘Teknik Informatika’;
d) SELECT * FROM mahasiswa WHERE nama like ‘WI%’ ORDER BY nama ASC;

Keterangan : 
  • Perintah WHERE merupakan Optional tidak harus disertakan seperti SELECT dan FROM. 
  • Contoh ‘a’ menampilkan semua informasi nim,nama,jurusan dari data mahasiswa. 
  • Contoh ‘b’ menampilkan semua data mahasiswa.   
  • Contoh ‘c’ menampilkan semua informasi nim,nama,jurusan dari data mahasiswa jurusan Teknik Informatika. 
  • Contoh ‘d’ menampilkan semua data mahasiswa yang namanya diawali dengan “WI” dan diurutkan berdasarkan nama secara Ascending.
  
c. Delete, berfungsi untuk menghapus informasi/data pada tabel.
Sintaknya sebagai berikut :
DELETE FROM namatabel WHERE keriteria;

Contoh : DELETE FROM mahasiswa WHERE nama = ‘WIWIT WIDYA PANGESTIKA’;
Keterangan : Menghapus data mahasiswa yang memiliki nama “WIWIT WIDYA PANGESTIKA 


d. Update,  berfungsi untuk memperbaiki informasi/data pada tabel.
Sintaknya sebagai berikut :
UPDATE namatabel SET namakolom=value WHERE keriteria;


Contoh :
UPDATE mahasiswa SET nama=’WIWIT WIDYA PANGESTIKA’ WHERE nim=’201231063’;
Keterangan : Mengganti nama menjadi “WIWIT WIDYA PANGESTIKA” untuk siswa yang mempunyai nim “201231063”

e. Merge


C. Data Control Language (DCL)

Perintah yang digunakan untuk mengatur perijinan akses terhadap database. Perintah yang digunakan antara lain :
  • GRANT 
  • REVOKE 
  • COMMIT 
  • ROLLBACK  
  • SAVEPOINT


Komponen tabel

  • ·         Tabel?


Nomor
Nama
NIM








  • ·         Field?


Nama




  • ·         Record?







  • ·         Entity?


Nomor
Nama
NIM



TIPE DATA DASAR
  • 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.

Download juga materinya dalam bentuk pdf di :


Semoga materinya bermanfaat buat readers :)

{ 2 komentar... read them below or Comment }

Copyright © Welcome here ~ | Green Minimalist Theme |Powered by Blogger | Designed by Johanes DJ