Kamis, 11 September 2014

Pertemuan Kedua Pemrograman SQL 8 Sept 2014

Pada hari senin, 8 september 2014 mata kuliah pemrograman SQL pertemuan kedua ini membahas mengenai definisi dari SQL.
Kepanjangan dari SQL adalah Structured Query Language, dibaca “S-Q-L” atau “Sequel” yang dikembangkan oleh IBM pada pertengahan 1970. Sekarang merupakan bahasa standar internasional untuk pembuatan (creating) dan query database relational
Dikenal dengan standarnya SQL-99 (disetujui sebagai standard ANSI tahun 1999)

Asal muasalnya 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. (http://id.wikipedia.org/wiki/SQL)

Ketentuan Penulisan Perintah SQL:

1. Perintah SQL tidak case sensitive
2. Perintah SQL bisa ditulis pada satu baris atau lebih
3. Antar klausa perintah biasanya ditulis pada baris yang berbeda
4. Keywords tidak dapat dipisah antar baris
5. Tabs dan spasi diperbolehkan agar mudah dibaca.
6. Setiap akhir perintah SQL (tidak baris) diakhiri dengan tanda(;)

Komponen-Komponen SQL

1. 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. 
Secara umum, DDL yang digunakan adalah CREATE untuk membuat objek baru, USE untuk menggunakan objek, ALTER untuk mengubah objek yang sudah ada, dan DROP untuk menghapus objek. DDL biasanya digunakan oleh administrator basis data dalam pembuatan sebuah aplikasi basis data. (http://id.wikipedia.org/wiki/SQL)


2. Data Manipulation Language
DML digunakan untuk memanipulasi data yang ada dalam suatu tabel. Perintah yang umum dilakukan adalah:
  • SELECT untuk menampilkan data
  • INSERT untuk menambahkan data baru
  • UPDATE untuk mengubah data yang sudah ada
  • DELETE untuk menghapus data (http://id.wikipedia.org/wiki/SQL)

3. Data Control Languag
Perintah DCL digunakan untuk menegakkan keamanan database dalam lingkungan beberapa pengguna database. Ada beberapa perintah DCL, yaitu:
  • Grant
  • Revoke
  • Commit
  • Rollback
  • Savepoint
Untuk Grant dan Revoke hanya Database Administrator atau pemilik dari objek database dapat menyediakan / menghapus hak istimewa pada objek database.

*SQL GRANT adalah perintah yang digunakan untuk menyediakan akses atau hak istimewa pada objek database untuk pengguna.

Sintaks untuk perintah GRANT adalah:
GRANT privilege_name
ON object_name
TO {user_name |PUBLIC |role_name}
[WITH GRANT OPTION];

  • privilege_name adalah hak akses atau hak istimewa yang diberikan kepada pengguna. Beberapa hak akses yang ALL, Execute, dan SELECT.
  • object_name adalah nama dari sebuah objek database seperti TABLE, VIEW, TERSIMPAN PROC dan URUTAN.
  • user_name adalah nama dari pengguna kepada siapa akses yang tepat yang diberikan.
  • user_name adalah nama dari pengguna kepada siapa akses yang tepat yang diberikan.
  • PUBLIK digunakan untuk memberikan hak akses ke semua pengguna.
  • PERAN adalah seperangkat hak dikelompokkan bersama.
  • DENGAN GRANT OPTION - Memungkinkan pengguna untuk memberikan hak akses kepada pengguna lain.
*Perintah REVOKE menghapus hak akses pengguna atau hak istimewa untuk objek database.

Sintaks untuk perintah REVOKE adalah:
REVOKE privilege_name
ON object_name
FROM {user_name |PUBLIC |role_name}


Tipe Data Dasar
1. 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.

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

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

4. 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”.

5. 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).

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

Pembahasan dilanjutkan pada DDL dahulu..

Data Definiton Definiton Language ( Language (DDL)

  • 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 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)
);

Sekian posting blog hari ini, semoga bisa bermanfaat bagi pembacanya, dan saya sebagai penulis mohon maaf apabila ada kesalahan penulisan atau kata-kata. Terimakasih :)

Tidak ada komentar:

Posting Komentar