Kamis, 11 September 2014

Pemrograman SQL Pertemuan 1 : Pengenalan SQL




Definisi 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
- Antarklausa 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 :
-         Data Definition Language (DDL), digunakan untuk mendefinisikan, mengubah, serta menghapus basis data dan objek-objek yang diperlukan dalam basis data, misalnya tabel, view, user, dan sebagainya. Syarat dan ketentuan sintak :
a.  Nama tabel harus unik
b.  Nama kolom dalam sebuah tabel harus berbeda
c.  Nama kolom ditulis dalam tanda kurung dan dipisahkan dengan tanda koma(,)
d.  Pada nama kolom terakhir tidak boleh pakai tanda koma
e.  Setiap kolom harus memiliki type data dan lebarnya
f.   Constraints (batasan) bisa berupa
◦ Batasan pada kolom
◦ Batasan pada tabel
CREATE adalah Perintah yang digunakan untuk membuat, termasuk diantaranya membuat database baru, tabel baru, view baru, dan kolom. Syntax tanpa Constraints :
 CREATE TABLE nama_tabel (
 nama field ke-1 tipe_data (lebar_field),
 . . .
 . . .
 nama field ke-n tipe_data (lebar_field),
 );
Syntax dengan Constraints :
Untuk membuat tabel acuan (references) sebelum tanda ‘)’ tambahkan sintak :
 Constraint nama_const primary key (nama_field_pk) notnull);
Untuk membuat tabel yang mengacu pada tabel lain (tabel relasi) sebelum tanda
‘)’ tambahkan sintak :
 Constraint nama_const primary key (nama_field_pk-1, …, nama_field_pk-n),
 Constraint nama_const foreignkey (nama_field_fk-1)
 References nama_tabel_acuan-1 (nama_field_pk-1),
 . . .
 . . .
 Constraint nama_const foreignkey (nama_field_fk-n)
 References nama_tabel_acuan-n (nama_field_pk-n)
 );
•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. Syntax :
 ALTER TABLE nama_tabel
 ADD/MODIFY nama_field tipe_data(lebar_field)
•DROP adalah Perintah yang digunakan untuk menghapus database dan table. Syntax:
 DROP TABLE table_name;

-         Data Manipulation Language (DML), digunakan untuk memanipulasi data yang ada dalam suatu tabel.
•SELECT adalah Perintah yang digunakan untuk menampilkan data dari satu atau lebih tabel, biasanya dalam sebuah basis data yang sama.
•INSERT adalah Perintah yang digunakan untuk menambahkan atau menyimpan data baru ke dalam tabel yang telah dibuat sebelumnya.
•UPDATE adalah Perintah yang digunakan untuk mengubah atau memperbaharui data yang sudah ada.
•DELETE adalah Perintah yang digunakan untuk menghapus data (record).

-         Data Control Language (DCL), digunakan untuk mengontrol hak akses (privillage) atas sebuah database, dimana Administrator dapat memberikan akses kepada user - user dan membatasinya, atau bahkan mencabut hak - hak tersebut.
•GRANT adalah Perintah yang digunakan untuk memberikan hak akses terhadap User (Pengguna). Hak akses ini diberikan oleh Administrator, yang meliputi hak membuat (CREATE), mengambil / request (SELECT), memanipulasi dan mengupdate (UPDATE), dan menghapus (DELETE). Selain hal itu Grant juga bisa digunakan untuk menambah user baru dan memberikan hak aksesnya terhadap suatu database.
•REVOKE adalah Perintah yang digunakan untuk mencabut atau menghilangkan hak akses dari user atas suatu database, baik keseluruhan atau sebagian dari database tersebut.
•COMMIT adalah Perintah yang digunakan untuk mengendalikan pengeksekusian transaksi yang menyetujui rangkaian perintah yang berhubungan erat dengan perintah yang sebelumnya telah berhasil dilakukan.
•ROLLBACK adalah Perintah yang digunakan untuk mengendalikan pengeksekusian transaksi yang membatalkan transaksi yang dilakukan karena adanya kesalahan atau kegagalan pada salah satu rangkaian perintah.
•SAVEPOINT adalah batu loncatan untuk transaksi dimana kondisi database dapat dikembalikan ke posisi saat savepoint dibuat. Semua perubahan yang melewati savepoint tersebut akan dibuat permanen.

   
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.







Tidak ada komentar:

Posting Komentar