Translate

Sunday, August 7, 2016

Data Definition Language (DDL)



    Data Definition Language (DDL)


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)

Untuk DDL yang khusus, di perkuliahan ini tidak diajarkan secara detail, dengan alasan:
-      Tidak semua DBMS memiliki
-      Andaikata ada DBMS yang sama-sama memiliki, bisa jadi berbeda jauh dalam hal syntax.

Jika ingin memperdalam DDL yang khusus, disarankan untuk membaca referensi pada masing-masiong DBMS.

Syntax DDL yang dijadikan contoh di dalam bab ini adalah yang digunakan pada DBMS MS SQL Server 7.0.


   DDL untuk tabel


II.1     DDL untuk Pembuatan tabel


CREATE TABLE <namatabel> (
  <column_definition> | <table_constraint>
)

masing-masing <column_definition> atau <table_constraint>, jika lebih dari satu dipisah dengan koma.

<column_definition>: 
<column_name>  <data_type> [DEFAULT <value>]  [<column_constraint>]

DEFAULT <value>       
artinya field tersebut jika tidak diisi nilainya, maka nilai defaultnya adalan <value>

<column_constraint>:
[NOT NULL] [PRIMARY KEY]
[FOREIGN KEY REFERENCES <ref_table> (ref_column)]

NOT NULL          à artinya field tersebut harus ada isinya / tdk boleh kosong
PRIMARY KEY              à artinya kolom tersebut menjadi primary key.
FOREIGN KEY              à artinya kolom tersebut menjadi foreign key.


<table_constraint>
[PRIMARY KEY (<column[,...n]>)]
| [FOREIGN KEY (<column[,...n]>) REFERENCES <ref_table> (<ref_column[,…n]>)
  [ON INSERT <insertRule>]
[ON DELETE <DeleteRule>]
[ON UPDATE <UpdateRule>]]

<insertRule>, <DeleteRule> dan <UpdateRule> akan dijelaskan dalam bab Referential Integrity Constraint.


Pembuatan tabel Mahasiswa dan set nrp menjadi primary key, nilai default pada jeniskel=”L”, nipdosen mereferensi ke tabel dosen field nip:

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
)


II.2     DDL untuk Menghapus Tabel

Syntax:
DROP TABLE <namaTabel>

II.3     DDL untuk Modifikasi tabel

Syntax:
1. Menambahkan kolom baru:
ALTER TABLE <namaTabel>   add <namakolom> <tipedata> <aturan>
2. Menghapus kolom:
ALTER TABLE <namaTabel>   drop <namakolom>


DDL untuk VIEW


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

CREATE VIEW <namaTabel>  AS
  <SQLQuery>

<SQLQuery> akan dibahas lebih detail dalam bab Structured Query Language.

Membuat View dengan nama MahasiswaPria:

CREATE VIEW MahasiswaPria AS
SELECT * FROM Mahasiswa WHERE jeniskel=”L”

Untuk menghapus View, sebagaimana table, menggunakan perintah
DROP VIEW <namaView>


  DDL untuk TRIGGER


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.


CREATE TRIGGER <namaTrigger> ON TABLE <namaTabel>
FOR [DELETE] [,] [INSERT] [,] [UPDATE]
AS <perintahSQL>

Membuat trigger dg nama tLogUbahNilai untuk setiap penambahan / update data pada tabel Pesertakul, dilakukan penambahan data pada tabel LogHistoris:

CREATE TRIGGER tLogUbahNilai ON TABLE pesertakul
FOR UPDATE, INSERT
AS
INSERT INTO LogHistoris (tanggal, proses) VALUES (getDate(), ‘Terjadi proses perubahan data nilai’)

No comments:

Post a Comment

silahkan membaca dan berkomentar