Belajar Komputer

Belajar komputer itu mudah dan gratis

Data Definition Language (DDL)


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 sebuah database.

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 :

clip_image001

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 beri 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 tableyang 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 pada child 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 pada child, 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 key dan 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 :

  • Jika jumlah row sedikit
  • Kolom-kolom tidak sering dipakai dalam query
  • Query meretrieve lebih dari 4% data
  • Jika tabel sering diremajakan (diupdate)

One response to “Data Definition Language (DDL)

  1. habieb 28 Maret 2011 pukul 3:15 AM

    bagus2………….

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: