17
Basis Data DDL & Aturan Referential

DDL & Aturan Referential - pujianto.blog.ugm.ac.idpujianto.blog.ugm.ac.id/files/2009/12/6.pdf · Menambahkan kolom baru: ... nip CHAR(10) PRIMARY KEY (nrp), FOREIGN KEY (nip) REFERENCES

  • Upload
    trinhtu

  • View
    231

  • Download
    3

Embed Size (px)

Citation preview

Page 1: DDL & Aturan Referential - pujianto.blog.ugm.ac.idpujianto.blog.ugm.ac.id/files/2009/12/6.pdf · Menambahkan kolom baru: ... nip CHAR(10) PRIMARY KEY (nrp), FOREIGN KEY (nip) REFERENCES

Basis Data

DDL & Aturan Referential

Page 2: DDL & Aturan Referential - pujianto.blog.ugm.ac.idpujianto.blog.ugm.ac.id/files/2009/12/6.pdf · Menambahkan kolom baru: ... nip CHAR(10) PRIMARY KEY (nrp), FOREIGN KEY (nip) REFERENCES

Tipe Data

Untuk setiap kolom/field yang terdapat pada sebuah tabel, harus ditentukan pula tipe datanya yang menentukan jangkauan nilai yang bisa diisikan

Masing-masing DBMS memiliki jenis dan nama tipe data tersendiri. Bisa jadi ada yang khusus (tidak ada pada yang lain), atau diberi dengan nama lain, atau bahkan tidak memiliki tipe data yang standar

Page 3: DDL & Aturan Referential - pujianto.blog.ugm.ac.idpujianto.blog.ugm.ac.id/files/2009/12/6.pdf · Menambahkan kolom baru: ... nip CHAR(10) PRIMARY KEY (nrp), FOREIGN KEY (nip) REFERENCES

Tipe Data

Beberapa Tipe data yang standar SQL-92 adalah: BinaryBinary varyingCharacter()Character varying()DatetimeDouble precisionFloatIntegerNumericDsb

Page 4: DDL & Aturan Referential - pujianto.blog.ugm.ac.idpujianto.blog.ugm.ac.id/files/2009/12/6.pdf · Menambahkan kolom baru: ... nip CHAR(10) PRIMARY KEY (nrp), FOREIGN KEY (nip) REFERENCES

DDL

Data Definition Language (DDL) berkaitan dengan perintah-perintah untuk pendefinisian obyek-obyek basis data. Diantaranya adalah untuk: Pembuatan tabel Pembuatan View Pembuatan Trigger

Page 5: DDL & Aturan Referential - pujianto.blog.ugm.ac.idpujianto.blog.ugm.ac.id/files/2009/12/6.pdf · Menambahkan kolom baru: ... nip CHAR(10) PRIMARY KEY (nrp), FOREIGN KEY (nip) REFERENCES

DDL Untuk Tabel (1)

Pembuatan tabel, syntax:

[aturann] berisi aturan untuk field ybs, bersifat opsional. Biasanya berupa:NOT NULL artinya field tersebut harus ada isinyaDEFAULT <nilai> artinya field tersebut jika tidak diisi nilainya, maka nilai defaultnya adalan <nilai>

Page 6: DDL & Aturan Referential - pujianto.blog.ugm.ac.idpujianto.blog.ugm.ac.id/files/2009/12/6.pdf · Menambahkan kolom baru: ... nip CHAR(10) PRIMARY KEY (nrp), FOREIGN KEY (nip) REFERENCES

DDL Untuk Tabel (2) [aturanTabel] berisi aturan-aturan yang berlaku untuk tabel

tersebut. Jika aturan lebih dari satu, maka dibatasi oleh tanda koma. Aturan tabel biasanya:

primary key (<DaftarKolomKey>)foreign key (<daftarKolomForeignKey>) references <namaTabel> (<daftarKolom>)[ON DELETE <aturanDelete>] [ON UPDATE <aturanUpdate>])

[AturanTabel] bisa diberi nama. Jika diberi nama, maka syntaxnya sbb:

CONSTRAINT <namaAturan> <AturanTabel>

Page 7: DDL & Aturan Referential - pujianto.blog.ugm.ac.idpujianto.blog.ugm.ac.id/files/2009/12/6.pdf · Menambahkan kolom baru: ... nip CHAR(10) PRIMARY KEY (nrp), FOREIGN KEY (nip) REFERENCES

DDL Untuk Tabel (2)ContohPembuatan tabel Mahasiswa dan set nrp menjadi primary key, nilai default pada jeniskel=”L”, nipdosen mereferensi ke tabel dosen field nip

Page 8: DDL & Aturan Referential - pujianto.blog.ugm.ac.idpujianto.blog.ugm.ac.id/files/2009/12/6.pdf · Menambahkan kolom baru: ... nip CHAR(10) PRIMARY KEY (nrp), FOREIGN KEY (nip) REFERENCES

DDL Untuk Tabel (3)

Menghapus tabel, syntax:

DROP TABLE <namaTabel>

Modifikasi tabel: 1. Menambahkan kolom baru:

ALTER TABLE <namaTabel> add <namakolom><tipedata> <aturan>

2. Menghapus kolom:ALTER TABLE <namaTabel> drop <namakolom>

Page 9: DDL & Aturan Referential - pujianto.blog.ugm.ac.idpujianto.blog.ugm.ac.id/files/2009/12/6.pdf · Menambahkan kolom baru: ... nip CHAR(10) PRIMARY KEY (nrp), FOREIGN KEY (nip) REFERENCES

DDL Untuk View (1)

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

CREATE VIEW <namaTabel> AS<SQLQuery>

Page 10: DDL & Aturan Referential - pujianto.blog.ugm.ac.idpujianto.blog.ugm.ac.id/files/2009/12/6.pdf · Menambahkan kolom baru: ... nip CHAR(10) PRIMARY KEY (nrp), FOREIGN KEY (nip) REFERENCES

DDL Untuk View (2)

Contoh

Membuat View dengan nama MahasiswaPria:

ViewCREATE VIEW MahasiswaPria ASSELECT * FROM Mahasiswa WHERE jeniskel=”L”

Page 11: DDL & Aturan Referential - pujianto.blog.ugm.ac.idpujianto.blog.ugm.ac.id/files/2009/12/6.pdf · Menambahkan kolom baru: ... nip CHAR(10) PRIMARY KEY (nrp), FOREIGN KEY (nip) REFERENCES

DDL Untuk TRIGGER (1) 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:CREATE TRIGGER <namaTrigger> ON TABLE<namaTabel> FOR [DELETE] [,] [INSERT] [,] [UPDATE] AS <perintahSQL>

Page 12: DDL & Aturan Referential - pujianto.blog.ugm.ac.idpujianto.blog.ugm.ac.id/files/2009/12/6.pdf · Menambahkan kolom baru: ... nip CHAR(10) PRIMARY KEY (nrp), FOREIGN KEY (nip) REFERENCES

DDL Untuk TRIGGER (2)

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

TriggerCREATE TRIGGER tLogUbahNilai ON TABLE pesertakulFOR UPDATE, INSERTASINSERT INTO LogHistoris (tanggal, proses) VALUES (getDate(), ‘Terjadi proses perubahan data nilai’)

Page 13: DDL & Aturan Referential - pujianto.blog.ugm.ac.idpujianto.blog.ugm.ac.id/files/2009/12/6.pdf · Menambahkan kolom baru: ... nip CHAR(10) PRIMARY KEY (nrp), FOREIGN KEY (nip) REFERENCES

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 diperlakukan untuk andaikata terjadi proses modifikasi data

Page 14: DDL & Aturan Referential - pujianto.blog.ugm.ac.idpujianto.blog.ugm.ac.id/files/2009/12/6.pdf · Menambahkan kolom baru: ... nip CHAR(10) PRIMARY KEY (nrp), FOREIGN KEY (nip) REFERENCES

Referential Integrity Constraint

Aturan untuk Update berlaku pada proses modifikasi di parent tableCascade Pembaruan sebuah baris data diikuti dengan pembaruan baris data pada child table yang terelasikan.Restrict mencegah proses pembaruan data jika terdapat baris data di child table yang terelasikan. Ignore mengabaikan referensi. Boleh memperbarui data pada parent, tapi tidak memperbarui data yang berelasi pada child table.

Page 15: DDL & Aturan Referential - pujianto.blog.ugm.ac.idpujianto.blog.ugm.ac.id/files/2009/12/6.pdf · Menambahkan kolom baru: ... nip CHAR(10) PRIMARY KEY (nrp), FOREIGN KEY (nip) REFERENCES

Referential Integrity Constraint

Aturan untuk Delete berlaku pada proses modifikasi di parent tableCascade Menghapus seluruh baris data pada child table yg terelasikan.Restrict mencegah penghapusan jika terdapat baris data yang berelasi pada child table.Ignore mengabaikan referensi. Boleh menghapus data, dan tidak ada efeknya bagi child table.

Page 16: DDL & Aturan Referential - pujianto.blog.ugm.ac.idpujianto.blog.ugm.ac.id/files/2009/12/6.pdf · Menambahkan kolom baru: ... nip CHAR(10) PRIMARY KEY (nrp), FOREIGN KEY (nip) REFERENCES

Referential Integrity Constraint

Restrict Tidak boleh menambah data pada child table, jika nilai yang dimasukkan pada kolom yang berelasi tidak terdapat pada parent tabelnya.

Ignore mengabaikan referensi. Boleh menambah data pada child, walaupun nilai yang dimasukkan pada kolom yang berelasi tidak terdapat pada parent tabel.

Aturan untuk Insert

Page 17: DDL & Aturan Referential - pujianto.blog.ugm.ac.idpujianto.blog.ugm.ac.id/files/2009/12/6.pdf · Menambahkan kolom baru: ... nip CHAR(10) PRIMARY KEY (nrp), FOREIGN KEY (nip) REFERENCES

Referential Integrity Constraint

CREATE TABLE Mahasiswa(nrp CHAR(10),nama CHAR(20),nip CHAR(10)PRIMARY KEY (nrp),FOREIGN KEY (nip)REFERENCES DosenON DELETE CASCADEON UPDATE CASCADE )

Contoh