PENGEMBANGAN RELASI-RELASI DARI DIAGRAM TIPE ER
Karena hanya berhubungan dengan dua entitas, hubungan TEACH yang ada diantara FACULTY dan COURSE (kedua entitas tersebut akan dibicarakan dalam bab terakhir) yang disebut suatu hubungan binar (binary relationship). Hubungan perintah yang tertinggi diantara tiga atau lebih entitas akan dibicarakan pada bab berikutnya. Hubungan binar sangat umum. Bab ini memperlihatkan bagaimana relasi-relasi untuk suatu database dapat dibentuk dengan menggunakan diagram tipe ER, pada kasus tersebut dimana hubungan binar ada. Pendekatan umum untuk pengembangan suatu database menggunakan metoda ER adalah untuk penggambaran awal suatu diagram tipe ER yang mengandung semua entitas dan hubungan-hubungan yang perlu untuk suatu organisasi (enterprise). Seperti contoh yang khusus, gambar 7.1 memberikan satu versi dari diagram ER yang lengkap untuk database sekretaris bowling. Diagram ini memliliki empat entitas dan tiga hubungan binar.!--angkah kedua dalam proses rancangan adalah untuk menarik kesimpulan dari sekumpulan 'awal' hubungan-hubungan rancangan, bersama dengan suatu kunci primer yang dimaksud untuk setiap relasi. Langkah terakhir adalah untuk membentuk suatu daftar dari semua atribut-atriibut yang diperlukan (yang belum terdaftar sebagai kunci entitas dalam diagram tipe ER) dan menentukan setiap atribut-atribut ini untuk satu dari relasi-relasi awal dalam suatu cara yang menghasilkan relasi-relasi BCNF. Pada langkah terakhir ini, FD yang ada 69
diantara atribut-atribut dalam setiap relasi harns ditentukan untuk menguji BCNF. Jika relasi-relasi yang dikembangkan bukan BCNF, atau jika terlihat relasi awal menjadi tidak logis untuk menempatkan beberapa atribut-atribut, dan diagram ER harns diperbaharui untuk menghilangkan kesulitan-kesulitan yang ada.
Bname, Week, ... Other attributes:
Phone, Stret, Stavg, Tname Captn, Gamel, Game2, Game3
Gambar 7.1 Suatu diagram tipe ER untuk suatu database sekretaris bowling
7.1
RELASI-RELASI AWAL UNTUK HUBUNGAN BINAR DENGAN TINGKAT 1:1
Relasi-relasi awal yang harus digunakan untuk memberikan suatu hubungan binar dapat memberikan kesimpulan dengan melihat pada beberapa alternatif logik, dan kemudian mendapatkan alternatif yang terbaik. Sekumpulan aturan yang umum untuk menghasilkan relasi-relasi dari diagram tipe ER dapat dikembangkan dengan mengunakan anggota kelas dan tingkatan dari hubungan seperti faktor-faktor yang menentukan. Untuk membantu dalam pengembangan aturan-aturan ini, keadaan FACULTY TEACH COURSE (dibicarakan dalam bab 6) akan digunakan, bersama dengan acuan bebas untuk diagram yang diperlihatkan dalam bab 6. Untuk sesaat, diskusi akan dibatasi untuk kasus-kasus dimana tingkatan hubungan binarnya adalah 1:1. Ketika mencoba untuk menentukan berapa banyak relasi yang akan mendapatkan infonnasi yang terkandung dalam hubungan-hubungan binar dengan tingkat 1:1 (seperti terlihat dalam diagram tipe ER yang diberikan Gambar 6.4), penyelesaian sederhana yang diharapkan adalah hanya satu relasi yang dibutuhkan. Asumsikan relasi ini adalah FACULTY, dan semua atribut-atribut akan ditempatkan kedalam saturelasi ini. Gambar 7.2 memberikan suatucontoh dari relasi dalam kasus yang khususdimana anggota kelas dari kedua entitas adalah wajib (lihat gambar 6.3(d) dan 6.4(d)). Pada relasi ini, duajenis atribut ditambahan ke entitas FACULTY yaitu nama_fakultas (fname) dan telepon_fakultas (fphone). Satu atribut ditambahkan untuk entitas COURSE: prasyarat (preq). 70
FACULTY (fuQ, fname, fphone, cno, preq) FACULTY fno
fname
fphone
cno
preq
FI F2 F3 F4
Smith Jones Hoppe Apple
2345 2233 6543 7766
HRD348 PHYI09 CS1130 MTH234
HRDIOO NONE MTHl20 MTHl50
Gambar 7.2 Contoh dari suatu relasi tunggal dari data gambar 6.3(d) dan 6.4(d) Dalam kasus ini, satu relasi adalah semua yang dibutuhkan. Karena tingkatan dari hubungan disini adalah I: I, dan keanggotaan kelasnya adalah wajib untuk kedua relasi FACULTY dan COURSE, untuk menjamin setiap harga fno dan cno yang a~an muncul di setiap contoh hanya satu kali. lni berarti relasi tersebut tidak pernah dipaksa untuk mendapatkan data yang kosong, atau setiap kelompok-kelompok pengulangan data rangkap. Kunci entitas dari FACULTY dipilih sebagai kunci primer untuk relasi, tetapi kunci entitas dari COURSE dapat digunakan. .
Aturanpengembanganrelasipenama sekarangdapatdimulai: Aturan 1 : Tingkatandari hubungan relasi adalah I: I dengan kelas keanggotaan dari keduaentitas yang wajib, hanya satu relasi diwajibkan. Kunci primerdari relasi ini dapat menjadi kunci entitas dari entitas juga. Jika tingkatan dari hubungannya adalah 1:1 dan kelas keanggotaan dari satu entitas adalah wajib, tetapi yang lainnya adalah tidak wajib, satu relasi tidak akan cukup untuk mendapatkan data. Gambar 7.3 memberikan suatu contoh dari kasus dimana kelas keanggotaan dari FACULTY adalah wajib dan COURSE adalah tidak wajib (lihat gambar 6.3(b) dan 6.4(b». Pada relasi ini, tidak ada/hampa (null) muncul disemua tupel untuk mendapatkan informasi pada bagian pengajaran dengan setiap anggota fakultas. Hampa (null) disimbolkan dengan -. FACULTY(fno, fname,fphone,cno, preq) FACULTY
fno FI F2 F3
-
Gambar 7.3
fname
fphone
cno
preq
Smith Jones Hoppe
2345 2233 6543
HRD348 PHYI09 CS1130 MTH234
HRDIOO NONE MTHl20 MTHl50
I
-
-
Contoh dari suatu relasi tunggal mendapatkan data dari gambar 6.3(b) dan 6.4(b).
Beberapa pemikiran, dapat menjadi kesimpulan yaitu earn untuk menghilangkan data hampa dengan menggunakan dua relasi. Setiap relasi akan mendapatkan informasi dari satu entitas. Lagi pula, kunci entitas dari sisi yang tidak 71
wajib harus ditempatkan sebagai suatu atribut dalam relasi untuk mendapatkan informasi dari sisi yang wajib. K1SUSini terlihat dalam gambar7.4. Alasannya adalah tidak adanya hampa (null) dalam relasi FACULTY dalam gambar 7.4 yaitu diasumsikan setiap anggota fakultas harus mengajar tepat satu mata kuliah. (Catatan jika seorang anggota dapt mengajar lebih dari satu mata kuliah, maka akan hargaharga akan muncul berulang dalam field fname dan fphone untuk semua fakultas yang mengjarkan lebih dari satu mata kuliah.) Ini sangat penting untuk menegaskan kata NONE, yang muncul sebagai suatu harga dalam field preq dalam gambar 7.4, adalah harga yang benar, bukan suatu harga hampa. Aturan pengembangan relasi kedua kita mulai sekarang : Aturan 2: Tingkatan dari suatu hubungan binar adalah 1:1 dengan kelas keanggotaan dari satu entitas wajib, dan yang lainnya tidak wajib, dua relasi diwajibkan. Harus ada satu relasi untuk setiap entitas, dengan kunci entitas yang melayani sebagai kunci primer untuk relasi yang bersesuaian. Lagi pula, kunci entitas dari sisi yang wajib harus ditambahkan sebagai suatu atribut dalam relasi pada sisi wajib. Menggunakan aturan ini, relasi-relasi untuk keadaan pada gambar 6.3(c) dan 6.4(c), dimana kelas keanggotaan dari COURSE adalah wajib tetapi FACULTY tidak, adalah FACULTY !.fnQ,fname, fphone) COURSE (rnQ, preq) FACULTY(fnQ, fname, fphon) COURSE(rnQ, preq) FACULTY fno
fname
fphone
cno
cno
Fl F2 F3
Smith Jones Hoppe
2345 2233 6543
HRD348 PHYI09 CIS130
CIS 130 HRD348 MTH234 PHY109
Gambar 7.4
I preq MTH120 HRD100 MTH150 NONE
Contoh dari dua relasi untuk mendapatkan data yang berhubungan dengan gambar 6.3 (b) dan 6.4 (b).
Pada kasus ini tingkatan dari hubungan binar 1:1dan kelas keanggotaan bukan entitas adalah wajib, satu relasi tidak cukup. Jika hanya satu relasi yang digunakan, harga-harga hampa akan muncul dalam dua cara yang berbeda. Juga, dua relasi tidak cukup, karena pemetaan dari kunci entitas dari satu entitas kedalam relasi yang berlawanan menyebabkan masalah-masalah. Hanya penyelesaian dengan mengunakan tigarelasi: satu untuk setiap entitas, dan satu untuk hubungan. Gambar 7.5 memberikan cO!1toh-contohpipe penyelesaian dari penggunaan dari satu, dua dan tiga relasi dalam beberapa kasus (lihat Gambar 6.3 (a) dan 6.4 (a». Disini hampa muncul dalam tetapi kasus dimana tiga relasi digunakan. 72
~te<\
----
\\RD3A'O C\S\3()
1'\\'£ \ ()9 1-A,\\\~3A
~---~\\\~() ~O~ ~\\\5()
;~~.
atr. GU LA\ gan,
,
1-J\'\\\\ ~() \\RD\OO C\s \ 3() 1-A,\\\\5() \\RD3A'O NO~ 1-A,\\\~3A
dari se, relasi y D. ini se1an
1'\\'£ \()9 ~(J
\ ~ \\\teC-te\a\\ons.
\c) vS\,.t>
7. 3
I~ T. Dalan
yang terpisai awal. Tingko waannya untt kelas keanggc dalam kasus.
__&..1.1
75
- --
.......
Aturan pengembangan relasi ketiga sekarang dapat dimulai : Aturan 3: Tingkatan dari suatu hubungan binar adalah 1:1 dengan kelas keanggotaan dari entitas yang tidak wajib, tiga relasi tersebut adalah : satu untuk setiap entitas, dengan kunci entitas yang disediakan sebagai kunci primer untuk relasi yang bersesuaian, dan satu untuk hubungan. Hubungan yang ada diantara atribut-atribut kunci entitas dari setiap entitas. Pada kasus dalam diskusikan, relasi TEACH, yang dibentuk dari hubungan, tidak memiliki atribut-atribut yang diberikan kebutuhan lain untuk kunci. Ini tidak selalu kasus. Sebagai contoh,jika setiap kurusus ada pengajar yang memiliki seorang asistefl (pemberi tutor), nama asisten adalah suatu atribut yang akan muncul dalam relasi TEACH.
7.2
CONTOH MASALAH ER PERTAMA PENDEFINISIAN MASALAH
Suatu database dirancang untuk mendapatkan informasi pada pemandu pemancing profesional dari Northern Minesota dan danau-danau tempal mereka beroperasi. Persatuan pemandu International mengijinkan suatu jumlah maksimum dari suatu pemandu profesional di setiap danau dan, dengan suatu peIjanjian bersama diantara pemandu, setiap pemandu beroperasi tidak hanya di satu danau. Atributatributnya adalah : namapemandu (gname), nomortelepon (phone), biaya (fee) dan jumlah maksimum orang yang diijinkan dalam suatu pesta pemancingan (size), nama danau (lname), peniloaian pemancing (ratng), dan type utama dari penangkapan ikan di danau (type). PENYELESAIAN MASALAH Entiatas disini adalah GUIDE dan LAKE dengan hubungan diantaranya adalah OPERATE_IN. Type ER dan type diagram-diagram pada gambar 76. Asumsi yang dibuat didalam diagram-diagram ini adalah semua pemandu yang bekerja, nama pemandu adalah unik, nama danau adalah unik, dan beberapa danau yang menarik tidak memiliki pemandu profesional. Karena tingkatan hubungan adalah 1:1, dengan kelas keanggotaan dari satu entitas yang wajib dimana yanng lain tidak wajib, RULE 2 digunakan untuk relasirelasi awal : GUIDE(gname, ,lname) LAKE(lname, )
74
-
..
Pada relasi TEACH dalam Gambar 7.5(c), setiap harga nomocfakultas dan setiap nomockursus muncul hanya sekali, karena tingkatannya adalah 1:1. TEACH hanya memberikan nomockursus untuk kursus-kursus tersebut ada pengajar, dan hanya nomor_fakultas untuk fakultas tersebut yang mengajar suatu matakuliah. Relasi FACULTY memberikan informasi pada semua anggota fakultas, dan relasi COURSE memberikan informasi untuk semua kursus.
FACULTY
fno
fname
fphone
cno
preq
Fl F2 F3 F4 -
Smith Jones
2345 2233 6543 7766
HRD348
HRE 100
CIS 130 PHY109 MTH234
MTH120
Hoppe Apple -
-
NONE MTH150
(a) Using one relation. FACULTY
COURSE cno
Fl F2 F3 F4
Smith Jones Hoppe Apple
2345 2233 6543 7766
HRD348 CIS 130 PHY 109
~
CIS 130 HRD348 MTH234 PHY109
preq MTH120 HRD100 MTH150 NONE
B F3 Fl
F4
(b) Using two relations FACULTY
COURSE
B
fname
fphone
Fl F2
Smith Jnones
F3
Hoppe Apple
2345 2233 6543 7766
I
cno rCIS130 HRD348 MTH234 PHYI09
TEACH preq
I
~ I
MTH120 HRDlOO MTH150 NONE
Fl F3 F4
cno I
HRD348 CIS130 PHYI09
(c) Using three relations.
Gambar 7.5
Bentuk-xntuk relasi yang mungkin untuk hubungan binar , denganting~\Han1:1dan keduakelaskeanggotaannyawajib.
73
LAKE One Moose Knife Alice
GUIDE Smith Jones Ray Mary
Pagamy Bass (a)
gname, ...
lname, Olher allribules : phone, fee, size, ralfig, lype. (b)
Gambar 7.6
(a) Peristiwa ER dan (b) tipe diagram untuk contoh masalah ER pertama
Disini tidak ada masalah untuk mendapatkan suatu 'tempat' untuk atributatribut tersebut tidak digunakan sebagai kunci entitas: phone, size, dan fee dari relasi GUIDE, karena mengandung pemandu informasi; dan ratng dan tipe dalam relasi LAKE, karena mereka mendapatkan informasi tentang danau-danau. Usuianrancangan adalah : GUIDE(gname, phone, size, fee, name)
LAKE(name,ratng,type) . Gambar 7.7 memberikan diagram FD untuk setiap.relasi, yang diperlihatkan dari setiap relasi adalah dalam BCNF. Gambar 7.8 memberikan model dari relasirelasi yang digunakan untuk database. Database yang sarnaini akan dianalisis dengan asumsi yang berbeda dalam bab ini selanjutnya.
7.
3RELASI-RELASI
AWAL UNTUK HUBUNGAN BINAR TINGKATAN 1 : N
Dalam keadaan ini tingkatan dari hubungan binar I: 1, mendapatkan 3 aturan yang terpisah untuk menentukan pembentukan dari suatu himpunan dari relasi-relasi awal. Tingkatan dari relasi binar adalah 1:n, hanya dua aturan yang wajib. Keistimewaannya untuk menentukan aturan yang mana dari kedua untuk digunakan adalah kelas keanggotaan dari n: kelas keanggotaan dari 1 tidak mempengaruhi hasil akhir dalam kasus. 75 -
-
Gambar 7.9(b) adalah suatu relasi tunggal,COURSE, yang mendapatkan data
dartGarnbarO.j(C)dano.6(~).Tip; Qi~er~rn"wiQ~mbN" Q,Q~C) diulanoi lal)i disini untuk jelasnya. Pada kasus ini tingkatannya adalah l:n dengan kelas keanggotaan dari sisi-n wajib dan sisi-l tidak wajib. Tidak ada dua masalah yang sarna dalam relasi ini. Hampa muncul dalam field atribut khusus di mana anggota fakultas tidak mengajar satu kelas; ada pengulangan field-field dari data fakultas dalam kasus tersebut satu anggota fakultas mengajar lebih dari satu kelas. (Secara khusus, informasi anggota fakultas F5 muncul 3 kali). Jika sisi-l adalah wajib, hampa akan hHang.,tetapi pengulangan kelompok-kelompok data dalam field-field atribut fakultas .akan tetap.
(a) Garnbar 7.7 Diagram FD untuk relasi dalam contoh masalah ER pertama (a) GUIDE dan (b) LAKE GUIDE LAKE gname
phone
Jnones Mary Ray Smith
234-6789 234-8765 234-8765 234-7766
fee
size
Iname
50 45 55 55
4 .3 4 4
Moose Knife One Bass
I
Iname Alice Bass Moose Knife One Pagamy
I
ratng
good excel avg poor good avg
~
bass walleye n-pike n_pike perch sm_bass
Garnbar 7.8 Contoh-contoh dari relasi GUIDE dan LAKE Untuk menyelesaikan semua masalah ini, tanpa memperhatikan kelas keanggotaan dari sisi- ~,berikut ini dapat diikuti aturan : Aturan 4 : Tingkatan relasi binar adalah l:n dengan kelas keanggotaan sisi-n wajib, .
dua relasi yang diwajibkan: satu imtuk setiap entitas, dengan kunci entitas dari setiap entitas melayani sebagai kunci primet untuk relasi yang bersesuaian. Lagi pula, kunci entitas dari sisi-l hams ditambahkan sebagai suatu atribut dalam relasi pada sisi-n.
76
FACULTY fi!Q, ...
£!!Q, ...
COURSE cno
preq
fno
fname
fphone
CIS 130 MTH234 PHY 109 HRD348 MUS333 MTH257 PHY456 -
MTHI20 MTHI50 NONE HRD100 MUS 100 MTH234 PHYI09 -
F3 FI F2 F5 F5 F5 F7 F4 F6
Hoppe Smith Jones SCOtl SCOtl SCOtl Poppy Apple Caine
6543 2345 2233 4356 4356 4356 8122 7766 5492
1(b)
Gambar 7.9
Menggunakan satu relasi untuk l:n hubungan binar dengan kelas keanggotaan dari sisi-n wajib dan sisi-l tidak wajib.
Gambar 7.10 memberikan contoh dari dua relasi yang dikembangakan dengan menggunakan aturan ini dan mendapatkan informasi yang sama seperti yang ada dalam gambar 7.9. Perhatian semua hampa dan kelompok-kelompok data berulang dihilangkan. COURSE FACULTY [
, preq cno I, fno CIS 130 MTH120 F3 MTH234 MTHI50 FI F2 PHY 109 NONE HRDI00 HRD348 F5 MUS333 MUS 100 F5 MTH257 MTH234 F5 PHY 109 PHY456 F7 )
,
fno FI F2 F3 F4 F5 F6 F7
fname Smith Jones Hope Apple SCOtl Caine Poppy
.
fphone 2345 2233 6543 7766 4356 5492 8122
I
Gambar 7.10 Data darigambar7.9ditempatkandalam duarelasimenggunakan Aturan 4 Gambar 7.11(b) adalah suatu contoh relasi tunggal, COURSE, yang mendapatkan datadari gambar6.5(a) dan 6.6(a). Tipediagramdarigambar6.6(a) diulangi di sini untuk lebih jelasnya. Dalam kasus ini tingkatannya adalah l:n dengan kelas keanggotaannya tidak wajib. Ada tiga masalah dari relasi-relasi ini. Hampa muncul dalam field atribut kursus dimana anggota fakultas tidak mengajar suatu kelas, dan 77
field fakultas tersebut tidak ada yang mengajar. Lagi pula, ada field-field yang berulang dari data fakultas dalam kasus tersebut suatu anggota fakultas mengajar lebih dari satu kelas. (Secara khusus, informasi anggota dari anggota fakultas F2 muncul dua kali, dan informasi anggota fakultas F5 muncul3 kali). Jika sisi-I adalah wajib, hampa dalam field kursus akan hilang, tetapi hampa dan pengulangan kelompok data dalam field fakultas akan tetap. 1 FACULTY
f!!2.... COURSE cno
preq
fno
fname
fphone
CIS 130 MTH234 PHYI09 HRD348 MUS333 MTH257 PHY456
MTH120 MTH150 NONE HRDIOO MUS100 MTH234 PHYI09
F3 Fl F2 F5
Hoppe Jones Jones Scott
6543 2233 2233 4356
F5 F5
Scott Scott
4356 4356
FI F4
Smith Apple
2345 7766
F6
Poppy
8122
-
-
-
-
-
-
-
(b)
Gambar 7.11 Menggunakan satu relasi untuk hubungan binar I:n dengan kelas keanggotaan tidak wajib. Jika aturan 4 diaplikasikan dalam kasus ini, menghasilkan dua rel;isiyang s:ama dalam gambar7.1 0, semua masalah akan hilang kecuali sa1o;akan tetap harr.padalam field nomor_fakultas dalam relasi COURSE yang menempati suatu kUIi;SUSyang tidak mengajar. Suatu contoh yang memperlihatkan ini, gambar 7.12. Untuk mengelesaikan masalah-masalah ini, tanpa memperhcuikan kelas keanggotaan sisi-I, aturan berikut ini dapat diikuti : Aturan 5 : Tingkatan dari hubungan binar adalah l:n dengan kelas keanggotaan dari sisi-n tidak wajib, tiga relasi tersebut wajib: satu untuk setiap entitas, dengan kunci entitas dari setiap entitas dilayani sebagai kunci primer untuk relasi yang bersesuaian, dan satu untuk hubungannya. Hubungan akan dimiliki diantara atribut-atribut kunci entitas dari setiap entitas. Gambar 7.13 memberikan contoh tiga relasi yang dikembangkan dengan menggunkan aturan ini untuk mendapatkan informasi yang sarnadalam gambar 7.11. Semua hampa dam kelompok-kelompok data berulang dihilangkan. 78
FACULTY
COURSE cno ]
CIS 130 MTH234 PHY 109 HRD348 MUS333 MTH257 PHY456
preq MTH120 MTH 150 NONE HRDIOO MUS100 MTH234 PHY 109
I
fno
fno
fname
FI F2 F3 F4 F5 F6 F7
F3 FI F2 F5 F5 F5 F7
Smith Jones Hope Apple Scott Caine Poppy
[phone 2345 2233 6543 7766 4356 5492 8122
I
Gambar 7.12 Data dari gambar 7.11 dibuat kedalam dua relasi dengan menggunakan aturan 4. COURSE
FACULTY
~
cno CIS 130 MTH234 PHY 109 HRD348 MUS333 MTH257 PHY456
MTH120 MTH 150 NONE HRDIOO MUS 100 MTH234 PHYI09
r-~ FI F2 F3 F4 F5 F6 F7
fname Smith Jones Hoppe Apple Scott Caine Popy
TEACH
I
fphone 2345 2233 6543 7766 4356 5492 8122
l
~r
cno
F2 F2 F3 F5 F5 F5
MTH234 PH Y109 CIS 130
HRD348
_
MTH257 PHY456
cno adalah kunci primer n:I perhubungan antara cno dan fno Gambar 7.13Data dari gambar 7.11 dibuat kedalam tiga relasi dengan menggunakan aturan 5.
7. 4
RELASI-RELASI AWAL UNTUK HUBUNGAN BINAR TINGKATAN M:N
Ketika derajat dari binary relasional adalah m:n ketiga relasi ini yang diminta tersebut disimpan sebagai data, tanpa memperhatikan kelas keanggotaan dari masing-masing entitas jika satu atau dua relasi di gunakan kosong d~n atau kelompok yang diulang dari data akan muncul dalam relasi relasi tersebut: sehingga menimbulkan dua problema, jiak hanya dua relasi yang digunakan, masalah yang timbul tergantung atas kelas keanggotaan dari dua entitas aturan berikut dalam hal untuk mempersipkan relasi-relasi yang akan dihasilkan untuk kasus m:n adalah aturan 6: jika derajat dari relasi binary adalah m:n, tiga relasi akan dibutuhkan : satu untuk setiap entitas, dengan kunci entitas dari setiap entitas sebagai ki.Jnciprimer untuk relasi yang saling berhubungan, dan satu untuk relasi semuanya. Relasi dari kumpulan relasi akan mempunyai di antara atribut-atributnya kunci entitas dari tiaptiap entitas. 79
Gambar 7.14 memberikan contoh tentang relasi-relasi yang berisi data yang dipakai pada gambar 6.9(a) (derajat m:n dengan tak ada anggota kelas yang tetap). Catatan bahwa tak ada hasil, atau mengulangi kelompok-kelompok data, ada disetiap contoh. Contoh relasi-relasi untuk mendapatkan data yang sarna untuk satu atau kedua kelas keanggotaan adalah wajib. Pembaca harus menggambarkan contohcontoh relasi untuk mendapatkan data yang sarna ini, untuk menggambarkan alasan-
alasanmengapaketigarelasitersebutwajib.
7. 5
.
CONTOH MASALAH ER KEDUA PENDEFINISIAN MASALAH
Suatu perluasan dari masalah pemandu penangkapan ikan didefinisikan dalam bab 7.2. Suatu database dirancang untuk mendapatkan informasi pada pemandu penangkapan ikan di Northern Minesota dan danau-danau demana mereka beroperasi. Persatuan pemandu penangkapan ikan international mengijinkan beberapa pemandu profesional untuk beroperasi pada danau yang sarna, tetapi, berdasarkan persetujuan diantara pemandu, setiap pemandu beroperasi hanya pada satu danau. Penangkap ikan yang menyewa pemandu tertarik pada macam-macam ikan yang ada di setiap danau, ikan yang eterbesar dari setiap tipediambil pada bagian ini, dan macam umpan yang ditentukan oleh perkumpulan adalah umpan yang baik untuk setiap jenis ikan didaerah itu. Anribut-atribut adalah nama pemanandu (gname), nomor telepon (phone), ongkos harian (fee), nama danau tempat pemandu beroperasi (lname) dan jumlah maksimum dari orang yang ikut dalam suatu pesta pemancingan ikan (size), nilai pemancingan disetiap danau (ratng) dan jenis-jenis ikan utama yang diambil disetiap danau (type), berat ikan terbesar dari setiap tipe yang diambil dalam daerah (wbig), dan umpan yang terbaik untuk setiap jenis ikan (bait). COURSE
FACULTY
cno J
CIS 130 MTH234 PHYI09 HRD348 MUS333 MTH257 PHY456
preq MTH120 MTHI50 NONE HRDlOO MUS100 MTH234 PHY 109
~ FI F2 F3 F4 F5 F6 F7
fname Smith Jones Hoppe Apple Scott Caine Popy
TEACH I
fphone 2345 2233 6543 7766 4356 5492 8122
I
,
fno FI F3 F3 F3 F5 F6
[,
. cno PHY 109 CIS 130 PHY 109 MUS 133 PHYI09 MTH257
This relation is "all key",
Gambar 7.14. Data dalam Gambar 6.9(a) ditempatkan kedalam tiga relasi dengan menggunakan Aturan 6.
80
PENYELESAIAN MASALAH Entitas-entitasdariGUIDE, LAKE,danFISH, denganhubunganOPERATE_IN dan HAS, diperlihatkan pada gambar 7.15, dimana tipe diagram dan suatu diagram yang terjadi. GUIDE Smith
OPERATE_IN
LAKE One
Jones Ray
HAS
FISH walleye n_pike
Alice
perch sm_bass
Mary
bass (a) 1
gname, ...
lname,...
type, ...
(b)
Gambar 7.15 (a) kejadian ER dan (b) tipe diagram ER untuk contoh masalah ER yang kedua. Dua hubungan yang ada; satu n: 1 dan yang lain m:n. Aturan 4 dan 6 hams diaplikasikan, dan empat relasi pertama akan menghasilkan : satu relasi awal untuk setiap entitas, dan satu untuk hubungan HAS. Lagi pula, atribut lname dari LAKE hams ditambahkan ke relasi GUIDE (dari aturan 4). HasHdari relasi awal adalah GUIDE(gname, ,lname) LAKE(1name, ) LK_FSH(1name.type, ) FISH(~, ) dimana relasi awal dari HAS memiliki nama LK_FSll Seperti kasus dalam contoh masalah ER yang pertama, tidak ada masalah dalam menempatkan atribut-atribut tersebut adalah bukan bagian dari suatu kunci entitas kedalam relasi awal untuk bentuk akhir: phone, fee, dan size adalah milik entitas GUIDE dan pergi ke relasi. ratng adalah milik dari LAKE, ketika bait dan wbig semuanya berhubungan dengan FISH. Hanya relasi awal yang tidak mendapatkan tambahan atribut adalah LK_FSH, menjadi semua kunci. GUIDE(gname, phone, fee, size, lname) LAKE(lname, ratng) LK_FSH(lname. type) FISH(~, wbig, bait) 81
Gambar 7.16 memberikan diagram FD untuk setiap relasi. Setiap relasi sudah
dalamBCNFI makatidakadareduksiyangwajib.Jenis-jeniscontohdiberikandalam gambar 7.17.
(b)
C rabtg )
C type)
(c) Gambar 7. 16 Diagram FD untuk (a) GUIDE, (b) LAKE, (c) LK_FSH dan (d) FISH untuk gambar 7. 15 GUIDE
LAKE
gname
phone
fee
size
lname
Jones
234789 234-8765 234-8765 234-7766
50 45 55 55
4 3 4 4
Moose Knife One Bass
I
Mary Ray Smith
lname Alice Bass Moose Knife One
I
rabtg good excel avg poor good
FISH
One One One Moose Knife alice Alice Bass Knife
walleye n_pike perch n-pike "-pike bass perch bass sm_bass
type
wbig
bass
6.5 27.5 0.75 4.25 12.8
n_pike perch sm_bass walleye
pis_worn spoon worn leech crawler
Gambar 7. 17 Contoh tipe dari relasi yang dibicarakan dalam contoh masalah ER nom or dua.
82
bait
Pembaca berkeinginan untuk m~nentukanpercabangan dari setiap pernbahan berikut ini untuk penyelesaian masalah yang didiskusikan : 1. Pemandu dapat beroperasi dibeberapa danau; 2. Keinginan untuk menyimpan informasi pad asemua umpan yang bekerja pada jenis ikan yang diberikan, bukan yang terbaik.
7.6
DATABASE SEKRETARIS DIKUNJUNGI KEMBALI
BOWLING
YANG
Gambar 17.18 Memberikan suatu usaha penama pada suatu diagram tipe ER untuk database sekretaris bowling yang didiskusikan lebih terinci pada bab 5. Tiga entitas dan 2 hubungan binar diasumsikan menjadi suatu model informasi. BOWLER
m
Bname, ...
.
SCHEDULE
Lane,Week,... Other attributes:
Phone, Stret, Stavg, Tname Captn, Gamel, Game2, Game3.
GambarR 7.18 Suatu diagram tipeER yang mungkin untuk database sekretaris bolwing. Penggunaan diagram ini, dan aturan untuk pengembangan relasi di bicarakan kemudian dalam bab ini, 3 relasi pertama dapat di kembangkan. Entitas-entitas BOWLER, TEAM, dan SCHEDULE masing-masing menghasilkan satu relasi: Lagi pula, kunci entitas (Tnumb) dari TEAM hams ditempatkan sebagai suatu atribut pada dua relasi lainnya, karena hubungan l:n yang ada diantara TEAM dan entitas lainnya. Tiga relasi pertama adalah BOWLER(Bname, ..,Tnumb) TEAM(Tnum, ) SCHEDULE(Lane.Week,Tnumb) Tempat-tempat logika untuk menentukan atribut-utribut yang lain, yang terdaftar dalam gambar 7.18, sebagai berikut : Tname dan Captn harns pergi ke dalam TEAM, karena atribut-atribut ini adalah nama tim dan kapten tim; Phone, Stret, dan Stavg ke dalam BOWLER, karena mereka mendapatkan informasi pada bowlers. Tidak ada tempat yang baik untuk meletakan Game 1, Game2,.dan Game3. Pada pandangan sekilas pertama, akan muncuk dan diharuskan juga ke dalam BOWLER, tetapi skor permainan kehilangan beberapa arti ketika tidak diketahui dalam minggu yang mana pertandingan adalah bola. Bagaimanapun, Minggu tidak dapat ditam;bahkan ke dalam BOWLER, karena tidak muncul pada daftar yang memberikan 83
atribut-atribut. Keadaan ini menunjukkan bahwa harns ada suatu kesalahan dalam tiagram tipe ER. Itu memungkinkan suatu pengubah dari diagram tipe ER yang dihasilkan dalam relasi-relasi awal yang mengerjakan relasi BCNF secara langsung. Diagram tipe ER diberikan pada Gambar 7.1 adalah suatu diagram. Hal tersebut dikembangkan dengan menggunakan hasil-hasil dari diskusi sebelumnya seperti pemandu. Entitas baru disini adalah SCORES, dan memiliki kunci entitas yang tersusun
. Relasi-relasi pertama dikembangkan dari Gambar 7.1 adalah BOWLER(Bname, ,Tnumb) TEAM(Tnumb, ) SCHEDULE(Lane.Week,Tnumb) SCORES(Bname.Week,.. ,Bname) Suatu titik yang menarik muncul dalam relasi pertama SCORES: Bname muncul dua kali; sekali ketika bagian dari kunci entitas untuk SCORES, dan sekali pada penempatan dari kunci entitas dari BOWLER. kedalam SCORES, seperti diperintah oleh I:n hubungan antara entitas BOWLER dan SCORES. Ini terjadi adakalanya suatu kunci entitas ada pada sisi-n dari hubungan 1:n. Semua kebutuhan untuk dikerjakan pada kasus ini untuk menggagalkan satu dari dua atribut-atribut duplikat, untuk menghindari kerangkapan. Suatu arah memiliki tempat sampai Bname untuk menunjukkan Bname terakhir untuk menunjukkan harns dihilangkan. Ketika atribut-atribut yang tinggal ditambahkan untuk kelompok terakhir dari relasi-relasi pertama, empat relasi BCNF yang sarnadikembangkan dalam bab 5 telah dikembangkan. Contoh ini menggambarkan kenyataan diagram tipe ER mungkin disusun melewati suatu proses iterasi.
7. 7
SUATU KOMENTAR PADA JUMLAH RELASI-RELASI
Aturan-aturan urnurn yang diberikan pada bab ini untuk pembentukan relasirelasi pertama untuk suatu diagram ER yang diberikan agak berbeda dari beberapa presentasi yang didapatkan dalam literatur. Beberapa penulis yang satu relasi awal harus dikembangkan untuk setiap entitas dan satu untuk setiap hubungan, tanpa memperhatikan derajad/tingkat dan kelas keanggotaan. Dalam banyak kasus metoda ini akan menghasilkan relasi-relasi lain yang dibuthkan.
84
7. 8
MASALAH-MASALAHUNTUKBAB 7
1. Kembangkan relasi-relasi untuk setiap tipe diagram dari Masalah 2 dalam bab 6. 2. Gambarkan kembali bagian BOWLER HAS SCORES dari diagram ER pada Gambar 7.1 dengan asumsi kunci entitas dari entitas SCORES adalah (a) <Week,Gamel,Game2,Game3>
dan (b)
Gambar suatu tipe diagram yang terjadi dalaQ"lsetiap kasus. Kembangkan relasi-relasi pertama dan bicarakan masalah-masalah yang berhubungan dengan pekerjaan dari atribut-atribut lain.
85