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