1 / 38

ERD & Normalisasi Lanjutan

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.

nelia
Download Presentation

ERD & Normalisasi Lanjutan

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ERD & Normalisasi Lanjutan Pertemuan Minggu Ke-7

  2. Kompetensi Khusus • Mahasiswa mampu menganalisis kekurangan pada ERD awal dan menyempurnakannya menjadi ERD akhir (C4)

  3. 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).

  4. Entity Supertype & Subtype • Karenakaryawanmemilikiberagamkeahlian & kualifikasikhusus, makapemodel data harusmenemukanberbagaicarauntukmengelompokkankaryawanberdasarkankarakteristiknya. • Pengelompokkankaryawanmenjadibeberapatipememberikan 2 keuntunganpenting: • Menghindarinilai NULL dalamatributketikabeberapakaryawanmemilikikarakteristik yang tidakdimilikiolehkaryawan lain. • Tipekaryawantertentudapatberpartisipasidalamhubungan yang unikuntuktipekaryawantersebut.

  5. 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.

  6. 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.

  7. NULL pada Atribut Unik

  8. 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.

  9. Hirarkispesialisasimemilikiartisbb: • Mendukungatribut inheritance. • Mendefinisikanatributsupertypekhusus yang dikenalsebagaisubtype discriminator. • Mendefinisikandisjoint/ overlapping constraint & complete/ partial constraint.

  10. Hirarki Spesialisasi

  11. 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.

  12. Hubungan Supertype-Subtype EMPLOYEE-PILOT

  13. 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 (<).

  14. 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.

  15. Hirarki Spesialisasi dengan Subtype Overlapping

  16. Atribut Discriminator dengan Subtype Overlapping

  17. 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.

  18. Skenario Constraint Hirarki Spesialisasi

  19. 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.

  20. 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.

  21. ERD Tiny College menggunakan entity cluster

  22. 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.

  23. 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.

  24. 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.

  25. Hubungan M:N antara STUDENT & CLASS

  26. 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 .

  27. 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.

  28. Pemilihan FK dalam Hubungan 1:1

  29. Hubungan 1:1 antara DEPARTMENT & EMPLOYEE

  30. 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.

  31. Memelihara Histori Gaji & Manajer

  32. 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.

  33. ERD Salah: Adanya Masalah Fan Trap

  34. ERD Benar: Eliminasi Masalah Fan Trap

  35. Hubungan Redundan

  36. 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.

  37. Review Materi • Mahasiswa mengerjakan tugas yang ada di portal.

More Related