510 likes | 1.03k Views
ERD & Normalisasi Lanjutan. Pertemuan Minggu Ke- 7. Kompetensi Khusus. Mahasiswa mampu menganalisis kekurangan pada ERD awal dan menyempurnakannya menjadi ERD akhir (C4). Extended Entity Relationship Model.
E N D
ERD & Normalisasi Lanjutan Pertemuan Minggu Ke-7
Kompetensi Khusus • Mahasiswa mampu menganalisis kekurangan pada ERD awal dan menyempurnakannya menjadi ERD akhir (C4)
Extended Entity Relationship Model • Kadang mengacu sebagai enhanced entity relationship model, adalah hasil dari penambahan bentuk semantik ke model entity relationship (ER) asli. • Diagram yang menggunakan EERM dinamakan EER Diagram (EERD).
Entity Supertype & Subtype • Karenakaryawanmemilikiberagamkeahlian & kualifikasikhusus, makapemodel data harusmenemukanberbagaicarauntukmengelompokkankaryawanberdasarkankarakteristiknya. • Pengelompokkankaryawanmenjadibeberapatipememberikan 2 keuntunganpenting: • Menghindarinilai NULL dalamatributketikabeberapakaryawanmemilikikarakteristik yang tidakdimilikiolehkaryawan lain. • Tipekaryawantertentudapatberpartisipasidalamhubungan yang unikuntuktipekaryawantersebut.
Entitassupertypeadalahtipeentitasumum yang terhubungkesatuataulebihentitas subtype. • Entitassupertypeberisikarakteristikumum, & entitas subtype berisikarakteristikuniknyamasing-masing. • Berikutadalah 2 kriteria yang membantudesainermenentukankapanmenggunakan subtype & supertype: • Harusadajenisatautipeentitas yang berbeda & teridentifikasidalamlingkungan user. • Tiapjenisatautipe instance yang berbedaharusmemilikisatuataulebihatribut yang unikuntukjenisatautipe instance tersebut.
Misalnyadalamperusahaanpenerbanganterdapatkaryawan yang berprofesisebagai pilot, mekanik, sekretaris, akuntan, dsb. Pilot memilikikarakteristik yang samadengankaryawanlainnyasepertinamabelakang & tglmulaibekerja. Selainitu, banyakkarakteristik pilot yang tidakdimilikiolehkaryawan lain, seperti jam terbang, pelatihan, dsb. Jikasemua data karyawandicampurdalamsatutabelmakabanyakatribut yang bernilai NULL bagikaryawan yang bukan pilot. • Dari kriteria di atas, pilot sesuaidengan 2 kriteriatersebutsehingga PILOT dapatmenjadi subtype dari EMPLOYEE. Demikianjuga MEKANIK dan AKUNTAN dapatmenjadi subtype karenamerupakanjeniskaryawan & memilikiatributunik. KASIR tidakdapatmenjadi subtype karenatidakmemenuhisalahsatukriteriayaitutidakmemilikiatributunik.
Spesialisasi • Entitassupertype & subtype diaturdalamhirarkispesialisasi, yang menggambarkanpengaturanentitassupertypetingkattinggi (entitasinduk) & entitas subtype tingkatrendah (entitasanak). • Hubungan yang digambarkandalamhirarkispesialisasikadangdideskripsikansebagaihubungan“is a”. • Dalamhirarkispesialisasi, subtype hanyamunculdalamkontekssupertype, & tiap subtype hanyadapatmemiliki 1 supertype yang berhubunganlangsungdengannya. • Hirarkispesialisasidapatmemilikibanyaktingkathubungansupertype/ subtype – yaitusupertypememilikibanyak subtype, dan 1 subtype adalahsupertypedari subtype lain di bawahnya.
Hirarkispesialisasimemilikiartisbb: • Mendukungatribut inheritance. • Mendefinisikanatributsupertypekhusus yang dikenalsebagaisubtype discriminator. • Mendefinisikandisjoint/ overlapping constraint & complete/ partial constraint.
Inheritance • Properti inheritance memungkinkan suatu entitas subtype mewarisi atribut dan hubungan dari supertype. • Satukarakteristikinherintance yang pentingadalahsemuaentitas subtype mewarisiatribut PK darisupertypenya. • Entitas subtype mewarisisemuahubungandimanaentitassupertypeberpartisipasi. • Supertype & subtype memilikihubungan 1:1.
Subtype Discriminator • Adalahatributdalamentitassupertype yang menentukan subtype mana yang berhubungandengankemunculansupertypetersebut. • Subtype discriminator & nilaiuntuktiap subtype ditunjukkandalam diagram ER. Tetapitidaksemua tool pemodelan ER melakukanhalitu. Misalnya MS Visio menunjukkan subtype discriminator tetapitidaknilainya. Nilainyadapatditambahkansecara manual kesisigarispenghubungnyamenggunakan Visio text tool. • Kondisiperbandinganuntukatribut subtype discriminator secara default adalahsamadengan (=). Akan tetapi, dalambeberapasituasi subtype discriminator memilikikondisiperbandingan lain sepertilebihbesar (>), lebihkecil (<).
Disjoint & Overlapping Constraint • Entitassupertypedapatmemilikientitas subtype disjoint atau overlapping. • Subtype disjoint/ nonoverlappingadalah subtype yang mengandung subset unikdarientitassupertype; dengan kata lain, tiap instance entitasdarisupertypedapatmunculhanyadalam 1 subtype. • Subtype overlapping adalah subtype yang mengandung subtype tidak unik dari entitas supertype; artinya tiap instance entitas dari supertype dapat muncul di lebih dari 1 subtype.
Completeness Constraint • Menentukan apakah kemunculan entitas supertype harus menjadi anggota dari paling sedikit 1 subtype. • Terdiri dari parsial & total. • Partial completeness berarti tidak setiap kemunculan supertype adalah anggota dari subtype; beberapa kemunculan supertype tidak menjadi anggota dari subtype apapun. • Total completeness berarti setiap kemunculan supertype harus menjadi anggota dari paling sedikit 1 subtype. • Dalam Visio, garis horizontal tunggal di bawah lingkaran menandakan partial completeness constraint; garis horizontal ganda di bawah lingkaran menggambarkan total completeness constraint.
Spesialisasi & Generalisasi • Spesialisasiadalah proses top-down dari mengidentifikasi tingkat yang lebih rendah, entitas subtype yang lebih spesifik dari entitas supertype di tingkat yang lebih tinggi. Spesialisasi berdasarkan pada pengelompokkan karakteristik & hubungan yang unik dari subtype. • Generalisasiadalah proses bottom-up dari mengidentifikasi tingkat yang lebih tinggi, entitas supertype yang lebih umum dari entitas subtype di tingkat yang lebih rendah. Generalisasi berdasarkan pada pengelompokkan karakteristik & hubungan yang umum dari subtype.
Entity Clustering • Digunakan untuk meminimalisasi jumlah entitas dalam ERD. • Entity cluster adalah jenis entitas “virtual”yang digunakan untuk mewakili beberapa entitas & hubungan dalam ERD. • Entity cluster dibuatdenganmenggabungkanbeberapaentitas yang salingberhubunganmenjadiobjekentitastunggal, abstrak. • Ketikamenggunakan entity cluster, atributtidakperluditampilkan.
Integritas Entitas : Memilih PK • Karakteristikutamadarientitasadalah PK yang mengidentifikasitiap instance entitas& berfungsiuntukmenjaminintegritasentitas. Olehkarenaitu, pemilihan PK yang benarberdampaklangsungpadaefisiensi & efektivitasdariimplementasi database. • Natural Key & Primary Key • Natural key atau natural identifier adalahpengenal yang diterimauntukmengidentifikasiobjek di dunianyata. Familiar untuk end user & membentuksebagiandarikosakatabisnissehari-hari. • Natural key biasanyadigunakansebagai PK darientitas.
PanduanPemilihan PK • Memahamifungsi PK yaituuntukmenjaminintegritasentitas, bukanuntukmendeskripsikanentitas. • PK & FK digunakanuntukmengimplementasihubunganantarentitas. • Berikutkarakteristik PK yang diinginkan: • Memilikinilaiunik & tidakboleh NULL. • Tidakbolehmengandungartisemantik. • Haruspermanen & tidakberubah. • Memilikijumlahatributseminimalmungkin. • Memilikitipe data numerik. • Tidakbolehmenggunakanatribut yang mungkinmengandungresikokeamananataupelanggaran.
Kapan harus menggunakan Composite PK? • Walaupun PK seharusnya menggunakan jumlah atribut seminimal mungkin, akan tetapi hal itu tidak berarti composite PK tidak diperbolehkan dalam model. • Composite PK berguna dalam 2 kasus berikut: • Sebagai pengenal entitas komposit dimana tiap kombinasi PK diperbolehkan hanya muncul sekali dalam hubungan M:N. • Sebagai pengenal entitas lemah dimana entitas lemah memiliki hubungan kuat dengan entitas induk.
KapanharusmenggunakanPK Pengganti? • Dalambeberapakasus, natural key yang adatidaksesuaimenjadi PK sehinggaperlumembuat PK Pengganti. • PK Penggantiadalah PK yang dibuatolehdesainer database untukmenyederhanakanidentifikasi instance entitas. • PK Penggantitidakberartidalamlingkungan user & hanyamunculuntukmembedakan 1 instance dengan yang lain. • Keuntungannyaadalahkarenatidakmemilikinilaiintrinsik, makanilainyadihasilkanoleh DBMS sehinggadapatdipastikanselaluunik .
Kasus Desain ERD • Implementasihubungan 1:1 • Aturandasar yang sederhanaadalahmeletakkan PK darisisi yang satu (entitasinduk) kesisi yang banyak (entitasdependen) sebagai FK. • Dimanaharusmenempatkan FK ketikahubungannya 1:1? Berikutpilihannya: • Tempatkan FK di keduaentitas.Solusiinitidakdirekomendasikankarenamenduplikasipekerjaan & dapatbertentangandenganhubungan lain yang ada. • Tempatkan FK di salahsatuentitas. PK darisalahsatuentitasmunculsebagai FK dalamentitaslainnya. Pertanyaannya: PK mana yang seharusnyadigunakansebagai FK? Jawabannyaada di tabelberikut.
Memeliharasejarahdari data time-variant • Normalnya, perubahan data dilakukandenganmengubahnilaiatribut yang adadengannilaibarutanpamelihatnilaisebelumnya. Akan tetapidalambeberapasituasi, sejarahdarinilaiatributharusdipertahankan. • Data time-variant mengacupada data yang nilainyaberubahseiringwaktu & sejarahperubahandatanyadisimpan. • Untukmemodelkan data time-variant, dibutuhkan 1 entitasbarudalamhubungan 1:M denganentitas lain. Entitasbaruiniakanberisinilaibaru, tglperubahan, & atribut lain yang berhubungandengankejadian yang dimodelkan.
Fan Traps • Design trapmunculketikahubungantidakdiidentifikasidenganbaikataulengkap & ditampilkandalamcara yang tidakkonsistendengandunianyata. • Fan trap munculketikaterdapat 1 entitasdalam 2 hubungan 1:M denganentitas lain, sehinggamenghasilkanhubunganantarentitas lain yang tidakdiekspresikandalam model. • Hubunganredundan • Hubunganredundanmunculketikaterdapatbeberapajalurhubunganantarentitas yang berhubungan. • Beberapadesainmenggunakanhubunganredundansebagaicarauntukmenyederhanakandesain.
Prosedur Normalisasi dalam Desain Database • ERD dibuatmelaluimelalui proses iteratif, yang diawalidenganidentifikasientitas, atribut, & hubungannya. Kemudianhasilnyadigunakanuntukmengidentifikasientitas & atributtambahan. ERD menyediakangambarbesar, atautampilanmakrodarikebutuhan &operasi data perusahaan. • Normalisasifokuspadakarakteristikdarientitastertentu; yaitumewakilipandanganmikrodarientitasdalam ERD. • Memodifikasi ERD awaluntukmenampungentitastambahan yang ditemukan.
Review Materi • Mahasiswa mengerjakan tugas yang ada di portal.