• Tidak ada hasil yang ditemukan

Menambah dan Menghapus Primary Key dan Foreign Key

Dalam dokumen d46b1 modul praktikum sistem basis data (Halaman 56-61)

MEMBUAT, MERUBAH, MENDUPLIKASI DAN MENGHAPUS TABEL

D. TEORI DASAR 1. Menciptakan Table

5. Merubah Struktur Table

5.5 Menambah dan Menghapus Primary Key dan Foreign Key

Menambah kunci utama (Primary Key) pada sebuah tabel dapat dilakukan dengan perintah SQL sebagai berikut;

ALTER TABLE <table_name> ADD PRIMARY KEY <column_name>;

Sedangkan perintah SQL untuk menambah kunci tamu (Foreign Key) adalah sebagai berikut;

ALTER TABLE <table_name> ADD COINSTRAINT

<constrain_foreign_name> FOREIGN KEY <constrain_foreign_name> (<field_name_for_foreign_name>) REFERENCES <table_name_reference> (<field_name_for_foreign_name>) [ON DELETE] [RESTRICT ON UPDATE RESTRICT];

E. LANGKAH-LANGKAH PRAKTIKUM

Guna membantu pemahaman kita dalam menggunakan perintah-perintah Data Definition Statement (DDS) untuk membuat, merubah, menduplikasi dan menghapus objek Table, lakukan beberapa perintah query berikut ini;

a. Masuklah ke MySQL sebagai root;

C:\Program Files\MySQL\MySQL Server 5.0\bin\>mysql -u root -h localhost -p Enter password: rootpassword

b. Buatlah database ujimhsdb;

mysql>CREATE DATABASE ujimhsdb; mysql>USE ujimhsdb;

c. Buatlah table-table mahasiswa, matakuliah, dosen, jenis ujian dan hasil ujian mahasiswa sebagai berikut;

mysql>CREATE TABLE mahasiswa

->(nim VARCHAR(7) NOT NULL PRIMARY KEY, ->nama_mhs VARCHAR(35) NOT NULL,

->kelamin ENUM(‘L’,’P’),

->tmp_lahir VARCHAR(35) NOT NULL,

->tgl_lahir DATE NULL DEFAULT “0000-00-00”, ->alamat VARCHAR(50) NOT NULL);

mysql>CREATE TABLE dosen

->(kode_dosen VARCHAR(5) NOT NULL PRIMARY KEY, ->nama_dosen VARCHAR(35) NOT NULL,

->kelamin ENUM(‘L’,’P’),

->tgl_lahir DATE NULL DEFAULT “0000-00-00”, ->alamat VARCHAR(50) NOT NULL);

mysql>CREATE TABLE jenisujian

->(kode_ujian VARCHAR(3) NOT NULL PRIMARY KEY, ->nama_ujian VARCHAR(35) NOT NULL);

mysql>CREATE TABLE matakuliah

->(kode_mtk VARCHAR(6) NOT NULL PRIMARY KEY, ->nama_mtk VARCHAR(35) NOT NULL,

->sks INT UNSIGNED,

->kode_dosen VARCHAR(5) NOT NULL); mysql>CREATE TABLE hasilujian

->(nim VARCHAR(7) NOT NULL, ->kode_mtk VARCHAR(6) NOT NULL, ->kode_ujian VARCHAR(3) NOT NULL, ->nilai INT UNSIGNED);

mysql>SHOW TABLES;

d. Masukkan data berikut ke masing-masing table yang telah tercipta dengan perintah INSERT INTO. Data yang dimasukkan adalah sebagai berikut;

Tabel 1: Data Dosen kode_dose

n

nama_dosen kelami n

tmp_lahir tgl_lahir alamat

D1001 Roy Markun L Bogor 1969-01-23 Jl. Mayjend. Sungkono 93 D1002 Ginanjar L Jakarta 1971-03-21 Jl. Ahmad Yani 100

D1003 Gina Sonia P Bandung 1962-09-12 Jl. Citarum 53 D1004 Ian Antono L Palembang 1970-10-11 Jl. Raden Saleh II/42 D1005 Indri Jelita P Bengkulu 1973-07-19 Jl. Ahmad Yani 21 D1006 Desi Ratnasari P Padang 1970-11-09 Jl. Mayjend. Panjaitan 45 D2001 Moh. Umar P Malang 1973-12-25 Jl. Citandui 52

D2002 Aisyah Kamila L Semarang 1968-10-03 Jl. Panglima Sudirman 15 D2003 Ike Nurjannah P Surabaya 1971-10-10 Jl. Sidodadi 76

Tabel 2: Data Mahasiswa

Nim nama_mhs klm tmp_lahir tgl_lahir alamat 0151001 Gogon L Medan 1982-09-29 Jl. Arjono 123

0151002 Tukul Arwana L Bogor 1982-06-22 Jl. Letjend. Sutoyo 87 0151003 Timbul L Semarang 1983-04-19 Jl. Panglima Sudirman 63 0151004 Nunung P Manado 1982-06-09 Jl. Merdeka Barat 90 0151005 Rohana P Cianjur 1981-01-13 Jl. Kesatrian 100 0151006 Jujuk P Denpasar 1983-11-07 Jl. Sarangan 75 0151007 Eko L Surabaya 1982-12-07 Jl. Gajayana IV/621B 0151008 Basuki L Madiun 1982-06-17 Jl. Sunan Giri 54

Nim nama_mhs klm tmp_lahir tgl_lahir alamat 0151009 Lilik Sundari P Samarang 1982-12-19 Jl. Ambarawa 93

Tabel 3: Data Jenis Ujian kode_ujian nama_ujian

UJR Ujian Reguler

UTS Ujian Tengah Semester UAS Ujian Akhir Semester

UJP Ujian Perbaikan Tabel 4: Data Matakuliah

kode_mtk nama_mtk sks kode_dosen

KD_001 Sistem Basis Data 3 D1006

KD_002 Sistem Operasi 3 D2002

KD_003 Sistem Berkas 2 D1004

KD_004 Arsitektur & Organisasi Komputer 3 D1002 KK_001 Algoritma & Pemrograman 1 4 D1001 KK_002 Algoritma & Pemrograman 2 4 D2001 KK_003 Algoritma & Pemrograman 3 2 D1003 KK_004 Pemrograman Clint-Server 3 D1003 KK_005 Pemrograman Berbasis WEB 3 D2003 KK_006 Pemrograman Berbasis WAP 3 D1005 KK_007 Pemrograman Delphi 2 D2001 KK_008 Pemrograman Visual Basic 2 D1005

Tabel 5: Data Hasil Ujian

nim kode_mtk kode_ujian nilai

0151001 KK_003 UJR 74 0151001 KK_004 UTS 82 0151001 KK_005 UAS 65 0151001 KK_006 UJP 56 0151002 KK_007 UJR 67 0151002 KK_008 UTS 98 0151002 KD_001 UJR 95 0151002 KD_002 UTS 83 0151003 KD_003 UTS 65 0151003 KD_004 UAS 76 0151003 KK_001 UJP 85 0151003 KK_002 UJR 96 0151004 KK_003 UTS 97 0151004 KD_001 UAS 88 0151004 KD_002 UTS 69 0151004 KD_003 UAS 74 0151005 KD_004 UJP 44 0151005 KK_001 UJR 55 0151005 KK_002 UTS 86 0151006 KK_003 UAS 67 0151006 KK_007 UAS 78

nim kode_mtk kode_ujian nilai 0151006 KK_008 UJP 45 0151007 KD_001 UJR 56 0151007 KD_002 UAS 64 0151008 KD_003 UJR 76 0151009 KK_007 UJR 68 0151009 KK_008 UTS 69

e. Lakukan duplikasi table dengan perintah sebagai berikut;

mysql>CREATE TABLE copy_dosen SELECT * FROM dosen;

mysql>CREATE TABLE copy_mahasiswa SELECT * FROM mahasiswa; mysql>CREATE TABLE copy_matakuliah SELECT * FROM matakuliah; mysql>CREATE TABLE copy_dosen SELECT * FROM dosen WHERE 0=1; f. Lakukan penggantian nama table dengan perintah sebagai berikut;

mysql>ALTER TABLE copy_dosen RENAME dosen_copy; mysql>RENAME TABLE dosen_copy TO copy_dosen;

mysql>RENAME TABLE copy_mahasiswa TO mahasiswa_copy, ->matakuliah_dosen TO matakuliah_copy;

g. Lakukan penghapusan table dengan perintah sebagai berikut; mysql>DROP TABLE copy_dosen;

mysql>DROP TABLE mahasiswa_copy, matakuliah_copy;

h. Lakukan perubahan pada nama field dan tipe datanya dengan perintah sebagai berikut; mysql>CREATE TABLE dosen_copy SELECT * FROM dosen;

mysql> ALTER TABLE dosen_copy CHANGE COLUMN nama_dosen nama_dsn -> VARCHAR(45);

mysql> ALTER TABLE dosen_copy MODIFY COLUMN nama_dsn CHAR(45); mysql> ALTER TABLE dosen_copy CHANGE COLUMN nama_dsn nama_dosen

-> VARCHAR(45);

i. Lakukan penambahan field, perubahan urutan field dan penghapusan field dengan perintah sebagai berikut;

mysql> ALTER TABLE dosen_copy ADD COLUMN kota VARCHAR(45) AFTER -> alamat, ADD COLUMN telpon VARCHAR(13) AFTER kota;

mysql> ALTER TABLE dosen_copy MODIFY nama_dosen VARCHAR(45) FIRST; mysql> ALTER TABLE dosen_copy MODIFY kelamin ENUM(‘L’, ’P’) AFTER tgl_lahir;

mysql> ALTER TABLE dosen_copy MODIFY kode_dosen VARCHAR(5) FIRST; mysql> ALTER TABLE dosen_copy DROP COLUMN kota, DROP COLUMN telpon;

j. Lakukan penambahan Primary Key dan Foreign Key sebuah Table dengan perintah sebagai berikut;

mysql>CREATE TABLE matakuiah_copy SELECT * FROM matakuliah; mysql>ALTER TABLE matakuliah_copy ADD PRIMARY KEY(kode_mtk); mysql>ALTER TABLE matakuliah_copy ADD CONSTRAINT FK_kode_dosen

->FOREIGN KEY FK_kode_dosen (kode_dosen) REFERENCES dosen (kode_dosen) ON DELETE RESTRICT ON UPDATE RESTRICT;

PRAKTIKUM VI

Dalam dokumen d46b1 modul praktikum sistem basis data (Halaman 56-61)

Dokumen terkait