190 likes | 431 Vues
BAB 2. MODEL RELASI ENTITAS (E-R MODEL). Tinjauan Desain Basis Data. Desain Konseptual ( Dengan menggunakan ER-Model) Informasi apa yang dikandung oleh suatu entity dan relasi yang harus disimpan dalam basis data
E N D
BAB 2 MODEL RELASI ENTITAS (E-R MODEL)
TinjauanDesain Basis Data • DesainKonseptual (Denganmenggunakan ER-Model) • Informasiapa yang dikandungolehsuatu entity danrelasi yang harusdisimpandalambasis data • Batasanintegritas (integrity constraint) danaturanbisnis yang harusditangani • Skemabasis data dalam ER Model dapatdipresentasikandalambentukgambar (ER diagram). • MemetakanER Diagram kedalamskemarelasional.
Dasar-dasar ER Model • Entiti : obyekdunianyata yang dapatdibedakandariobyek yang lain. Entitidigambarkan(dalam basis data) denganmenggunakanhimpunanatribut. • Himpunanentity : Kumpulan entity yang sejenis. Misal: himpunan data pegawai • Semuaentity dalamhimpunan entity memilikihimpunanatribut yang sama • Tiaphimpunan entity memilikikunci (key) • Tiapatributmemilikidomain.
Dasar-dasar ER Model • Relasi : Asosiasidiantaraduaataulebihentity. Misal: AnibekerjadiDepartemenFarmasi
Dasar-dasar ER Model • Himpunan Relasi : Himpunan relasi yang sejenis • Himpunanrelasi n-aryR berelasidengansejumlahhimpunan entity n E1 …En • Himpunan entity yang sama dapat berpartisipasi dalam himpunan relasi yang berbeda, atau mempunyai peran yang berbeda dalam suatuhimpunan yang sama.
BatasanKunci (Key Constraints) • Padasuatucontohkasus, seorangpegawaidapatbekerjapadabeberapa departments; sebuahdepartementmemilikibanyakpegawai • Sebaliknya, tiapdepartementhanyamemilikiseorang manager, yang berhubungandengankey constraint padaManages.
Batasanpartisipasi (Participation Constraints) • Apakahsetiapdepartemenmempunyaiseorang manager ? • Jikasemuadepartemenpastimempunyai manager makapartisipasiDepartementsdalam Manages dapatdikatakan total. Sebaliknyajikatidaksemuadepartementmemiliki manager makapartisipasinyaadalah partial.
EntitiLemah • Entitilemahdapatdiidentifikasisecaraunikjikaterdapatperankunciutama(primary key) yang berasaldariataudimilikioleh entity yang lain (owner). • Himpunanentity owner dan entity lemahharusberartisipasidalamhimpunanrelasi one-to-many (satu owner, banyak entity lemah).
Hirarki ISA (‘is a’) • Sepertipada C++, danbahasapemrograman yang lain, suatuatributdapatditurunkan. • Jikakitadeklarasikan A ISA B, setiap entity A jugatermasuk entity B. • Overlap constraints : Bolehkahseorangpegawaimempunyai status sebagaipegawaidenganhitungangajiperjam (Hourly_Emps) samahalnyasepertipegawaidenganperjanjiankontrak (Contract_Emps) ? (Boleh/Tidak) • Covering constraints : Apakahsetiap entity Employees jugamerupakanentity Hourly_EmpsdanContract_Emps ? • Alasanmenggunakan ISA : • Untukmenambahkandeskripsiatribut yang lebihspesifikpada subclass. • Untukmengidentifikasi entity yang berpartisipasidalamsuaturelasi.
Aggregasi • Digunakanpadasaatkitaperlumemodelkanapasaja yang terlibatdalamsuatuhimpunanrelasi. • Aggregasi membolehkan kita untuk memperlakukan suatu himpunan relasi sebagaihimpunan entity untuktujuanpartisipasidalamrelasi yang lain.
Aggregasi vs. relasi ternary • Monitors adalahrelasi yang distinct dengandeskripsiatribut. • Jugadapatdikatakanbahwatiapsponsorship dimonitorolehkebanyakanseorangpegawai. • DesainKonseptualdenganmenggunakan ER Model • Pilihandesain: • Haruskankonsepdimodelkansebagai entity atauatribut? • Haruskahkonsepdimodelkansebagai entity ataurelasi? • Identifikasirelasi : binary atau ternary ? atauaggregasi ? • Batasandalam ER Model : • Semakinbanyak semantic data yang dapatditangkap. Tapibeberapabatasantidakdapatditangkapdalam ER diagram.
Entiti vs. Atribut • Haruskahinformasialamat (address) menjadiatributdari Employee ataumenjadientity (dihubungkankeEmployee olehsuaturelasi) ? • Tergantungpadapenggunaan yang kitainginkandariinformasialamattersebut, danjuga tergantung pada semantic data. • Jikaterdapatbeberapaaddress per Employee, maka address harusmenjadisuatuentity (nilaidariatributtidakbisadiset, ataudiinisialisasi). • Jikastrukturdariaddress (kota, jalan, dll) dianggappenting, makaaddress tersebutjugaharusdimodelkansebagaisuatu entity (karenanilaisuatuatributharus atomic).
Entiti vs. Atribut • Works_In2 tidakmengijinkanseorang employee untukbekerjapadasuatudepartement dalam dua atau lebih periode. • Samadenganpermasalahanmenyimpanbeberapaaddress untukseorangemployee : Kita perlumenyimpanbeberapanilaidarideskripsiatributuntuktiap instance darirelasiberikutini.
Entiti vs. Relasi • ER diagram diatasakan OK jikaseorang manager mengambil budget yang terpisahpadatiapdepartemen. • Apayang terjadijika manager mengambil budget yang dikoverdarisemuadepartemen ? • Penyimpananredundant untukdbudget yang disimpanpadatiapdepartemen.
Relasi Binary vs. Ternary • Jikapolicy dimilikihanyaolehsatuorang employee : • Key constraint pada policies mengartikanbahwasuatukebijakan (policy) diterapkanuntukhanyadapatmengkoversatuorangdependent • Apayang merupakan constraint tambahanpada diagram yang keduaberikutini ?
Relasi Binary vs. Ternary • Contohsebelumnyatelahmengilustrasikansuatukasuspadasaatduarelasibinary lebihbaikdibandingkansaturelasi ternary. • Contohyang lain : relasi ternary Contracts berelasidenganhimpunan entity Parts, Departments dan Suppliers, yang memilikiatributdeskriptif qty. Tidakadakombinasirelasirelasibiner yang layakuntukmenggantikansubsitusiini : • S ‘dapatmensupply’ P, D ‘memerlukan’ P, dan D ‘berurusandengan’ S. Dapatkahdiandaikanbahwa D memilikiperjanjianuntukmembeli P dari S ? • Bagaimanacarakitamerecordqty ?
Ringkasan : Desain Konseptual dan ER-Model • DesainKonseptualmemenuhipersyaratandalamanalisakebutuhan (requirements analysis). • ER Model paling banyakdigunakandalamdesainkonseptual • Konstruksinyaekspresif, paling dekatdengancaramanusiaberpikirtentangaplikasi yang akan mereka kerjakan. • Elemendasar : entity, relasi, dan atribut (darientity dan relasi). • Beberapaelementambahan : entitylemah, hirarki ISA, dan aggregasi • Catatan: Terdapatbanyakvariasidalam ER Model. • Beberapamacambatasanintegritas (integrity constraints) dapatdinyatakandalam ER Model : batasankunci (key constraints), batasanpartisipasi (participation constraints), dan overlap/covering constraints untukhirarki ISA. Beberapaforeign key constraints jugasecaraimplisitdinyatakandalamdefinisihimpunanrelasi. • Beberapa constraints semisal functional dependencies tidak dapat dinyatakandalam ER Model. • Constraints memegangperananpentingdalammembentuksuatudesain basis data yang baik.
Ringkasan : Desain Konseptual dan ER-Model • Desain ER bersifatsubyektif. Terdapatbanyakcarauntukmemodelkansuatu scenario. Pilihannyameliputi: • Entiti vs. atribut, entity vs. relasi, relasi binary atau n-ary, menggunakanhirarki ISA atautidak, menggunakanaggregasiatautidak. • Untukmemastikansuatu basis data didesaindenganbagus : skemarelasionalyang dihasilkanharusbisadianalisadandiperbaikidiwaktumendatang. Informasifunctional dependencies dantekniknormalisasijugadiperlukandalamhalini (akandibahaspadababselanjutnya).