BAB 9
Designing Database Table 1
Dari diagram ERD akan direpresentasikan menjadi sebuah database secara fisik.
Sedangkan komponen-komponen diagram E-R yang berupa himpunan entitas dan
himpunan relasi akan ditranformasikan menjadi table-tabel ( file-file data ) yang
merupakan komponen utama pembentukan basis data. Selanjutnya atribut-atribut yang
melekat pada masing-masing himpunan entitas dan himpunan relasi akan dinyatakan
sebagai field-field dari table-tabel yang sesuai.
1. Transformasi Dasar
Aturan umum dalam pemetaan modedl data (level konseptual dalam abstraksi data)
yang kita gambarkan dengan ERD menjadi basis data fisik (level Fisik dalam
Abstraksi data)
NIM NM
ALM
NIM NM ALM TGL-LHR
MHS TGL-LHR
KD-MT NM-MT
KD-MT NM-MT SKS SEM
SKS
MTK SEM
NID NM-DS
NID NM-DS ALM KD-MT
ALM
DOSEN KD-MT
1
Analisis Dan Perancangan Sistem
( Systems Analysis And Design)
DOSEN
NID
Mengepalai
KD-JR NM-JR NID
KD-JR
JURUSAN KD-JR
NM-JR
Himpunan relasi Mengepalai sesungguhnya memiliki 2 attribut, yaitu NID dan KD-JR.
Kedua attribute ini mestinya disertakan pada table jurusan. Tetapi karena di table
jurusan (ya ng merupakan implementasi dari himpunan entitas jurusan) sudah ada field
kd-jr, maka cukup attribute NID yang perlu ditambahkan. Jika saja atribut ini disertakan
table Dosen, maka kita juga hanya tinggal menambahkan sebuah field yaitu KD-JR.
Tidak sebagaimana fungsi di table dosen, NID yang merupakan field tambahan di table
jurusan tidak lagi berfungsi sebagai key. Yang menjadi key di table jurusan tetap saja
KD-JR. Kedudukan field NID di table jurusan sama sebagai field NM-jr, yakni sebagai
field deskriptif saja. Karena lebih bersifat deskriptif, nama field tersebut dapat saja
diganti untuk lebih memperjelas fungsi/perannya di table jurusan ( yaitu data tentang
dosen yang menjadi kedua ketua jurusan), misalnya NID-KJ
2
Analisis Dan Perancangan Sistem
( Systems Analysis And Design)
NID NM-DS
ALM
NID NM-DS ALM
DOSEN
TMP NID
Mengajar
WKT KD-JR
KD- NM- SKS SEM NID TMP WKT
MTK MTK
KD-MTK
MTK
NM-MTK
SKS SEM
Field Yg ditambahkan
Hasil transformasi diatas, terlihat bahwa table MTK cukup jauh berbeda disbanding
struktur awal sebagai hasil transformasi lansung dari himpunan entitas. Jika kemudian
kita melihat bahwa attribute WKT merupakan atribut bernilai banyak (multivalued
attibut) maka table tersebut tidak memenuhi bentuk Normal pertama (1 NF). Dengan
menerapkan aturan normalisasi tersebut, maka sesungguhnya table ini dapat
didekomposisi lagi menjadi table MTK (KD-MTK, NM-MTK, SKS,SEM, NID) dan Tabel
JADWAL( KD-MTK,TMP, WKT)
3
Analisis Dan Perancangan Sistem
( Systems Analysis And Design)
Tabel MHS
NIM NM-MHS
NIM NM-MHS ALM TGL-LHR
ALM
MHS
TGL-LHR
NL
TABEL MTK
KD-MTK
MTK KD-MTK NM-MTK SKS SEM
NM-MTK
SKS SEM
Penggunaan himpuanan entitas lemah (weak entity sets dan sub entitas) dalam ERD
diimplementasikan dalam bentuk table-tabel sebagaimna himpunan entitas kuat (strong
Entity Sets). Bedanya jika himpunan entitas kuat sudah dapat lansung menjadi sebuah
table utuh. Walapun tanpa melihat relasinya dengan himpunan entitas yang lain, maka
himpunan entitas lemah dan sub entitas hanya dapat ditransformasikan menjadi sebuah
table dengan menyertakan pula atribut ditransformasikan menjadi sebuah table dengan
menyertakan pula atribut key yang ada di himpunan entitas kuat yang berelasi
dengannya. Lebih jauh lagi atribut key tersebut juga menjadi key (atau paling tidak
bagian dari key) dari table hasil implementasi himpunan entitas lemah dab sub entitas.
Memiliki
NM_MHS ORTU AL-ORT
MHS
NOBP HOBBI
AL-MHS
Menyenagi
HOBBI hobbi
TG-LHR
4
Analisis Dan Perancangan Sistem
( Systems Analysis And Design)
NIP NID
ISA
PANGKAT
NM-KTR
Implementasi relasi tunggal (Unary Relation) dari/ke himpunan entitas yang sama
dalam ERD tergantung pada derajat relasinya. Untuk relasi tunggal dengan relasi satu
ke banyak dapat diimplemetasikan melalui penggunaan field key dua kali tapi untuk
fungsi yang berbeda. Jika kita memiliki himpunan entitas a dengan 2 attribut x dan y
dengan x ebagai key, maka relasi tunggal terhadap himpunan entitas tersebut
diwujudkan dengan menambahkan kembali field x tersebut ke table A. Karena nama
field disetiap table harus unik, maka field x yang kedua harus diganti namanya sesuai
dengan fungsinya/ relasinya.
5
Analisis Dan Perancangan Sistem
( Systems Analysis And Design)
DS DS PEND
NID NID
Mendampi
ngi
DOSEN
KD-MTK KD-MTK
KL-
PRASRAT
MTK
Secara umum, relasi multi entitas yang menghubungkan lebih dari dua himpunan
entitas ( N himpunan entitas, dimana N>2) akan diimplementasikan sebagai sebuah
table khusus (tent saja, setiap himpunan entitas yang terlibat dalam relasi juga akan
direpresentasikan dalam table-tabel terpisah). Namun jika pada relasi yang
menghubungkan N buah himpunan entitas kita dapat memastikan bahwa derajat relasi
parsial diantara (N-1) buah himpunan entitas dengan suatu himpunan entitas (misalnya
X) adalah satu ke banyak, maka relasi tadi tidak perlu diwujudkan sebagai sebuah table
khusus dan attibut-attributnya cukup dilekatkan pada himpunan entitas X tersebut.
(lihat gambar pada halaman berikut)
Pada ERD diatas, derajat relasi parsial diantara setiap pasang himpunan entitas yang
ada adalah sebagai berikut :
Pada relasi pengajaran tersebut setiap MTK dapat diajarkan oleh seorang dosen
dan setiap dosen dapat melakukan pengajaran banyak MTK, maka derajat relasi
parsial antara himpunan entitas DOSEN MTK adalah 1 – N ( satu ke banyak)
6
Analisis Dan Perancangan Sistem
( Systems Analysis And Design)
KD-R
WAKTU
RUANG
KD-R KAPASITAS
NM-R
Pada relasi TEACH tersebut, setiap Ruang dapat digunakan oleh banyak dosen
(untuk mengajarkan berbagai matakuliah) dan setiap dosen dapat menggunakan
berbagai ruangan karena memang mengajarkan lebih dari satu matakuliah,
maka derajat relasi parsial antara himpunan entitas RUANG - DOSEN adalah
N – N (banyak ke banyak).
Dari hasil pengamatan tersebut kita dapat menyetujui bahwa semua derajat relasi
parsial antara himpunan entitas Dosen ataupun Ruang dengan himpunan entitas MTK
selalu satu ke banyak. Dengan demikian, relasi pengajaran tersebut tidak perlu
diimplementasikan sebagai sebuah table khusus, tetapi atribut-atributnya dilekatkan
pada table yang mewakili himpunan entitas kuliah.
TABEL MTK
KD-MTK NM-MTK SKS SEM NID KD-R WAKTU
Jika ternyata di kemudian hari, suatu matakuliah ( dengan jumlah SKS yang besar)
dapat dilaksanakan lebih dari satu kali dalam seminggu, dan mungkin untuk
diselenggarakan di ruang yangn berbeda, maka derajat relasi parsial antara himpunan
entitas Ruang – MTK bukan lagi satu ke banyak, tapi menjadi banyak ke banyak. Jika
kenyataan ini harus diakomodasi, maka table MTK tetap sebagaimana bentuk semula
(dengan 4 buah field : KD-MTK, NM-MTK, SKS dan SEM) dan relasi diatas harus
diimplementasikan sebagai sebuah table khusus seperti berikut
7
Analisis Dan Perancangan Sistem
( Systems Analysis And Design)
TABEL JADUAL
TEACH
DOSEN MTK
TEMPAT WAKTU
MENGU
ASAI
NID KD-MTK
Karena derajat relasi TEACH adalah satu ke banyak, maka field NID yang berasal dari
himpunan entitas Dosen ditambahkan ke table kuliah. Sementara untuk relasi
MENGUASAI, karena reajat relasinya adalah banyak ke banyak, maka relasi ini akan
dinyatakan dalam table khusus dengan 2 buah field : NID dan KD-MTK. Hasil akhir
implementasinya adalah :
8
Analisis Dan Perancangan Sistem
( Systems Analysis And Design)
Generalisasi
ALM
NIM MHS
TGL-LHR
NM
ISA
MHS D3 MHS S1
TABEL MHS
NIM NM ALM TGL-LHR PROG-STUDI
6. Implementasi Agregasi
Mempelajari
MHS MTK
NIM KD-MTK
Mengikuti
KD-PRA Nilai
NM-PRA
9
Analisis Dan Perancangan Sistem
( Systems Analysis And Design)
Relasi mengikuti merupakan bentuk agregasi relasi mempelajari dan entitas Praktikum.
Karena kesemua relasi yang ada pada ERD diatas adalah banyak ke banyak, maka
baik relasi mempelajari naupun relasi mengikuti masing-masing akan direpresentasikan
dalam table khusus atau terpisah.
10