Tugas 3

05 October 2012 12:16:49 Dibaca : 302 Kategori : 921411012,tugas 3

1. Data Definition Language (DDL)

adalah kumpulan perintah SQL yang dapat digunakan untuk membuat dan mengubah struktur dan definisi tipe data dari objek-objek database seperti tabel, index, trigger, view, dan lain-lain.

Contoh perintah DDL :

  • Membuat tabel

CREATE TABLE Digunakan untuk membuat tabel. Syntax umumnya sebagai berikut :

CREATE TABLE [schema, ] table

( column datatype [DEFAULT expr][,...]);

  • Menghapus tabel

DROP TABLE

Digunakan untuk melakukan penghapusan tabel. Melakukan penghapusan table dengan perintah DROP, berarti mengerjakan hal berikut :

Semua data dan struktur dari table akan dihapus Semua transaksi pending akan di-commit Semua indeks akan dihapus Perintah drop ini tidak bisa di-rollback Sebagai contoh, jika kita ingin menghapus tabel dept, maka yang harus dilakukan adalah :

DROP TABLE dept; 

  • Menambah /menghapus kolom
  • Statemen ALTER TABLE digunakan untuk : ~ Menambahkan kolom baru Untuk menambah kolom baru, syntax umumnya sebagai berikut :

ALTER TABLE table

ADD         (column datatype [DEFAULT expr]

 [, column datatype]...);

 ~ Memodifikasi kolom yang sudah ada

Kita dapat memodifikasi kolom dengan mengubah tipe datanya, ukuran dan nilai defaultnya. Sintaks dari perintah ALTER TABLE untuk memodifikasi kolom sebagai berikut :

 ALTER TABLE table

 MODIFY      (column datatype [DEFAULT expr]

[, column datatype] ... );

 Contoh :

 ALTER TABLE dept

 MODIFY       (dname VARCHAR2(30));

View adalah tabel bayangan. Tidak menyimpan data secara fisik. Biasanya berupa hasil query dari tabel-tabel dalam sebuah database. Syntax untuk melakuakn VIEW adalah :

 CREATE VIEW AS

Trigger adalah sebuah obyek dalam database yang berupa prosedur yang merespon setiap kali terdapat proses modifikasi pada tabel. Proses modifikasi berupa: Insert, Update dan delete. Syntax pembuatan Trigger:

CREATE TRIGGER ON TABLE

 FOR [DELETE] [,] [INSERT] [,] [UPDATE]

AS

 

2. DML atau Data Manipulation Language

adalah kumpulan perintah SQL yang berhubungan dengan pekerjaan mengolah data di dalam table.

 Contoh perintah DML :

  • Penambahan data pada sebuah tabel

Syntax:

INSERT INTO nama_tabel(field ke-1, ….. field ke-n) VALUES(nilai_field_ke-1, …. nilai_field_ke-n);

  • Pembaruan data  pada sebuah tabel

Syntax:

 

UPDATE nama_tabel SET nama_field = data_baru WHERE nama_field = data_lama; 

  • Penghapusan data pada sebuah tabel

Syntax:

DELETE FROM nama_tabel [ WHERE kondisi];

  • Pemilihan data dari satu atau beberapa tabel

Syntax :

SELECT [DISTINCT] select_list FROM table_source [WHERE search_condition] [GROUP BY group_by_expression] [HAVING search_condition] [ORDER BY order_expression [ASC | DESC] ]

 

 

3. DCL - Data Control Language

 

Data Control Language (DCL) merupakan sub bahasa SQL yang digunakan untuk

 

melakukan pengontrolan data dan server databasenya. Perintah DCL, di antaranya:

 

 GRAND : Perintah ini digunakan untuk memberikan hak/ijin 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.

 

 REVOKE : Perintah ini memiliki kegunaan terbalik dengan GRAND, yaitu untuk menghilangkan atau mencabut hak akses yang telah diberikan kepada user oleh administrator.

 

           

4. DQL (Data Query Language)

Berikuti ini saya akan berikan contoh Query dalam SQL untuk select sederhana,

$data_user = "SELECT * FROM  user";

artinya untuk mengambil semua field data pada table user. Dalam Query Doctrine kita bisa menuliskan seperti berikut ini,

$this->data_user = Doctrine::getTable('User')->findAll();

Perhatikan susunan penulisannya. Ada getTable dan element yang mau dicari adalah semua, findAll. Perubahan mendasar dalam penulisan script SQL adalah menggunakan method dengan penamaan yang lebih “manusiawi”. Kalau di SQL biasa dengan tanda bintang asterik “*“, kalau di Doctrine menggunakan method findAll(). Kalau di SQL memanggil nama table nya (misal. user), kalau di Doctrine memanggil nama Model nya (misal. User). Dalam Doctrine (symfony), penulisan nama Model selalu di awali huruf besar, jadi agak sedikit berbeda dengan nama table di database nya.

·         Perhatikan susunan penulisannya, karena kita akan sering menemui hal-hal seperti itu nantinya..

oks, gimana? gampang kan… :-)

Query Select untuk Primary Key tertentu

Percobaan selanjutnya kita akan menggunakan Query select sederhana untuk mengambil data dengan Primary Key tertentu. Misal Table user memiliki primary key pada field id, dan kita akan menampilkan data yang id nya ’1′. maka SQL nya adalah seperti berikut ini,

$data_user = "SELECT * FROM user WHERE (id = '1')";

Maka dalam Query Doctrine kita dapat menuliskan seperti ini,

$this->data_user = Doctrine::getTable('User')->find(1);

Method find() dalam Doctrine digunakan untuk menemukan record berdasarkan primary key nya. Dalam kasus ini, kita tidak perlu memberi tahu Doctrine “siapa yang menjadi primary key“. Pokok nya kalau kita gunakan method find(), maka pasti akan mencari untuk primary key nya saja, yaitu field id.

gimana? makin gampang kan… :-)

Query Select mencari field tertentu

Dan ini yang lebih menarik lagi. Yaitu jika kita ingin mencari data dengan syarat field tertentu. Misal, saya ingin mencari record yang field ‘name’ pada table tersebut berisi ‘sule’. Dalam SQL kita biasa menuliskan seperti ini,

$data_user = "SELECT * FROM user u WHERE (u.name = 'sule')";

pada contoh diatas kita menggunakan alias ‘u‘ untuk table user, dan kemudian menambahkan syarat bahwa field name harus terisi oleh ‘sule‘. Dalam Doctrine, penulisannya semakin mudah.

$this->data_user = Doctrine::getTable('User')->findByName('sule');

Gunakan method findBy… yg penulisannya ditambahkan dengan nama field yang akan kita cari. Dalam contoh diatas field yang akan dicari ada lah field ‘name‘, maka method yang digunakan findByName(). Perhatikan penulisan huruf besar kecil, sebagai penanda kata.

ampiuun pak, kok makin gampang..

Query Select dengan beragam Syarat

Tingkatan lebih lanjut, kita akan mencoba melakukan Query untuk beragam syarat. Seperti yang telah Anda ketahui, syarat dalam Query dapat kita gunakana dengan menambahkan “WHERE&ldqu