bab7 pengembangan relasi relasi dari diagram tipe er

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