Anda di halaman 1dari 7

Modul 2 : Data Definition Language (DDL)

Posted under Course Materials >> Database Laboratory Work

Apakah yang dimaksud dengan DDL? Jelaskan beserta sintaksnya!

Data Definition Language (DDL) adalah bahasa dalam DBMS yang digunakan untuk membuat
atau mendefinisikan obyek-obyek di dalam database. Secara umum digunakan untuk membuat
obyek table dan view.

Secara khusus, di dalam DBMS tertentu digunakan untuk :

 Membuat trigger

 Membuat stored procedure

 Membuat database, index, rule, schema dll (tergantung DBMS)

Contoh sintaks DDL :

DDL untuk tabel

* Untuk membuat tabel

CREATE TABLE <namatabel> (


<column_definition> | <table_constraint>
)

* Untuk menghapus tabel

DROP TABLE <namatabel>

* Untuk memodifikasi tabel

- Menambahkan kolom baru

ALTER TABLE <namatabel>


ADD <namakolom> <tipedata> <aturan>
- Menghapus kolom

ALTER TABLE <namatabel>


DROP <namakolom>

DDL untuk view

* Untuk membuat view

CREATE VIEW <namaview> AS <SQLQuery>

* Untuk menghapus view

DROP VIEW <namaview>

DDL untuk trigger

* Untuk membuat trigger

CREATE TRIGGER <namatrigger> ON TABLE <namatabel> ON [DELETE] [,] [INSERT] [,]


[UPDATE] AS <perintahSQL>

Sebutkan dan jelaskan objek basis data yang termasuk DDL (minimal 3)! Masing-
masing beri contoh!

Objek basis data yang termasuk DDL adalah :

Tabel

Tabel terdiri dari field-field atau kolom-kolom dengan tipe data tertentu dan baris-baris yang
digunakan sebagai penyimpan data.

Contoh : tabel Mahasiswa yang terdiri dari field-field : NRP (primary key), Nama, Alamat,
JenisKel, NIPDosen (foreign key dari field NIP pada tabel Dosen).

Sintaks DDLnya :

CREATE TABLE Mahasiswa (


NRP char(8),
Nama varchar(20) NOT NULL,
Alamat varchar(30),
JenisKel char(1) DEFAULT “L”,
NIPDosen char(9),
PRIMARY KEY (NRP),
CONSTRAINT fk_mhs_dosen FOREIGN KEY (NIPDosen) REFERENCES Dosen(NIP) ON DELETE
RESTRICT ON UPDATE CASCADE ON INSERT RESTRICT
);

View

View adalah tabel bayangan. Tidak menyimpan data secara fisik. Biasanya berupa hasil query
dari tabel-tabel dalam sebuahdatabase.

Contoh : view MahasiswaPria yang diambil dari tabel Mahasiswa di mana field JenisKel = “L”.

Sintaks DDLnya :

CREATE VIEW MahasiswaPria AS


SELECT * FROM Mahasiswa WHERE JenisKel = “L”

Trigger

Trigger adalah sebuah obyek dalam database yang berupa prosedur yang merespon setiap kali
terdapat proses modifikasi (insert,update, dan delete) pada tabel.

Contoh : trigger tLogUbahNilai melakukan penambahan data pada tabel LogHistoris untuk setiap
penambahan / update data pada tabel PesertaKul.

Sintaks DDLnya :

CREATE TRIGGER tLogUbahNilai ON TABLE PesertaKul


FOR UPDATE, INSERT AS
INSERT INTO LogHistoris (Tanggal, Proses) VALUES (getdate(), ‘Terjadi proses perubahan data
nilai’)

 
Dengan menggunakan sintaks SQL, buatlah DDL untuk rancangan berikut ini :

Keterangan :

 Emp_name dan dep_name tidak boleh dikosongi

 Isi default emp_name = pegawai baru

 Isi default emp_address = surabaya

Create table DEP (


DEP_ID CHAR(6) not null,
DEP_NAME VARCHAR2(20),
constraint PK_DEP primary key (DEP_ID)
);

create table EMP (


EMP_ID CHAR(8) not null,
DEP_ID CHAR(6),
EMP_NAME VARCHAR2(25) default ‘pegawai_baru’,
EMP_ADDRESS VARCHAR2(35) default ’surabaya’,
constraint PK_EMP primary key (EMP_ID),
constraint FK_EMP_WORK_AT_DEP foreign key (DEP_ID) references DEP (DEP_ID)
);

Buatlah sebuah tabel barang yang atributnya kode barang, dan nama barang. Tulislah
syntax DDL-nya, lalu dengan syntax alter table, tambahkan primary key pada kode
barang. Dan tambahkan atribut jumlah barang pada tabel barang. Lalu, buatlah tabel
pembelian dengan atribut id pembelian, id barang (merupakan foreign key dari tabel
barang), jumlah barang barang transaksi, dan tanggal!

Membuat tabel barang dengan atribut kode barang dan nama barang :
CREATE TABLE BARANG(
KODE_BARANG CHAR(8),
NAMA_BARANG VARCHAR2(25)
);

Menambahkan primary key pada kode barang :

ALTER TABLE BARANG


ADD CONSTRAINT PK_BARANG PRIMARY KEY (KODE_BARANG)

Menambahkan atribut jumlah barang :

ALTER TABLE BARANG


ADD JUMLAH BARANG (NUMBER)

Membuat tabel pembelian :

CREATE TABLE PEMBELIAN (


ID_BELI CHAR(8),
KODE_BARANG CHAR(8),
JUMLAH_TRANSAKSI NUMBER,
TANGGAL DATE,
CONSTRAINT PK_PEMBELIAN PRIMARY KEY (ID_BELI),
CONSTRAINT FK_PEMBELIAN FOREIGN KEY (KODE_BARANG) REFERENCES
BARANG(KODE_BARANG)
);

Jelaskan macam-macam aturan Referential Integrity dan berilah contoh


implementasinya!

Referential Integrity Constraint digunakan untuk menjaga konsistensi baris-baris data antara dua
buah tabel. Pada umumnya, aturan ini mengharuskan sebuah baris pada sebuah tabel yang
terelasikan pada tabel lain harus mengacu pada sebuah baris di dalam tabel tersebut.

Aturan untuk Referential Integrity  biasanya digunakan jika terjadi proses modifikasi data
(update, delete, dan insert).

Aturan untuk proses update : berlaku pada proses pengubahan data di parent table.
 Update cascade : pembaruan sebuah baris data diikuti dengan pembaruan baris data
pada child table yang terelasikan

 Update restrict : mencegah proses pembaruan data jika terdapat baris data di child table yang
terelasikan

 Update ignore : mengabaikan referensi. Boleh memperbarui data pada parent, tapi tidak
memperbarui data yang berelasi pada child table.

Aturan untuk delete : berlaku pada proses modifikasi di parent table.

 Delete cascade : menghapus seluruh baris data pada child table yg terelasikan

 Delete restrict : mencegah penghapusan jika terdapat baris data yang berelasi pada  child
table

 Delete ignore : mengabaikan referensi. Boleh menghapus data, dan tidak ada efeknya
bagi child table.

Aturan untuk insert : berlaku pada proses penambahan data padachild table.

 Insert restrict : tidak boleh menambah data pada child table, jika nilai yang dimasukkan pada
kolom yang berelasi tidak terdapat pada parent tablenya.

 Insert ignore  : mengabaikan referensi. Boleh menambah data padachild, walaupun nilai yang
dimasukkan pada kolom yang berelasi tidak terdapat pada parent table.

Apa yang dimaksud dengan indexing pada database dan apa kegunaannya?

Index bisa dibuat secara otomatis (saat pembuatan primary keydan unique constraint) atau bisa
secara manual.

Untuk mempercepat query dan mengurangi disk I/O diperlukan suatu index. Index digunakan


pada :

 Satu / lebih kolom yang sering dipakai pada operasi WHERE atau JOIN

 Suatu kolom memiliki rentang nilai besar

 Suatu kolom banyak memiliki nilai NULL

 Jumlah row (baris) sangat besar dan sering retrieval cuma menghasilkan 2-4% data
 Index tidak disarankan untuk dicreate pada kasus-kasus berikut :

o Jika jumlah row sedikit

o Kolom-kolom tidak sering dipakai dalam query

o Query meretrieve lebih dari 4% data

o Jika tabel sering diremajakan (diupdate)

Anda mungkin juga menyukai