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.
Transformasi Model Data ke Basis Data fisik.
Berikut ini akan disajikan cara transformasi Model Data yang kita nyatakan dalam ERD ke dalam basis data fisik. Lebih dulu akan ditunjukan cara tranformasi yang sifatnya umum/ standart.
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) MHS NIM ALM NM TGL-LHR NIM NM ALM TGL-LHR MTK KD-MT SKS NM-MT SEM KD-MT NM-MT SKS SEM DOSEN NID ALM NM-DS KD-MT NID NM-DS ALM KD-MT
2. Relasi dengan derajat relasi 1 – 1 yang menghubungkan 2 buah himpunan entitas akan direpresentasikan dalam bentuk penambahan/ penyertaan atribut-atribut relasi ke table yang mewakili salah satu dari kedua himpunan entitas
NIK NM-DS ALM DOSEN NID ALM NM-DS Mengepalai NID KD-JR KD-JR NM-JR NID 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
3. Relasi dengan derajat relasi 1 – N atau 1 – M (satu ke banyak) yang menghubungkan 2 buah himpunan entitas, juga akan direpresentasikan dalam bentuk pemberian atribut key dari himpunan entitas kedua (yang berderajat 1) ke table yang mewakili himpunan entitas kedua (yang berderajat M). Attribut key dari himpunan entitas pertama ini menjadi atribut tambahan bagi himpunan entitas kedua
Field Yg ditambahkan Hasil transformasi diatas, terlihat bahwa table MTK cukup jauh berbeda disbanding
. Relasi dengan derajat relasi M : M atau N : N ( banyak ke banyak) yang
NID NM-DS ALM
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)
4
menghubungkan 2 buah himpunan entitas, akan diwujudkan dalam bentuk table khusus. Yang memiliki field (foreign key) yang berasal dari key-key dari himpunan entitas yang dihubungkannya.
KD- NM- SKS SEM NID TMP WKT MTK MTK MTK KD-MTK NM-MTK SEM SKS Mengajar NID TMP WKT KD-JR DOSEN ALM NM-DS NID
Tabel MHS
Tabel Mempelajari/ NILAI
TABEL MTK
plementasi Himpunan Entitas . Entitas Lemah dan Sub entitas :
enggunaan himpuanan entitas lemah (weak entity sets dan sub entitas) dalam ERD
Implementasikan Himpunan Entitas Lemah ke dalam bentuk table sbb :
NIM NM-MHS ALM TGL-LHR
Im 1 P
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.
NIM KD-MTK NL KD-MTK NM-MTK SKS SEM NOBP MHS NM_MHS Memiliki ORTU NM-ORT NOBP AL-ORT NM-ORT NOBP HOBBI TG-LHR hobbi AL-MHS Menyenagi HOBBI MTK KD-MTK NM-MTK SEM SKS Menpelajari KD-MTK NL NIM MHS ALM NM-MHS NIM TGL-LHR
TABEL MHS TABEL ORTU TABEL HOBBI
Implementasi Sub entitas Hasil Spesialisasi.
dikan bentuk table sbb :
mpunan entitas yang sama tuk relasi tun
n dap iim lemet n gg ld key dua kali tapi untuk
fungsi y ika kita memiliki hi ntitas a dengan 2 attribut x dan y
enga eb k
iwuju kan de gan m an kembali field tersebut ke ta le A Karen nama eld d etiap t ble ha d x yang kedua harus diganti namanya sesuai
NOBP NM-ORT AL-ORT NOBP HOBBI NOBP NM-MHS ALM TGL-LHR ja
TABLE DOSEN TABEL DS TETAP DS TD. TETAP
2. Implementasi Relasi Tunggal (Unary Relation)
Implementasi relasi tunggal (Unary Relation) dari/ke hi
dalam ERD tergantung pada derajat relasinya. Un ggal dengan relasi satu ke ba yak
ang berbeda. x
at d gai
p asika melalui pen mpunan e
terhadap himpunan entitas tersebut unaan fie
J
d n a ey, maka relasi tunggal
d d n enambahk x b . a
fi is a rus unik, maka fiel
dengan fungsinya/ relasinya. NID
NM-DS
AL-DS
NID NIK PANG
KAT
TGL-MSK NID
NM-KTR
AL-KTR
NID NM- AL-
NID-NM-DS AL-DS NIP DOSEN PANGKAT TG-MSK AL-KTR NM-KTR DS. TD. TETAP DS TETAP ISA NID
Sedang relasi yang derajat
DS DS PEND
nya satu ke banyak akan diimplementasikan melalui embentukan table baru yang merepresentasikan relasi tersebut. Tabel baru ini endapat fi attribute relasi (jika ada) yang ditambah dengan attribute key ari unan entitasnya.
puna enti s, dimana N>2) a sebuah
t as yang terlibat dalam relasi juga akan
tasikan dalam table-tabel terpisah). Namun jika pada relasi yang enghubung an N buah h mpuna entitas k a dapat memastikan bahwa derajat relasi arsial diant a (N-1) bua himpun n entitas dengan suatu himpunan entitas (misalnya ) adalah sa ke banyak, aka re si tadi tidak perlu diwujudkan sebagai sebuah table
impunan entitas X tersebut.
ihat gambar pada halaman berikut)
p
m eld dari semua
d himp
TABEL MTK TABEL PRASYARAT MTK
3. Implementasi Relasi multi Entitas (N-Ary Relation)
Secara umum, relasi multi entitas yang menghubungkan lebih dari dua himpunan
entitas ( N him n ta kan diimplementasikan sebagai
able khusus (tent saja, setiap himpunan entit irepresen d m k i n it p X ar tu h m a la
khusus dan attibut-attributnya cukup dilekatkan pada h
(l
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)
KD-MTK NM-MTK SKS SEM KD-MTK KD-MTK-PRA KD-MTK MTK KL-PRASRAT DOSEN Mendampi ngi NID NID KD-MTK
Pada relasi TEACH tersebut setiap matakuliah hanya dapat diselenggarakan di sebuah ruang yang telah ditentukan dan setiap ruang pada saat yang berbe dapat digunakan untuk pengajaran berbagai mtk, maka derajat parsial antara himpunan entitas Ruang – MTK adalah 1 – N ( satu ke banyak )
Pada relasi TEACH tersebut, setiap Ruang dapat digunakan oleh banyak dosen (untuk mengajarkan berbagai matakuliah) dan setiap dosen dapat menggunakan da
berbagai ruangan karena memang mengajarkan lebih dari satu matakuliah,
Dari h a derajat relasi
parsial antara himpunan entitas Dosen ataupun Ruang dengan himpunan entitas MTK sel
diimple pada t
3 Att. Mewakili relasi Teach
ika terny mu su ata ( n S besar)
apat d aksanakan lebih dari tu ka eminggu, dan mungkin untuk iseleng arakan di ru ng yangn berbeda, maka derajat relasi parsial antara himpunan ntitas R ang – MTK bukan lagi s tu ke b nyak, tapi menjadi banyak ke banyak. Jika enyataan ini harus diakomodasi, maka table MTK tetap sebagaimana bentuk semula atas harus iimplementasikan sebagai sebuah table khusus seperti b
KD-MTK NM-MTK SKS SEM NID KD-R WAKTU
maka derajat relasi parsial antara himpunan entitas RUANG - DOSEN adalah N – N (banyak ke banyak).
asil pengamatan tersebut kita dapat menyetujui bahwa semu
alu satu ke banyak. Dengan demikian, relasi pengajaran tersebut tidak perlu mentasikan sebagai sebuah table khusus, tetapi atribut-atributnya dilekatkan able yang mewakili himpunan entitas kuliah.
TABEL MTK
J ata di ke dian hari, atu m kuliah denga jumlah KS yang
d il sa li dalam s
d g a
e u a a
k
(dengan 4 buah field : KD-MTK, NM-MTK, SKS dan SEM) dan relasi di
d erikut KD-MTK NID KD-R WAKTU KD-R KAPASITAS NID RUANG DOSEN MTK TEACH KD-MTK NM-R
TABEL JADUAL
Tidak ada yang istimewa dalam asikan relasi ganda diantara 2
anpa terikat
n d rel a ng relasi tersebut.
ari i
ABLE DOSEN TABEL MTK TB. MENGUASAI
si
ia n ita n ng an sejumlah himpunan
ntitas : s himpunan s yang ak e jadi acuan bagi himpunan
ntita lainnya an sis nya m rupakan sub entitas. Implementasi tentang sub entitas ini ang kaligus juga m nunju n imp mentasi dari adanya spesialisasi.
4. Implementasi Relasi Ganda (Redundant Relation)
KD-MTK NID KD-R WAKTU
mengimplement
himpunan entitas. Implementasinya kita tinjau pada masing-masing relasi t satu sama selain berdasarka erajat asi m sing-masi
Karena derajat relasi TEACH adalah satu ke banyak, maka field NID yang berasal d himpunan entitas Dosen ditambahkan ke table kuliah. Sementara untuk relas 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 :
T
5. Implementasi Spesialisasi dan Generalisa Spes lisasi terhadap sebuah
baru himpu entita an ent kuat s aka me n m hasilk e e atu a n s d a e y se e ka le NID NM-DS AL-DS KD-MTK NM-MTK SKS SE M NID NID KD-MTK NID KD-MTK NID WAKTU TEMPAT KD-MTK MTK DOSEN TEACH MENGU ASAI
Generalisasi dilakukan dengan mengabaikan perbedaan beberapa himpunan entitas ang memang memiliki banyak kebersamaan. Berlawanan dengan spesialisasi, pada
esunggu agregas at di n an mumnya (yang
engh ung- kan 2 impunan entitas). Karena relasi ni dibentuk dari relasi lain (relasi rasya t) yang sec ra kronologis lebih dulu terbentuk, maka pengimplementasiannya ga ha us dilakukan setelah relasi prasyarat tersebut terimplementasikan. Selanjutnya ita tinggal meninjau derajat relasi dari relasi agregasinya.
NIM NM ALM TGL-LHR PROG-STUDI
y
tahap implementasi generalisasi justru akan menyusutkan jumlah himpunan entitas menjadi hanya sebuah table saja. Untuk tetap mengakomodasikan adanya perbedaan itu, maka ditabel tersebut ditambahkan sebuah atribut yang nantinya akan diisi dengan kode khusus yang menyatakan perbedaan tersebut.
Generalisasi
TABEL MHS
6. Implementasi Agregasi
S hnya i dap panda g sebagaim a relasi pada u
m ub h i P ra a ju r k MHS MTK Praktikum Mempelajari Mengikuti NIM KD-PRA KD-MTK Nilai JUM-JAM KD-PRA MHS ISA MHS D3 MHS S1 NIM NM TGL-LHR ALM NM-PRA
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.
TABLE NILAI TABEL PRAKTIKUM TABEL MENGIKUTI NIM KD-MTK NILAI KD-PRA NM-PRA JUM-JAM NIM KD-MTK KD-PRA NILAI