Minggu, 14 September 2014

PEMROGRAMAN SQL

WHAT IS SQL???


Structured Query Language
Dibaca “S-Q-L” atau “Sequel”. Dikembangkan oleh IBM pada pertengahan 1970s. Sekarang merupakan bahasa standar internasional untuk pembuatan (creating) dan query database relational. Dikenal dengan standarnya SQL-99 (disetujui sebagai standard ANSI tahun 1999).

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








KOMPONEN TABEL



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 RAWdapat 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.

Data Definiton Language (DDL)

DDL merupakan singkatan dari Data Definition Language, DDL digunakan untuk mendefinisikan suatu schema atau struktur pada sebuah database. SQL yang menggunakan konsep ini adalah perintah CREATE, ALTER, RENAME, dan DROP.
  • CREATE adalah Perintah yang digunakan untuk membuat, termasuk diantaranya membuat database baru, tabel baru, view baru, dan kolom
  •  ALTER adalah Perintah yang digunakan untuk mengubah struktur tabel yang telah dibuat. Pekerjaannya mencakup mengganti nama tabel, menambah kolom, mengubah kolom, menghapus kolom, maupun memberikan atribut pada kolom
  •  DROP adalah Perintah yang digunakan untuk menghapus database dan tabel

  • 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  dan batasan pada tabel
Syntax Tanpa Constraints:




Syntax Dengan Constraints:

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




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


contoh:





ALTER TABLE

Modifikasi pendefinisian tabel :
  • Beberapa sistem database tidak mendukung penghapusan (dropping) suatu kolom pada tabel
  • Tipe data saat dimodifikasi jika suatu kolom tidak memiliki nilai




REMOVE TABLE

                       DROP TABLE table_name;

contoh:





Contoh DDL dalam membuat sebuah tabel dalam database,
  • CREATE TABLE Buku(
    id INTEGER PRIMARY KEY,
    kode_buku VARCHAR(20) NULL,
    judul_buku VARCHAR(225) NOT NULL,
    tanggal_terbit DATE NULL
    );
Penjelasan : SQL yang termasuk dalam DDL untuk membuat tabel dengan nama ‘Buku’ yang memuat field id, kode buku, judul, dan tanggal terbit. Id dengan tipe data integer, kode dan judul buku dengan kode varchar dengan panjang 20 dan 225 karakter. Tanggal terbit dengan tipe data Date dan dibolehkan null (kosong).
Contoh DDL dalam merubah data tabel dalam sebuah database,
  • Alter TABLE Buku ADD Penulis Varchar(100);
    Alter TABLE Buku Drop Column Judul_buku;
Penjelasan : Merubah tabel buku dengan menambah field penulis dengan tipe data varchar 100 karakter. Query yang kedua adalah merubah struktur tabel dengan menghapus kolom judul buku.
Contoh DDL dalam menghapus sebuah tabel
  • DROP TABLE Buku;
Penjelasan : Menghapus tabel dengan nama ‘buku’ dari dalam database.
Contoh DDL dalam Merubah Nama Database
  • ALTER DATABASE namadatabaselama MODIFY NAME = namadatabasebaru; // Untuk Microsoft sql server
    atau EXEC sp_renamedb ‘namadatabaselama ‘, ‘namadatabasebaru';// Untuk Microsoft sql server
    RENAME {DATABASE | SCHEMA} namadatabaselama TO namadatabasebaru; // Untuk MYSQL
Penjelasan : Merubah nama dari nama database lama ke nama database baru dengan perintah alter untuk MSSQL dan Rename untuk MYSQL.

DML

DML merupakan singkatan dari Data Manipulation Language yang merupakan bahasa SQL untuk memanipulasi data dalam sebuah database yang dapat terdiri dari UPDATE, DELETE, INSERT, dan SELECT.
Contoh DML Dalam Basis Data
DML merupakan tipe SQL yang digunakan untuk melakukan perubahan pada data yang terdapat dalam sebuah database. Berikut adalah contoh penerapan ke empat macam SQL tersebut.
  • SELECT * FROM Buku;
    UPDATE Buku SET Judul_buku = “Blogging Indonesia” WHERE id = 1123;
    INSERT INTO Buku (id,kode_buku,judul_buku,tanggal_terbit) values(1124, “KoD2″, “Blogging Indonesia Terbaru”, “2013-01-11″);
    DELETE FROM Buku WHERE ID =1124;
Penjelasan : SQL di atas merupakan 4 query yang digunakan dalam DML, SELECT digunakan mengambil data dari tabel yang ada di database. Perintah Update di atas untuk mengupdate tabel buku dengan mengganti judul buku dengan “Blogging Indonesia” yang idnya 1123. Insert untuk memasukkan data baru di tabel buku. Perintah delete untuk menghapus data dari tabel buku yang idnya 1124.

DCL

DCL merupakan singkatan dari Data Control Language, konsep ini digunakan untuk merubah hak akses, memberikan roles, dan isu lain yang berhubungan dengan keamanan database.
Contoh DCL dalam Basis data
Ada dua perintah SQL yang termasuk dalam DCL yaitu GRANT dan REVOKE.
  • GRANT SELECT, UPDATE
    ON Nama_Database
    TO user1, user2;
  • REVOKE SELECT, UPDATE
    ON Nama_database
    FROM User1, User2;
Penjelasan : Perintah GRANT  memberikan kewenangan terhadap pengguna untuk melakukan operasi pada suatu schema atau database. Perintah REVOKE berfungsi untuk menghilangkan hak perintah kepada user tertentu terhadap objek atau schema database.

TCL

TCL merupakan singkatan dari Transaction Processing Language, konsep ini digunakan untuk mekanisme dalam pemrosesan sebuah transaksi dalam database. Dua perintah SQL yang paling populer untuk TCL adalah Rollback dan Commit
Contoh TCL Dalam Basis Data
  • BEGIN TRAN
    Delete From Buku Where id = 1124;
    Rollback
    //Commit
Penjelasan : Begin tran digunakan untuk perintah bahwa akan dimulai suatu transaksi/query, pada bagian akhir terdapat perintah rollback dan Commit. Rollback artinya query yang ada diantara begin tran tidak akan di eksekusi dalam database secara langsung, dalam artian data sesungguhnya tidak berubah. Penggunaan TCL ini untuk melihat apakah query yang dijalankan sudah benar atau belum, jika masih salah makan programmer atau DBA dapat memperbaikinya lagi sehingga tidak membahayakan data dalam tabel fisiknya. Jika sudah benar, maka DBA dapat meremark TCL Rollback dan mengaktifkan perintah TCL Commit untuk memberikan perubahan pada tabel fisik. (sumber: http://blogging.co.id/penjelasan-ddl-dan-dml-tcl-dan-dcl-dalam-basis-data)

Tidak ada komentar:

Posting Komentar