KATEGORI : 921409037 tugas 2

Tugas 2, Perintah Bahasa SQL

06 October 2012 12:27:29 Dibaca : 2725

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.

 

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.

 

A.    DATA DEFINITION LANGUAGE (DDL)

 

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.

 

Jadi gampangnya DDL digunakan ketika kita ingin membuat, mengubah, dan menghapus object pada database. oleh karena itu DDL lebih berhubungan pada object bukan pada isi atau data. kata-kata yang akan sering kita jumpai dalam DDL antara lain : Create, Use, Alter, dan Drop.

 

Data Definition Language (DDL) merupakan sub bahasa SQL yang digunakan untuk membangun kerangka database. Ada tiga perintah yang termasuk dalam DDL, yaitu:

 

·         CREATE : Perintah ini digunakan untuk membuat, termasuk di antaranya membuat database baru, tabel baru, view baru, dan kolom. Create diantaranya :

 

ü  CREATE DATABASE

 

ü  CREATE FUNCTION

 

ü  CREATE INDEX

 

ü  CREATE PROCEDURE

 

ü  CREATE TABLE

 

ü  CREATE TRIGGER

 

ü  CREATE VIEW

 

 

 

·         ALTER : Perintah ini digunakan untuk mengubah struktur tabel yang telah dibuat. Pekerjaannya mencakup mengganti nama tabel, menambah kolom, mengubah kolom, menghapus kolom, maupun memberikan atribut pada kolom.

 

ü  ALTER DATABASE

 

ü  ALTER FUNCTION

 

ü  ALTER PROCEDURE

 

ü  ALTER TABLE

 

ü  ALTER VIEW

 

ü  RENAME TABLE

 

 

 

·         DROP : Perintah ini digunakan untuk menghapus database dan tabel.

 

ü  DROP DATABASE

 

ü  DROP FUNCTION

 

ü  DROP INDEX

 

ü  DROP PROCEDURE

 

ü  DROP TABLE

 

ü  DROP TRIGGER

 

ü  DROP VIEW

 

B.     DATA MANIPULATION LANGUAGE (DML)

 

DML atau Data manipulation Language merupakan perintah-perintah yang berfungsi untuk melakukan manipulasi data ataupun objek-objek yang ada didalam table. Definisi lainnya tentang DML adalah Perintah-perintah untuk memanipulasi data pada basis data, misalnya perintah untuk memilih data (query), menyisipkan, mengubah dan menghapus data dalam basis data.

 

Bentuk manipulasi yang dapat dilakukan oleh DML diantaranya adalah untuk keperluan pencarian kembali data lama, penyisipan data baru, penghapusan data, pengubahan data, dll. Sedangkan DML sendiri menurut jenisnya dapat dibagi menjadi 2 jenis yaitu procedural dan non procedural.

 

Beberapa manfaat atau kegunaan dari DML diantaranya adalah sebagai berikut :

 

1.      Pengambilan informasi yang disimpan dalam basis data

 

2.      Penyisipan informasi baru ke basis data

 

3.      Penghapusan informasi dari basis data

 

4.      Modifikasi informasi yang disimpan dalam basis data

 

5.      Query adalah perintah yang ditulis untuk mengambil informasi. Bagian dari DML yang menangani pengambilan informasi ini disebut bahasa query.

 

 

 

Data Manipulation Language (DML) merupakan sub bahasa SQL yang digunakan untuk memanipulasi data dalam database yang telah terbuat. Perintah yang digunakan, di antaranya:

 

·         INSERT : Perintah ini digunakan untuk menyisipkan atau memasukkan data baru ke dalam tabel. Penggunaannya setelah database dan tabel selesai dibuat.

 

·         SELECT : Perintah ini digunakan untuk mengambil data atau menampilkan data dari satu tabel atau beberapa tabel dalam relasi. Data yang diambil dapat kita tampilkan dalam layar prompt MySQL secara langsung maupun ditampilkan pada tampilan aplikasi.

 

·         UPDATE : Perintah ini digunakan untuk memperbarui data lama menjadi data terkini. Jika Anda memiliki data yang salah atau kurang up to date dengan kondisi sekarang, maka dapat diubah isi datanya menggunakan perintah UPDATE.

 

·         DELETE : Perintah ini digunakan untuk menghapus data dari tabel. Biasanya data yang dihapus merupakan data yang sudah tidak diperlukan lagi. Pada saat menghapus data, perintah yang telah dijalankan tidak dapat digagalkan, sehingga data yang telah hilang tidak dapat dikembalikan lagi

 

C.    DATA CONTROL LANGUAGE (DCL)

 

Data Control Language (DCL) merupakan sub bahasa SQL yang digunakan untuk melakukan pengontrolan data dan server databasenya. Perintah DCL, di antaranya:

 

·           Grant

 

GRANT : Digunakan untuk memberikan hak akses oleh administrator (pemilik utama) server kepada user (pengguna biasa). Hak akses tersebut berupa hak membuat (CREATE), mengambil (SELECT), menghapus (DELETE), mengubah (UPDATE), dan hak khusus berkenaan dengan sistem databasenya.

 

- Grant berfungsi juga untuk membuat user baru dan memberikan hak istimewa.

 

- Grant digunakan untuk  memberikan privilege kepada tabel yang didefinisikan kepada pemakai lain.

 

- Privilege untuk pemakai dalam perintah grant didefinisikan dengan  menggunakan nama-nama privilege. Nama privilege memudahkan admin untuk dapat memberikan privilege tanpa harus tahu apa  nama field dan tabel yang harus diisi.

 

- Perintah grant secara otomatis akan menambah data pemakai apabila  data nama pemakai yang disertakan pada perintah tersebut belum ada  dalam tabel user. Perintah grant memudahkan administrator untuk tidak  perlu melakukan perintah pendefinisian privilege dengan menggunakan  sql.  Karena dengan menggunakan sql, kita harus hafal nama tabel yang  harus diisi, field apa saja yang harus diisi, jumlah field yang harus diisi.

 

 

 

Sintak Umum :  GRANT hak_akses ON nama_tabel TO pemakai;

 

    GRANT ALL PRIVILEGES ON database_name.* TO ‘myuser’

 

   IDENTIFIED BY ‘mypassword’;

 

Contoh Penggunaan :

 

1. GRANT SELECT ON Point_Of_Sales.jenis TO Febe;

 

2. GRANT SELECT ON Point_Of_Sales.jenisTO Winda;

 

3. GRANT SELECT ON Point_Of_Sales.item TO Elfrida;

 

4. GRANT ALL PRIVILEGES ON Point_Of_Sales.User TO Admin;

 

5. GRANT ALL ON Point_Of_Sales.jualDetail TO Admin

 

6. SHOW GRANTS FOR root@localhost;

 

7. SHOW GRANTS FOR Admin;

 

8. GRANT SELECT,INSERT ON Point_Of_Sales.jualDetail TO kasir;

 

9. GRANT SELECT(Kode,Nama) ON Point_Of_Sales.jenis TO Elfrida;

 

10. GRANT UPDATE (kodeItem,NmItem,kategori,Harga) ON Point_Of_Sales.item TO Elfrida;

 

 

 

·         Revoke

 

 

 

REVOKE : Perintah ini memiliki kegunaan terbalik dengan GRANT, yaitu untuk menghilangkan hak akses yang telah diberikan kepada user oleh administrator atau mencabut hak-hak dari seorang user terhadap database tertentu atau sebagian isi dari database.

Sintak Umum Revoke : 

 

REVOKE hak_akses ON nama_tabel FROM                     namaAccount@namaHost;

 

Menghapus batasan hak akses utk database & tabel :

 

REVOKE hak_akses ON nama_database.nama_tabel

 

FROM user;

 

Menghapus batasan hak akses untuk kolom tertentu :

 

REVOKE hak_akses(field1,field2, field3,…) ON 

 

nama_database.nama_tabel FROM user

 

Penulisan perintah revoke :

 

 

 

- Hak akses(field) : kita harus memberikan sedikitnya satu hak akses.  Untuk setiap hak akses yang diberikan, dapat juga diberikan daftar field  yang diletakkan dalam kurung, dan dipisahkan dengan tanda koma. Contoh : REVOKE select (nim, nama), update, insert(nim), …

 

- NamaTabel : merupakan nama tabel yang dikenal hak akses tersebut, harus ada sedikitnya satu nama tabel. Dan dapat menggunakan simbol asterik (*) untuk mewakili semua tabel pada database aktif. Penulisan namaTabel dapat juga diikuti oleh nama database diikuti nama tabel yang dipisahkan dengan tanda titik. Menggunakan simbol *.* berarti semua  database dan semua tabel yang dikenai hak akses tersebut.

 


Perintah-perintah lain yang termasuk dalam data control language adalah :
a. Commit

 

Merupakan perintah yang digunakan untuk memindahkan transaksi dari memory pemrosesan ke database atau menyimpan secara permanen perubahan-perubahan kedalam database.
b. Rollback

 

Merupakan perintah yang digunakan untuk membatalkan transaksi yang belum di commit atau membatalkan perubahan-perubahan terakhir dari perintah commit/rollback terakhir.