2. Implementasi Basis Data
1. Membuat/menghapus database
2. Membuat/menghapus tabel
3. Memodifikasi tabel
4. Membuat/menghapus view
5. Menciptakan integritas referensial
6. Menciptakan indeks
3. Gambaran Tool dalam Implementasi
Database
• DBMS menyediakan tool untuk memudahkan
mengimplementasikan database
• Tool DBMS tetap menggunakan Bahasa SQL untuk
berkomunikasi dengan database
• Sebagai mahasiswa, selain memahami tool juga harus
memahami penggunakan bahasa SQL.
4. Untuk keperluan memberikan ilustrasi tentang tool yang digunakan
untuk implementasi database maupun untuk kepentingan
penggunaan SQL, tabel-tabel berikut digunakan sebagai contoh.
DEPARTEMEN (id_Dep, Nama_Dep)
KARYAWAN (No_Karyawan, Nama, Jenis_Kelamin, Tanggal_Lahir,
Jenis_Karyawan, Id_Dep)
SEKRETARIS (No_Karyawan, Bahasa_Asing)
TEKNISI (No_Karyawan, Keahlian_Teknis)
MANAJER (No_Karyawan, Tipe, No_Polisi, Id_Dep)
PROYEK (Id_Proyek, Deskripsi)
TEKNISI_PROYEK (No_Karyawan, Id_Proyek, Mulai_Tanggal,
Sampai_Tanggal)
5. Contoh Implementasi
Menggunakan SQL
• Menciptakan Database
Perintah: CREATE DATABASE
CREATE DATABASE dbperus;
• Menciptakan Tabel
Perintah: CREATE TABLE;
CREATE TABLE nama_tabel(nama_field tipe_data
[(ukuran][kekangan_field] [nilai_bawaan]
CREATE TABLE DEPARTEMEN (Id_Dep CHAR(2) NOT NULL
PRIMARY KEY, Nama_Dep CHAR(12) NOT NULL;
6. Penjelasan :
• Tabel Departemen mengandung dua buah field yaitu Id_Dep
dan Nama_Dep.
• Field Id_Dep bertipe CHAR dengan panjang 2. Artinya field tsb
dapat menampung maksimum 2 karakter. NOT NULL
menyatakan kekangan yang berarti bahwa Id_Dep tidak boleh
kosong. PRIMARY KEY menyatakan bahwa filed Ide_Dep
bertindak sebagai kunci primer.
• Field Nama_Dep bertipe CHAR denganpanjang 12. Artinya,
field tsb dapat menampung maksimum 2 karakter. NOT NULL
menyatakan kekangan yang berari bahwa Nama_Dep tidak
boleh kosong.
7. Contoh Implementasi
Menggunakan SQL
• Menciptakan kunci primer komposit
Perintah: PRIMARY KEY(nama_field, ……,nama_field)
CREATE TABLE SEKRETARIS (No_Karyawan CHAR(8) NOT
NULL, Bahasa_Asing CHAR(10) NOT NULL, PRIMARY
KEY(No_Karyawan, Bahasa_Asing));
8. Menciptakan dan Menghapus Indeks
• Indeks diperlukan terutama pada field-field yang
sering muncul dalam clause WHERE tujuannnya
untuk mempercepat pengambilan data dan untuk
data tidak kembar (unik)
• CREATE INDEX
• CREATE UNIQUE INDEX
• CREATE UNIQUE INDEX Nama_Dep ON
DEPARTEMEN (Nama_Dep);
9. Contoh pada MySql
CREATE TABLE KARYAWAN (
No_Karyawan CHAR(8) NOT NULL PRIMARY KEY, Nama CHAR(35)
NOT NULL, Jenis_Kelamin BOOLEAN DEFAULT TRUE,
Tanggal_Lahir DATE NOT NULL, Id_Dep CHAR(2) NOT NULL);
CREATE INDEX Id_Dep ON KARYAWAN(Id_Dep);
Contoh pada Access
CREATE TABLE KARYAWAN (
No_Karyawan CHAR(8) NOT NULL PRIMARY KEY, Nama CHAR(35)
NOT NULL, Jenis_Kelamin YESNO NOT NULL, Tanggal_Lahir
DATE NOT NULL, Id_Dep CHAR(2) NOT NULL);
CREATE INDEX Id_Dep ON KARYAWAN (id_Dep);
10. Menghapus Index
• Untuk menghapus index gunakan
perintah DROP INDEX
• DROP INDEX Id_Dep ON KARYAWAN;
11. Mengubah Strukturl Tabel
• Gunakan perintah ALTER TABLE
ALTER TABLE KARYAWAN
ADD Agama CHAR(1);
ALTER TABLE KARYAWAN
DROP Agama;
Khusus Mysql
ALTER TABLE KARYAWAN
CHANGE Jenis_kelamin sex CHAR(1);
12. Membuat dan Menghapus View
• View merupakan suatu bentuk representasi data yang
berasal dari satu atau beberapa tabel untuk
menampilkan data-data tertentu saja dari tabel.
CREATE VIEW info_umum
SELECT No_Karyawan, Nama, Tanggal_Lahir
FROM KARYAWAN
• Untuk Menghapus VIEW gunakan perintah DROP VIEW
DROP VIEW info_umum;
13. Membuat Integritas
Referensial
• Integritas referensial merupakansuatu upaya
untuk menjaga agar kunci asing suatu tabel
dan kunci primer milik tabel yang direferensi
oleh kunci asing selalu konsisten.
• Tidak boleh terjadi terdapat kunci asing pada
tabel Karyawan tetapi tidak terdapat kunci
primernya pada tabel Departemen
14. Membuat Integritas
Referensial
• CREATE TABLE KARYAWAN (
No_Karyawan CHAR(8) NOT NULL PRIMARY
KEY, Nama CHAR(35) NOT NULL, Jenis_Kelamin
CHAR(1) NOT NULL, Tanggal_Lahir DATE NOT
NULL, Id_Dep CHAR(2) NOT NULL,
FOREIGN KEY (Id_Dep)
REFERENCES DEPARTEMEN (Id_Dep));
15. Membuat Integritas
Referensial
• SQL juga menyediakan fitur yang dapat diatur pemakai
sekiranya satu baris pada tabel induk yang direferensi
oleh suatu kunci asing dihapus atau diubah.
{ON UPDATE (RESTRICT I
CASCADE I
SET NULL)}
{ON DELETE (RESTRICT I
CASCADE I
SET NULL)}
16. Membuat Integritas
Referensial
Penjelasan:
• UPDATE menyatakan tindakan kalau pada tabel induk
terjadi perubahan nilai.
• DELETE menyatakan tindakan kalau pada tabel induk
terjadi penghapusan baris
• RESTRICT menyatakan bahwa pengubahan atau
penghapusan ditolak
• CASCADE menyatakan bahwa jika nilai kunci primer ada
tabel induk berubah maka kunci asing ada tabel yang
mereferensi akan disesuaikan dengan nilai pada kunci
primer tabel induk.
17. Membuat Integritas
Referensial
CREATE TABLE KARYAWAN (
No_Karyawan CHAR(8) NOT NULL PRIMARY KEY, Nama
CHAR(35) NOT NULL, Jenis_Kelamin CHAR(1) NOT NULL,
Tanggal_Lahir DATE NOT NULL, Id_Dep CHAR(2) NOT
NULL,
FOREIGN KEY (Id_Dep),
REFERENCES DEPARTEMEN (Id_Dep)
ON UPDATE CASCADE
ON DELETE RESTRICT);
18. Membuat Penomoran
Otomatis
• Dalam sebuah tabel kadang diperlukan untuk
memberikan nomor urut secara otomatis
terhadap suatu field setiap kali record baru
ditambahkan.
Gunakan perintah AUTO_INCREMENT
CREATE TABLE PROYEK (
Id_Proyek INT PRIMARY KEY AUTO_INCREMENT,
Deskripsi CHAR(100) NOT NULL);
19. Tabel TEKNISI
Field Name Date
Type
Field
Size
Require
d
Indexed Primary
Key
No_Karya
wan
CHAR 8 YES YES (no
duplicate)
YES
Keahlian_T
eknis
CHAR 25 YES No YES
Field Name Date Type Field Size Required Indexed Primary
Key
No_Karyawa
n
CHAR 8 Yes Yes (no duplicates) Yes
Tipe CHAR 15 Yes No
No_Polisi CHAR 8 Yes No
Id_Dep CHAR 2 Yes Yes (duplicates ok)
Tabel MANAJER