TAMBAHAN KONSTRUKSI METODE ER
palam bab 6 dan 7, suatu cara untuk membentuk relasi database menggunakan hubungan binar yang telah dikembangkan. Walaupun banyak situasi didunia-nyata dapat menjadi sifat-sifat hanya menggunakan hubungan binar, keadaan akan timbul pada suatu model dari perusahan tidak dapat ditentukan tanpa penggunaan konstuksi tambahan. Bab ini akan memperkenalkan dua metode pembentuk ER yang baru; hubungan ti.ngkatan-teninggidan Aturan-aturan.
8.1
PERLUNYA KETERKAITAN SUSUNAN YANG LEBIH TINGGI
Dalam bab 7 dua buah contoh masalah telah diselidiki dengan menggunakan metode ER. Kedua contoh tersebut didasarkan pada pentingnya memperjelas iuformasi dalam memancing petunjuk, Lakes yang merupakan petunjuk operasional dan jenis-jenis pemancing yang adadalam Lakes. Anggap saja seperti pada saat seseorang ingin menyewa seorang pemandu yang mengetahui tipe utama pancingan yang mana pemandu tersebut.ingin memilih pancingan. Melihat kejadian pada diagram 7, seorang akan tergoda untuk menarik kesimpulan bahwa sejak Smith mengoperasikan Lakes One dan sejak Lakes One mempunyai walleye, pike bagian utama dan ukuran jarak, kesemuanya ini berlanjut bahwa 86
Smith suka memancing walleye, pike bagian utara dan u~uranjarak. Hal ini mungkin benar mungkin juga tidak. Bahwa mungkin Smith hanya ingin memberi petunjuk pada orang yang ingin memancing untuk walleye. Apabila hungan guide dan fish ada maka hubungan ini akan disebut prefers, dan aka terlihat pada kedua tipe itujuga pada diagram peristiwa, sepeni apa yang digambarkan pada 8.1. Dalam gambar 8.1 tanda putus-putus digunakan kejadian hubungan PREFERS yang akan membuat lebuh jelas. Sebagai tambahan untuk menghindari susunan yang ruwet dan hanya beberapa peristiwa saja yang diperlihatkan. Diagram peristiwa ini memperlihatkan bahwa Smith mengoperasikan Lakes One, Lakes One memegang tiga jenis Fish dan Smith lebih suka memancing untuk walleye, sesuai dengan kenyataan bahwa tingkat keterkaitan GUIDE dan FISH adalah n: 1, dan sejak guide-guide dipancing disatu lake, tidak ada lagi kesimpangsiuran yang memberi petunjuk anda yang akan menggunakannya didalam lake apabila anda ingin FISH memberikan jenis-jenis fish. Kenyataannya, apabila anda membangkitkan hubungan yang akan digunakan pada situasi diagram 8.1, anda akan mendapatkan hanya perubahan permintaan dalam hubungan yang diperlihatkan dalam diagram 7.17 yang merupakan jenis standard dari FISH yang ditambahkan hubungan dengan GUIDE. Tanda ini menunjukkanjenis fish lebih suka diberi guide. Makadalam perluasan contoh keterkaitan sistem bin~rmasih merupakan contoh yang tepat dari situasi tersebut. . GUIDE
------
LAKE
I
/'
Smith ~ Jones ~
~
,\
One
/
~
Moose
-
~
walleye
~
Alice
Ray
FISH ..........
-------
n_pike
.;'
perch
(a)
GUIDE &illl!!!!<....
n
LAKE Iname, ... (b)
n.81
FISH
~,...
Gambar 8. 1 {a) Kejadian ER dan, (b) Diagram tipe ER jika pemandu memiliki ikan pilihan 87
Jika masalah lebih jauh di modifikasi, bagaimanapun, dapat diperlihatkan hubungan binar yang tidak memperbaiki model situasi. Sekarang asumsikan pemandu beroperasi pada lebih dari satu danau, dan seorang pemandu lebih suka memancing satu jenis ikan pada satu danau, tetapi ikan jenis lain pada danau lain. Sebagai contoh, Smith lebih suka memancing Walleye pada danau One, tetapi untuk northern pike pada danau Moose. Jones, untuk contoh kedua, mungkin beroperasi hanya beroperasi pada danau Moose dan lebih suka memancing jenis ikan nothern pike. Kelompok-kelompok data, dapat state sebagai berikut : Smith beroperasi di dua danau Satu dan danau Moose. Jones beropesari hanya pada danau Moose. Smith lebih suka walleye pada danau One. Smith lebih suka n_pike pada danau Moose. Jones lebih suka n_pike pada danau Moose. Diagram kejadian ER, menghubungkan binary yang hanya berisi lima macam data, lihat gambar 8.2. Hal yang terpenting yang kita lihat disini, meskipun informasi tersebut memberi informasi lain Smith dan Jones dapat melihatnya di diagram, ia dapat mengambil kesimpulan dari Smith Frefers didalam Lakes One belum tentu benar semuanya ! Masalahnya berawal dari faktor hubungan yang mempunyai tingkat dari m;n , bagaimana maksudnya mereka tidak mempunyai jalan dalam persediaan tunggal yang siap dikenalkan dalam tiga perwujudan kejadian yang selamanya akan menjadi tunggal. Sebuah petunjuk dari masalah tidak ada yang tidak dapat dipecahkan, "prefers walleye Smith di dalam Lake One" dan "prefers Smith n_pike di dalam Moose Lake" mengikat tiga informasi selamanya. Informasi yang sarna tidak qapat diamankan oleh kata "Smith guide dalam Lake One dan dalam Moose Lake"; "Lake One dan Moose Lake mempunyai walleye, northern pike dan perch"; dan "Smith prefers untuk memancing walleye dan northern pike". Situasi ini sangat rumit untuk diinformasikan dan tidak dapat ketiga binary tersebut direlasikan.
Modelyang benardapatdilihatdalamgambar8.3.
FISH
..----.
GUIDE
"~,,
LAKE------
, ,,,,' Smith
.
-.~-:
One
.................. ..........
walleye
Jones -"'
- - - - - _ ---------
(a)
88
__' -
,,'
~
perch
m
GUIDE ~,...
n'.1
Iname,... (b)
FISH
~,...
Gambar 8. 1 (a) Kejadian ER dan, (b) Tipe diagram semua hubungan dengan derajad m: n LAKE One
FISH
GUIDE Smith
walleye
Jones
"-pike (a)
LAKE
Iname,... GUIDEI.,m
.1 FISH
~,...
~,.., (b)
Gambar 8.3 (a) Kejadian ER dan, (b) Tipe diagram ER untuk tiga cara hubungan G_L_F
89
8.2
HUBUNGAN PENDAHULUAN UNTUK TIGA JALAN
HUBUNGAN Ketikaketigajalan hubungan dijumpai, hubungan pendahuluan akan dihasilkan dengan ketentuan berikut : Aturan 7 : Ketika sebuah hubungan mempunyai tiga keterkaitan empat batasan hubungan dapat diadakan : satu untuk setiap entitas dengan kunci entitas dari setiap yang bertindak sebagai kunci utama dalam hubungan koresponding dan satu untuk hubungan keterkaitan; hubungan yang ditimbulkan oleh keterkaitan itu akan mempunyai beberapa atribut dari kunci entitas untuk setiap entitas. Menggunakan ketentuan ini dengan data di figur 8.3, hubungan pendahuluan adalah : GUIDE(gname, ) LAKE(lname, ) FISH(type, ...) G_L_F(gname, lname, type,
)
Kunciprimer dari G_L_F tidak dapat ditemtukan sampai semua atribut yang lain telah disetujui. Seandainya semua atribut yang diberikan dalam fig~r 7.17 telah disetujui hubungan GUIDE akan ditandai oleh atribut berikutnya: phone, fee dan size; relasi LAKE akan diberikan hanya pada atribut, ratng; dan relasi FISH diberikan wbig dan bait. Hubungan G_L_F tidak akan ditambah lagi atributnya. Kunci primer untuk G_L_F menjadi tersusun
, jika setiap pemandu memiliki hanya satu kesukaan memancing pada suatu danau. Jika pemandu hanya dua atau lebih ikan disukai pada setiap danau, kemudian G_L_F menjadi "semua kunci". Gambar 8.4 (p.96) memberikan contoh dari empat relasi dibawah asumsi bahwa setiap pemandu memiliki satu jenis ikan yang disukai pada setiap danau dimana pemandu beroperasi. Setiap relasi-relasi ini dapat diperlihatkan dalam BCNF.
8.3
PENGGUNAAN ATURAN ATURAN
Situasi dapat timbul pada tiap entitas dan hubungan keterkaitan tidak selamanya cocok untuk model sebuah enterprise untuk hasil yang memu;lskan. Suatu situasi yang timbul ketika keadaan y:mg sarna dari suatu entitas harus diasumsikan kepada aturan yang berbeda dalam kegiatan enterprise. Sebagai contoh sebuah supplier dari alat-alat mobil akan menyimpan informasi dalam personalia pabrik.
90
LAKE
GUIDE
-
gname
phone
fee
size
Jones Mary Ray Smith
234-{i789 234-8765 234-8765 234-7766
50 45 55 55
4 3 4 4
I
Alice Moose Knife One
ratng good avg poor good
FISH
G_L_F , gname Ilname
Jones Smith Smith Ray Ray Mary
Iname
Moose Moose One One Moose Knife
[
type n_pike n_pike walleye perch n_pike sm_base
,
type
wbig
bait
bass n_pike perch sm_bass walleye
6.5 27.5 0.75 4.25 12.8
pls_wo spoon worm leech crawler
Gambar 8.4 Contoh-contoh dari relasi-relasi yang Gambar 8.3
dikembangkan dari
Ada dua golongan dari pekerja supervisor dan buruh. Supervisor digaji sedang buruh dibayar menurut jam kerja sebuah percobaan pertama pada ER diagram untuk enterprise tertera dalam figur 8.5. Kunci entitas untuk setiap entitas adalah merupakan kode-kode security untuk setiap individu. Hal ini diasumsikan tidak ada supervisor yang membawahi supervisor yang lain arau tidak ada supervisor bertindak sebagai buruh dan sebaliknya. Sejak relasi dari supervises adalah l:n dengan dua bagian yang perlu dari aturan yang umum adalah dua batasan hubungan sebagai berikut: SUPER(supSS#, ) ASSEM(assmSS#, , supSS#) Satu problem dengan model ini timbul ketika atribut yang tidak mempunyai kunci ditambahkan pada relasi yang sudah ada. Misalkan atribut yang lain adalah ename - nama pekerja wphone
-
nomor telephone supervisor
buruh tak punya nomor telephone keIja.
SUPERVISOR I.
n. .'ASSEMBLER assmSS#. ...
Gambar 8. 5 Model ER yang mungkin untuk organisasi/perusahaan 91
hphone haddr hrate salary jcode area
-
nomor telephone rumah seorang pekerja
-
alamatrumahpekerja
-
upah perjam buruh gaji bulanan supervisor kode pekerjaan untuk buruh wilayah pengawasan supervisor
Sam kemungkinan yang timbul untuk tujuh atribut dibawah ini : sname - nama supervisor . aname - nama buruh shphone - nomor telephone rumah supervisor
shaddr ahphone ahaddr -
alamatrumahsupervisor nomortelephonerumah buruh alamatrumahburuh
Suatu penyelesaian dari masalah dapat diperoleh dengan menyelidiki problem tersebut dari beberapa sisi. Supervisor dan buruh dapat dipandang sebagai pekerja, supervisor dan dan buruh memiliki aturan-atur('.n yang diberikan buruh dapat di assumsikan: Hal ini juga berarti beberapa pekerja adalah supervisor sedangkan yang lain beberapa pekerja adalah buruh. Diperlihatkan pada Gambar 8.6. Dalam Gambar ini EMPLOYEE adalah suatu entitas dengan nomor keamanan pekerja sosial adalah kunci entitas. Obyek dari entitas inidapat diasumsikan sebagai supervisor atau buruh. Kedua entitas SUPERVISOR dan ASSEMBLER dihubungkan dengan SUPERVISES. Arah mulai dari EMPLOYEE sampai SUPERVISOR dan ASSEMBLER menunjukkan EMPLOYEE adalah entitas sumber, ketika SUPERVISOR dan ASSEMBLER adalah aturan-aturan. Untuk menghasilkan relasi-relasi awal dari diagram dalam Gambar 8.6 aturan berikutnya : Entitas sumber akan menghasilkan satu relasi, dengan kunci entitas yang melayani sebagai kunci untuk relasi. Aturan item-item dan hubungannya diasosiasikan akan menghasilkan bilangan relasi-relasi khusus dengan aturan terdahulu, dimana setiap aturan seperti entitas regular. Tiga relasi mula-mula dihasilkan dengan menggunakan aturan ini : EMPLOYEE(empSS#, ) SUPER(supSS#, ) ASSEM(assmSS#, .,supSS#) Ketika atribut itu dibuat dalam satu set relasi, setiap atribut tersebut harus ditempatkan pada tempat yang semestinya. Hasil akhir dari relasi tersebut adalah :
92
EMPLOYEE emo SS#, ...
SUPERVISORI.
n. .IASSEMBLER 8ssm SS#, ...
sup SS#, ...
Gambar 8.6 Penggunaan Aturan-aturan dalam suatu model ER EMPLOYEE(empSS#, ename, hphone, haddr) SUPER(supSS#, salary,area, wphone) ASSEM(assmSS#,hrate, jcode, supSS#) Relasi yang muncul daTisumber entitas (EMPLOYEE) mempunyai informasi yang umum untuk semua pekerja. Haruslah diperhatikan bahwa relasi supervises menghubungkan dua aturan dari sumber yang sarna entitasnya. Tidak ada alasan mengapa aturan daTisatu sumber entitas tidak dapat mempunyai relasi daTiaturan entitas yang lain. Ulangi diagram pada Gambar 8.6, hams di notasikan dengan hubungan SUPERVISES menghubungkan dua aturan dari sumber entitas yang sarna. Tipe hubungan ini dikatakan menjadi rekursif. Rekursif dalam arti, dari titik entitas sumber dari view, pekerja adalah pekerja pengawas. Tidak ada alasan mengapa aturan-aturan dari satu entitas sumber tidak dapat memiliki suatu hubungan dengan aturan daTientitas sumber yang berbeda. Dalam hal ini, hubungan tidak menjadi rekursif. Untuk meningkatkan kecepatan akses selama pertanyaan, seorang perancang dapat berharap untuk menambahkan suatu atTibutpada relasi EMPLOYEE yang menunjukkan apakah pekerja adalah supervisor atau buruh. Ini untuk menghindaTi kebutuhan untuk mencari relasi SUPER dan ASSEM tuntuk menentukan tipe pekerjaan daTi suatu individu, sekali nomor keamanan sosial untuk individual diketahui. Ada relasi kedua untuk penambahan yang berlawanan. .
93
8. 4
PROBLEMA DISAIN ER BESAR Definisi Problema
Sebuah database dibentuk menjadi Topnotch Intercollegiate Athletic Conference (TIAC). Database akan digunakan untuk anggota staf di kantor komisi TIAC. Kantor komisi mengontrolsemua aktifitas lembaga termasuk segala sesuatu sepeni penyusunan jadual dari semua lembaga olahraga; kantor penyewaan untuk kompetisi semua lembaga tersebut; pemeliharaan alat atrletik, administrator dan pelatih untuk semua sekolah di lembaga tersebut. Komisi mengidentifikasi beberapa hal yang utama berikut : 1. Untuk setiap lembaga dari liga : Nama resmi dari sekolah Ukuran dari badan siswa Semua macam olahraga yang akan dikikuti oleh lembaga Lambang (logo) Nama dari field asal dan kapasitas Nama dari field sepak bola dan kapasistas Nama, alamat, nomor telephon rumah, dan nomor telphon tempat kerja dari tiap orang Presiden Direktur dari perkumpulan Direktur atletik (AD) Direktur informasi olahraga (SID) Astiten pengajar atletik (FAR) Ketua kelas dari setiap bidang olah raga 2. Daftar dari officials yang diakui Nama dan nomor keamanan sosial Alamat rumah Nomor telphon rumah Olah raga yang dikuasai Tingkatan bidang dari tahun yang lalu Contest tenentu untuk official yang akan diberikan pada tahap berikutnya 3. Daftar dari siswa atletik yang diakui Nama dan nomor keamanan sosial Alamat rumah Alamat perkumpulan Nomor telepon perkumpualan Bidang olah raga yang diikuti Tingkat nilai rata-rata Berapa lama ia akan menyelesaikan Nomor dari tingkatan untuk mengikuti pertandingan olah raga 94
Tanggal pertama masuk perkumpulan Jumlah waktu yang sekarang di peroleh dalam pertandingan Jumlah waktu yang diperoleh dari dua pertandingan terakhir 4. Jadwal dari perkumpulan untuk tahun yang akan datang : Gedung perkumpulan untuk pertandingan Cara perkumpulan untuk mengadakan pertandingan Tanggal dan waktu untuk pertandingan lnstruksi ofisial Jenis olahraga yang akan diikuti 5. Setiap jenis olahraga di suatu perkumpulan mempunyai aturan tersendiri; dan satu orang ditunjuk oleh perkumpulannya sebagai ketua dari komite tersebut. Asumsi berikut dapat dibuat :jadual berlangsung setiap tahun; seorang ketua pelatih hanya memegang satujenis olahraga; suatu sekolah tidak dapat berpartisipasi pada semua jenis olahraga; beberapa orang mempunyai nomor telepon kantor yang sarna; perkumpulan tersebut mempunyai jenis olahraga untuk pria dan wanita. Diagram ER Problema utama di dalam pengembangan ER diagram adalah akhir dari entitas yang digunakan; di mana tidak ada himpunan entitas yang unik dalam banyak kasus. Dalam problema ini, sudah ditentukan bahwa entitas dari bunga adalah : COLLEGE, SPORT, STUDENT, OFFICIAL,dan EMPLOYEE. EntitasEMPLOYEEdigunakan untuk menyajikan semua karyawan dari semua sekolah di perkumpulan dan bahwa mempunyai sembarang afiliasi dengan perkumpulan lain. Lagipula, HEAD COACH dianggap telah menentukan suatu peraturan yang EMPLOYEE sudah setuju, ketika COLLEGE berasumsi suatu aturan sebagai suatu HOME TEAM, atau sebuah AWAY TEAM, ketika team tersebut sampai di titik akhir. Penyelesaian dari Diagram ER ditunjukkan dalam gambar 8.7. Catatan pada keterangan-keterangan dalam hubungan 4 arah disebut SCHEDULE. .
95
Gambar 8.7. Diagram ER untuk pertemuan atletik antar sekolah yang baik. RELASI-RELASI AWAL Relas-relasi awal yang dapat dihasilkan darigambar 8.7 adalah : COLLEGE(Cname, .) EMPLOYEE(EmpSS#, ,Cname) HOME(HTname, ) AWAY(ATname, ) OFFICIAL(offSS#, ) COACH(coaachSS#, ,Sprtname) SPORT(Sprtname, ) STUDENT(studntSS#, .,Cname) SPONSOR(Cname.Sprtname, ) PARTIC(Sprtname.studntSS#, ) SCHED(HTname.ATname.offSS#.Sprtname,...) Apabilaatribut-atribut yang laindisebutkan,relasi-relasi berikut yangdiperoleh adalah, : 96
COLLEGE (Cname,fieldhouse_name,fieldhouse_capacity, football_field_namt,football_field_capacity, enrollment) EMPLOYEECEmpSS#,emp_name,emp_addr,emp_hphone,emp_ wphone,title,Cname) HOME(HTname) AWAY(ATname) OFFICIAL(offSS#,ofCname,ofCaddr,ofChphone, spon_in_which_approved) COACH(coachSS#,Spnname) SPORT(Spnname,SS# _oCrules_chairperson) STUDENT (studntSS#,sex,age,gpa,total_credichours, studncaddress, Cname,credichours_this_term, credichours_last_two _terms) SPONSOR(Cname.Sprtname) PARTIC(Spnname.studntSS#,seasons_oCcompetition) SCHED(HTname.ATname.offSS#.Sprtname.date,time_oCcontest) Dua buah relasi dapat dihilangkan dari himpunan terakhir. HOME and AWAY adalah relasi-relasi yang unary (tunggal) yang mendapatkan informasi yang tidak berguna. Disebabkan tidak ada atribut-atribut yang diberikan yang unik dalam satu tempat atau satu kelompok, daripada satu sekolah secara keseluruhan. Penghilangan dua relasi ini dapat dihubungkan dengan relasi desain sementara. RELASI DESAIN SEMENTARA COLLEGE (Cname,fieldhouse_name,fieldhouse_capacity, football_field_name,football_field_ capacit~, enrollment) EMPLOYEECEmpSS#,emp_name,emp_addr,emp_hphone,emp_ wphone,tittle,Cname) OFFICIAL(offSS#,ofCname,ofCaddr,ofChphone, spon_in_which_approved) COACH(coachSS#,Sprtname) SPORT(Spnname,SS# _oCrules_chairperson) STUDENT (studntSS#,sex,age,gpa,total_credichours, studncaddress, Cname,credichours_this_term credichours_lasCtwo _terms) SPONSOR(Cname.Sprtname) PARTIC(Spnname.studn tSS#,seasons_oC competition) SCHED(HTname.ATname.offSS#.Spnname.date,time_oCcontest) Relasi SCHED adalah suatu relasi di dalam himpunan desain sementara yang diinginkan untuk dimodifikasi. Jika dalam hal ini SCHED digambarkan, ini akan terdiri dari himpunan-himpunan yang berisi data yang berulang-ulang; karena lebih dari satu official yang akan dikurangi untuk setiap kontes perkumpulan. Suatu cara untuk menghilangkan masalah ini adalah menggambarkan kembali bagian daTi diagram ER yang berhubungan dengan official. Ini akan menjadi sarna sepeni dalam cara relasi-relasi BCNF dihasilkan. 97
Cara kedua untuk menghilangkan masalah ini adalah menguraikan SCHED dengan ketergantungan fungsional. Penyelesaian-penyelesaian ini tinggal sebagai latihan pada akhir bab ini. Semua relasi-relasi dalam himpunan desain sementara hams diperiksa untuk BCNF; ini juga tinggal sebagai latihan di akhir bab.
8. 5
MASALAH-MASALAH UNTUK BAB 8
1. Kerjakan masalah-masalah yang berhubungan dengan himpunan terakhir dari pemakaian desain relasi dalam masalah ER pada bagian 8.4. a) Gambarkan suatu diagram FD dari tiap relasi dan lihat jika ini ada dalam BCNF. Jika sebuah relasi tidak berada dalam BCNF cobalah dua solusi ini: (1) Gambarkan kembali diagram ER seperti cara relasi BCNF dihasilkan, dan (2) Uraikan semua relasi yang bukan BCNF ke dalam bentuk normal. b) Gambarkan ten tang akhirdesain relasi dan garis besarnya bagaimanajika hal itu akan digunakan untuk menjawab pertanyaan yang khusus dari komisioner Kantor. 2.
Diskusikan dengan jelas bagaimana mengerjakan hal-hal yang mempengaruhi diagram ER pada gambar 8.7 dan akhir desain relasinya: a) Seorang official dapat memimpin pada lebih dari satu bidang olahraga. b) Seorang pelatih dapat menjadi kepala pelatih pada lebih dari satu bidang olahraga. c) Saw sekolah tidak dapat menjadi sponsor sepakbola dan tidak memiliki lapangan sepakbola. d) Hapuskan hubungan relasi dua arah (binary) dari SPONSOR, ENROLL, dan PARTICIPA TE dan gantilah dengan satu hubungan relasi tiga arah (threeway relationship). e) Satu olahraga, seperti juga golf, tidak dapat memakai official.
3.
Gambarkan suatu diagram ER dan kembangkan relasi untuk sebuah database untuk dipakai pedagang mobil. Si pedagang mempunyai staff yang terdiri dari orang-orang bagian penjualan, sekretaris dan mekanik (montir). Bagian penjualan mendapat gaji ditambah komisi, bila karyawan yang lain se~,uai jam kerja .masing-masing. Komisi untuk penjualan adalah 5 % dari masing-masing bagian penjualan dengan masa kerja kurang dari 3 tahun dan 8 % untuk mereka yang masa kerjanya 3 atau lebih dari 5 tahun. Informasi mengenai mobil dalam stok meliputi tanggal pembelian, nilai yang ditaksir, kerja mekanik (montir) yang dilakukan sebelum penjualan, penggantian harga selama pekerjaan dilakukan, pembuatan mobil, model, tahun mode dan warna dasar. Seorang mekanik mempunyai keahlian yang khusus, seperti memeriksa mesin atau bumper dan membetulkan mobil yang rusak. (tambahkanlah beberapa atribut-atribut ekstra yang anda rasa cocok.)
98