Praktikum Pemrograman Internet
Konsep Database Lanjut
Modul 4
Konsep Database Lanjut
1. TUJUAN
Mahasiswa dapat memahami konsep relasi tabel pada database
Mahasiswa dapat membuat relasi beberapa tabel menggunakan database MySQL
Mahasiswa mampu menyelesaikan beberapa permasalahan menggunakan relasi tabel
database MySQL
2. DASAR TEORI
2.1 Relasi Tabel MySQL
Relasi tabel merupakan hubungan yang terjadi pada suatu tabel dengan lainnya yang
mempresentasikan hubungan antar objek di dunia nyata dan berfungsi untuk mengatur
mengatur operasi suatu database.
Ada 3 macam relasi tabel, diantaranya :
One-To-One (1-1)
Mempunyai pengertian "Setiap baris data pada tabel pertama dihubungkan hanya ke
satu baris data pada tabel ke dua". Contohnya : relasi antara tabel mahasiswa dan tabel
orang tua. Satu baris mahasiswa hanya berhubungan dengan satu baris orang tua begitu
juga sebaliknya.
One-To-Many (1-N)
Mempunyai pengertian "Setiap baris data dari tabel pertama dapat dihubungkan ke satu
baris atau lebih data pada tabel ke dua". Contohnya : relasi perwalian antara tabel dosen
dan tabel mahasiswa. Satu baris dosen atau satu dosen bisa berhubungan dengan satu
baris atau lebih mahasiswa.
Many-To-Many (N-M)
Mempunyai pengertian "Satu baris atau lebih data pada tabel pertama bisa dihubugkan
ke satu atau lebih baris data pada tabel ke dua". Artinya ada banyak baris di tabel satu
dan tabel dua yang saling berhubungan satu sama lain. Contohnya : relasi antar tabel
mahasiswa dan tabel mata kuliah. Satu baris mahasiswa bisa berhubungan dengan
banyak baris mata kuliah begitu juga sebaliknya.
Politeknik Elektronika Negeri Surabaya - PENS 1
Praktikum Pemrograman Internet
Konsep Database Lanjut
3. LANGKAH PERCOBAAN
3.1 Latihan relasi tabel pada PhpMyAdmin
Pilih database yang digunakan (bila diperlukan buat database baru)
Pada permasalahan ini dibuat database baru dengan nama library
Buat tabel pertama dengan nama category, dengan field :
Fields Tipe data
PK category_id INT,10,Not Null, Auto increment, Primary key
category_name VARCHAR, 30, Not Null
Pilih tipe tabel menjadi “InnoDB”, karena hanya tipe inilah yang dapat membuat foreign
key dan relasi, cara menggantinya lihat pada bagian “Storage Engine” dan ganti menjadi
“InnoDB”
Pilih save
Pembuatan tabel category
Buat tabel kedua dengan nama book, dengan field :
Fields Tipe data
PK book_id INT,10,Not Null, Auto increment, Primary key
title VARCHAR, 30, Not Null
author VARCHAR, 30, Not Null
publisher VARCHAR, 30, Not Null
FK category_id INT,10, Not Null
Field category_id digunakan sebagai Foreign Key, caranya bagian Index pilih INDEX dan
tipe tabel “InnoDB”
Pembuatan tabel book
Politeknik Elektronika Negeri Surabaya - PENS 2
Praktikum Pemrograman Internet
Konsep Database Lanjut
Setelah membuat kedua tabel, masuk ke tabel book dan pilih structure
Pilih Relation view
Karena field “category_id” dalam tabel “book” ini akan direlasikan dengan field
“category_id” pada tabel “category” (sebagai tabel master) maka selanjutnya kita set
relasinya seperti berikut ini:
Pilih save
Pilih database library > More > Designer
Memasukkan data pada tabel category
category_id category_name
12345 Komputer
12346 Telekomunikasi
12347 Jaringan
Politeknik Elektronika Negeri Surabaya - PENS 3
Praktikum Pemrograman Internet
Konsep Database Lanjut
Memasukkan data pada tabel book
book_id title author publisher Category_id
131181 24 Jam Belajar PHP Edy Winarni Elex Media 12345
ST, [Link], Ali Komputindo
131182 Sistem Telekomunikasi Gauzali Saydam Alfabeta 12346
di Indonesia
131183 Pengantar Jaringan Iwan Sofana Informatika 12347
Komputer dan CISCO
CCNA
Karena sudah direlasikan, saat pengisian data pada tabel “book” ini, pada field
“category_id” sudah terdapat pilihan yang tadi telah dimasukkan di tabel “category”.
Pada gambar di atas category_id-nya berupa link. Jika di klik maka akan diarahkan ke
tempat category itu sendiri. Contoh saya meng-klik category_id 12345. Hasilnya seperti
ini:
Insert dan menampilkan relasi tabel
Politeknik Elektronika Negeri Surabaya - PENS 4
Praktikum Pemrograman Internet
Konsep Database Lanjut
Menampilkan title, author, publisher, dan category_name
3.2 Permasalahan relasi tabel
Buat database kepegawaian dan Tabel jabatan
Fields Tipe data
PK id_jabatan INT,10,Not Null, Auto increment, Primary key
nama_jabatan VARCHAR, 30, Not Null
Buat tabel divisi
Fields Tipe data
PK id_divisi INT,10,Not Null, Auto increment, Primary key
nama_divisi VARCHAR, 30, Not Null
Buat tabel data_pegawai
Fields Tipe data
PK nik INT,10,Not Null, Auto increment, Primary key
nama VARCHAR, 30, Not Null
alamat VARCHAR, 30, Not Null
FK id_jabatan INT,10,Not Null
FK dd_divisi INT,10,Not Null
Relasi tabel yang dihasilkan
Politeknik Elektronika Negeri Surabaya - PENS 5
Praktikum Pemrograman Internet
Konsep Database Lanjut
Memasukkan data tabel jabatan
id_jabatan nama_jabatan
1001 Kepala Divisi
1002 Manager
1003 Karyawan
Memasukkan data tabel divisi
id_divisi nama_divisi
2001 Training
2002 Sistem dan Jaringan
2003 HRD
Memasukkan data tabel data_pegawai
nik nama alamat id_jabatan id_divisi
200000065 Aji Firmansyah Surabaya 1002 2003
200000066 Rudi Hartono Bandung 1001 2002
200000067 Aisyah Nila Semarang 1003 2001
Menampilkan nik, nama, alamat, nama_jabatan, nama_divisi
Update nama dan alamat
Delete data dengan nik = 200000067
Politeknik Elektronika Negeri Surabaya - PENS 6