Bab7 pengembangan relasi-relasi-dari_diagram_tipe_er
1. 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 (enter-
prise). 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
2. 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 men-
dapatkan infonnasi yang terkandung dalam hubungan-hubungan binar dengan ting-
kat 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 ditam-
bahkan untuk entitas COURSE: prasyarat (preq).
70
3. FACULTY (fuQ, fname, fphone, cno, preq)
FACULTY
fno fname fphone cno preq
FI Smith 2345 HRD348 HRDIOO
F2 Jones 2233 PHYI09 NONE
F3 Hoppe 6543 CS1130 MTHl20
F4 Apple 7766 MTH234 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
fname fphone cno preq
fno I
FI Smith 2345 HRD348 HRDIOO
F2 Jones 2233 PHYI09 NONE
F3 Hoppe 6543 CS1130 MTHl20
- - - MTH234 MTHl50
Gambar 7.3 Contoh dari suatu relasi tunggal mendapatkan data dari gambar
6.3(b) dan 6.4(b).
Beberapa pemikiran, dapat menjadi kesimpulan yaitu earn untuk menghi-
langkan data hampa dengan menggunakan dua relasi. Setiap relasi akan men-
dapatkan informasi dari satu entitas. Lagi pula, kunci entitas dari sisi yang tidak
71
4. wajib harus ditempatkan sebagai suatu atribut dalam relasi untuk mendapatkan
informasi dari sisi yang wajib. K1SUSni terlihat dalam gambar7.4. Alasannya adalah
i
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 harga-
harga 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 keanggo-
taan 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 bers-
esuaian. 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 I preq
Fl Smith 2345 HRD348 CIS 130 MTH120
F2 Jones 2233 PHYI09 HRD348 HRD100
F3 Hoppe 6543 CIS130 MTH234 MTH150
PHY109 NONE
Gambar 7.4 Contoh dari dua relasi untuk mendapatkan data yang berhubun-
gan 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 men-
gunakan tigarelasi: satu untuk setiap entitas, dan satu untuk hubungan. Gambar 7.5
memberikan cO!1toh-contoh pipe 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
5. ~te<
~
----
----
RD3A'O
CS3()
~~()
~O~
1''£ ()9 ~5()
1-A,~3A
;~~.
atr.
GU
LA
gan,
, 1-J' ~()
dari se, Cs 3() RDOO
relasi y RD3A'O 1-A,5()
D. 1-A,~3A NO~
ini se1an 1''£ ()9 ~ teC-teaons.
~(J
c) vS,.t>
7. 3 I~
T.
Dalan
yang terpisai
awal. Tingko __&..1.1
waannya untt
kelas keanggc
dalam kasus.
75
- --
6. .......
Aturan pengembangan relasi ketiga sekarang dapat dimulai :
Aturan 3: Tingkatan dari suatu hubungan binar adalah 1:1dengan kelas keanggo-
taan 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 pe-
mancing 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. Atribut-
atributnya 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 relasi-
relasi awal :
GUIDE(gname, ,lname)
LAKE(lname, )
74
7. - ..
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 Smith 2345 HRD348 HRE 100
F2 Jones 2233
F3 Hoppe 6543 CIS 130 MTH120
F4 Apple 7766 PHY109 NONE
- - - MTH234 MTH150
(a) Using one relation.
FACULTY COURSE
Fl Smith 2345
cno
HRD348
~ CIS 130
preq
MTH120
B F3
F2 Jones 2233 HRD348 HRD100 Fl
F3 Hoppe 6543 CIS 130 MTH234 MTH150 -
F4 Apple 7766 PHY 109 PHY109 NONE F4
(b) Using two relations
FACULTY COURSE TEACH
BFl
fname
Smith
fphone
2345
I I
r-
cno
CIS130
preq
MTH120
~
I
Fl
I
cno
HRD348
F2 Jnones 2233 HRD348 HRDlOO F3 CIS130
F3 Hoppe 6543 MTH234 MTH150 F4 PHYI09
Apple 7766 PHYI09 NONE
(c) Using three relations.
Gambar 7.5 Bentuk-xntuk relasi yang mungkin untuk hubungan binar
, denganting~Han
1:1dan keduakelaskeanggotaannyawajib.
73
8. GUIDE LAKE
Smith One
Jones Moose
Ray Knife
Mary Alice
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 atribut-
atribut 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. Usuianrancan-
gan 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 relasi-
relasi 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. Keistime-
waannya 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
- -
9. Gambar 7.9(b) adalah suatu relasi tunggal,COURSE, yang mendapatkan data
dartGarnbar
O.j(C) ano.6(~).Tip; Qi~er~rn"wi
d Q~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 re-
lasi 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 fakul-
tas .akan tetap.
(a)
Garnbar 7.7 Diagram FD untuk relasi dalam contoh masalah ER pertama (a)
GUIDE dan (b) LAKE
GUIDE LAKE
gname
Jnones
phone
234-6789
fee
50
size
4
Iname
Moose
I
Iname
Alice
I ratng ~
bass
good
Mary 234-8765 45 .3 Knife Bass excel walleye
Ray 234-8765 55 4 One Moose avg n-pike
Smith 234-7766 55 4 Bass Knife poor n_pike
One good perch
Pagamy avg sm_bass
Garnbar 7.8 Contoh-contoh dari relasi GUIDE dan LAKE
Untuk menyelesaikan semua masalah ini, tanpa memperhatikan kelas keanggo-
taan 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
10. FACULTY
fi!Q, ... £!!Q, ...
COURSE
cno preq fno fname fphone
CIS 130 MTHI20 F3 Hoppe 6543
MTH234 MTHI50 FI Smith 2345
PHY 109 NONE F2 Jones 2233
HRD348 HRD100 F5 SCOtl 4356
MUS333 MUS 100 F5 SCOtl 4356
MTH257 MTH234 F5 SCOtl 4356
PHY456 PHYI09 F7 Poppy 8122
- - F4 Apple 7766
- 1- F6 Caine 5492
(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 , , fno fname
[ cno ) I fno . fphone I
CIS 130 MTH120 F3 FI Smith 2345
MTH234 MTHI50 FI F2 Jones 2233
PHY 109 NONE F2 F3 Hope 6543
HRD348 HRDI00 F5 F4 Apple 7766
MUS333 MUS 100 F5 F5 SCOtl 4356
MTH257 MTH234 F5 F6 Caine 5492
PHY456 PHY 109 F7 F7 Poppy 8122
Gambar 7.10 Data darigambar7.9ditempatkandalam duarelasimenggunakan
Aturan 4
Gambar 7.11(b) adalah suatu contoh relasi tunggal, COURSE, yang men-
dapatkan 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
11. 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 MTH120 F3 Hoppe 6543
MTH234 MTH150 Fl Jones 2233
PHYI09 NONE F2 Jones 2233
HRD348 HRDIOO F5 Scott 4356
MUS333 MUS100 - - -
MTH257 MTH234 F5 Scott 4356
PHY456 PHYI09 F5 Scott 4356
- - FI Smith 2345
- - F4 Apple 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;SUS ang y
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
12. COURSE FACULTY
cno fno fname
] preq I fno [phone I
CIS 130 MTH120 F3 FI Smith 2345
MTH234 MTH 150 FI F2 Jones 2233
PHY 109 NONE F2 F3 Hope 6543
HRD348 HRDIOO F5 F4 Apple 7766
MUS333 MUS100 F5 F5 Scott 4356
MTH257 MTH234 F5 F6 Caine 5492
PHY456 PHY 109 F7 F7 Poppy 8122
Gambar 7.12 Data dari gambar 7.11 dibuat kedalam dua relasi dengan
menggunakan aturan 4.
COURSE FACULTY TEACH
cno
CIS 130
~ MTH120
r-~
FI
fname
Smith
I fphone
2345
l ~r
F2
cno
MTH234
MTH234 MTH 150 F2 Jones 2233 F2 PH Y109
PHY 109 NONE F3 Hoppe 6543 F3 CIS 130
HRD348 HRDIOO F4 Apple 7766 F5 HRD348 _
MUS333 MUS 100 F5 Scott 4356 F5 MTH257
MTH257 MTH234 F6 Caine 5492 F5 PHY456
PHY456 PHYI09 F7 Popy 8122
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 mas-
ing-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 menim-
bulkan 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 tiap-
tiap entitas.
79
13. 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 contoh-
contoh 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 pe-
nangkapan 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 TEACH
cno
CIS 130
J preq
MTH120
~
FI
fname
Smith
I fphone
2345
I
, fno
FI
,
[ cno
PHY 109
.
MTH234 MTHI50 F2 Jones 2233 F3 CIS 130
PHYI09 NONE F3 Hoppe 6543 F3 PHY 109
HRD348 HRDlOO F4 Apple 7766 F3 MUS 133
MUS333 MUS100 F5 Scott 4356 F5 PHYI09
MTH257 MTH234 F6 Caine 5492 F6 MTH257
PHY456 PHY 109 F7 Popy 8122
This relation is "all key",
Gambar 7.14. Data dalam Gambar 6.9(a) ditempatkan kedalam tiga relasi
dengan menggunakan Aturan 6.
80
14. PENYELESAIAN MASALAH
Entitas-entitasdariGUIDE, LAKE,danFISH, denganhubunganOPERATE_IN
dan HAS, diperlihatkan pada gambar 7.15, dimana tipe diagram dan suatu diagram
yang terjadi.
GUIDE OPERATE_IN LAKE HAS FISH
Smith One walleye
Jones n_pike
Ray Alice perch
Mary sm_bass
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
15. Gambar 7.16 memberikan diagram FD untuk setiap relasi. Setiap relasi sudah
dalamBCNFI makatidakadareduksiyangwajib.Jenis-jeniscontohdiberikandalam
gambar 7.17.
C rabtg )
(b)
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
I lname I rabtg
Jones 234789 50 4 Moose Alice good
Mary 234-8765 45 3 Knife Bass excel
Ray 234-8765 55 4 One Moose avg
Smith 234-7766 55 4 Bass Knife poor
One good
FISH
type wbig bait
One walleye bass 6.5 pis_worn
One n_pike n_pike 27.5 spoon
One perch perch 0.75 worn
Moose n-pike sm_bass 4.25 leech
Knife "-pike walleye 12.8 crawler
alice bass
Alice perch
Bass bass
Gambar 7. 17 Contoh tipe dari relasi yang dibi-
Knife sm_bass carakan dalam contoh masalah ER
nom or dua.
82
16. 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 BOWLING YANG
DIKUNJUNGI KEMBALI
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 . SCHEDULE
Bname, ... Lane,Week,...
Other attributes: Phone, Stret, Stavg, Tname
Captn, Gamel, Game2, Game3.
GambarR 7.18 Suatu diagram tipe ER 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 ter-
daftar 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
17. 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 <Bname,Week>.
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 relasi-
relasi 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
18. 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) <Game 1,Game2,Game3>
Gambar suatu tipe diagram yang terjadi dalaQ"l etiap kasus. Kembangkan
s
relasi-relasi pertama dan bicarakan masalah-masalah yang berhubungan dengan
pekerjaan dari atribut-atribut lain.
85