Kuliah 5 DBMS Pemodelan EER

43
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 4- 1

description

kuliah smdb

Transcript of Kuliah 5 DBMS Pemodelan EER

  • Copyright 2007 Ramez Elmasri and Shamkant B. NavatheChapter 4Pemodelan Enhanced Entity-Relationship (EER)

    Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

    Slide 4- *Chapter OutlineEER stands for Enhanced ER or Extended EREER Model ConceptsIncludes all modeling concepts of basic ER Additional concepts: subclasses/superclassesspecialization/generalizationcategories (UNION types)attribute and relationship inheritanceThese are fundamental to conceptual modelingThe additional EER concepts are used to model applications more completely and more accuratelyEER includes some object-oriented concepts, such as inheritance

    Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

    Slide 4- *Subkelas dan Superkelas (1)Sebuah entity type dapat memiliki pengelompokan tambahan penting pada entitas-entitasnyaExample: EMPLOYEE dapat dikelompokkan lagi menjadi:SECRETARY, ENGINEER, TECHNICIAN, Berdasarkan pekerjaan si EMPLOYEEMANAGEREMPLOYEE yang juga managerSALARIED_EMPLOYEE, HOURLY_EMPLOYEEBerdasarkan metode pengupahan si EMPLOYEEDiagram EER diagrams memperluas diagram ER untuk menggambarkan pengelompokan tambahan ini, yang disebut subkelas atau subtype

    Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

    Slide 4- *Subkelas dan Superkelas

    Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

    Slide 4- *Subkelas dan Superkelas (2)Setiap kelompok/subgroup adalah subset dari entitas EMPLOYEEMasing-masing disebut subkelas EMPLOYEE EMPLOYEE adalah superkelas untuk setiap subkelas tersebutHal ini disebut relasi superkelas/subkelas:EMPLOYEE/SECRETARYEMPLOYEE/TECHNICIANEMPLOYEE/MANAGER

    Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

    Slide 4- *Subkelas dan Superkelas (3)Hal ini bisa disebut juga relasi IS-ASECRETARY IS-A EMPLOYEE, TECHNICIAN IS-A EMPLOYEE, .Note: sebuah entitas yang merupakan anggota dari sebuah subkelas mewakili entitas sama dalam dunia-nyata seperti sebagian anggota superkelas:Anggota subkelas adalah entitas yang sama dalam suatu peran yang khusus dan berbedaSebuah entitas tidak boleh ada dalam database hanya karena menjadi anggota subkelas; ia juga harus jadi anggota superkelas Sebuah anggota superkelas boleh secara opsional dimasukkan menjadi anggota sembarang subkelasnya

    Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

    Slide 4- *Subkelas dan Superkelas (4)Examples:Seorang salaried (= bergaji) employee yang juga seorang engineer menjadi anggota dua subkelas:ENGINEER, danSALARIED_EMPLOYEE Seorang salaried employee yang juga seorang engineering manager masuk dalam tiga subkelas:MANAGER,ENGINEER, danSALARIED_EMPLOYEE Tidaklah harus, setiap entitas dalam suatu superkelas menjadi anggota suatu subkelas tertentu

    Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

    Slide 4- *Menggambarkan Spesialisasi dalam Diagram EER

    Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

    Slide 4- *Pewarisan (Inheritance) Atribut dalam Relasi Superkelas / SubkelasSebuah entitas yang menjadi anggota subkelas mewarisi: Semua atribut dari entitas sebagai anggota superkelas Semua relasi dari entitas sebagai anggota superkelas Example:Pada slide sebelumnya, SECRETARY (seperti juga TECHNICIAN dan ENGINEER) mewarisi atribut Name, SSN, , dari EMPLOYEESetiap entitas SECRETARY akan memiliki nilai bagi atribut yang diwarisinya

    Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

    Slide 4- *Spesialisasi (1)Spesialisasi adalah proses mendefinisikan himpunan subkelas dari superkelasHimpunan subkelas terebut didasarkan kepada sejumlah karakteristik pembeda pada entitas dalam superkelasExample: {SECRETARY, ENGINEER, TECHNICIAN} adalah spesialisasi dari EMPLOYEE berdasarkan tipe pekerjaan.Boleh jadi ada beberapa spesialisasi dari superkelas yang sama

    Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

    Slide 4- *Spesialisasi (2)Example: Spesialisasi lain dari EMPLOYEE adalah berdasarkan metode pengupahan yaitu {SALARIED_EMPLOYEE, HOURLY_EMPLOYEE}.Relasi superkelas/subkelas dan spesialisasi dapat digambarkan dalam diagram EERAtribut suatu subkelas disebut atribut specifik atau lokal.Misalnya, atribut TypingSpeed pada SECRETARYSubkelas juga dapat berparrtisipasi dalam relationship type tertentu.Msalnya, relasi BELONGS_TO dari HOURLY_EMPLOYEE

    Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

    Slide 4- *Spesialisasi (3)

    Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

    Slide 4- *GeneralisasiGeneralisasi adalah kebalikan proses specialisasiBeberapa kelas dengan ciri yang umum digeneralisasi menjadi suatu superkelas:Kelas aslinya menjadi subkelasnyaExample: CAR, TRUCK digeneralisasi menjadi VEHICLE; Baik CAR, TRUCK menjadi subkelas dari superkelas VEHICLE.Kita bisa melihat {CAR, TRUCK} sebagai spesialisasi dari VEHICLE Atau, kita bisa melihat VEHICLE sebagai generalisasi dari CAR dan TRUCK

    Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

    Slide 4- *Generalisasi (2)

    Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

    Slide 4- *Generalisasi dan Spesialisasi (1)Notasi diagram kadang kala dapat digunakan untuk membedakan generalisasi dengan spesialisasiPanah menunjuk ke superkelas yang digeneralisasikan menunjukkan suatu generalisasiPanah yang menunjuk ke subkelas yang dispesialisasikan menunjukkan spesialisasiNotasi ini tidak digunakan dalam buku karena untuk menetukan proses mana yang lebih sesuai dalam suatu situasi sering bersifat subjektifMenggambar panah ini tidak dianjurkan

    Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

    Slide 4- *Generalisasi dan Spesialisasi (2)Pemodelan Data Modeling dengan Spesialisasi dan GeneralisasiSebuah superkelas atau subkelas menyatakan suatu koleksi (atau himpunan atau pengelompokan) entitasIa juga menunjukkan suatu tipe entitas khususDitunjukkan dengan persegi dalam diagram EER (seperti entity types) Kita bisa menyebut semua entity types (dan koleksinya yang berkaitan) kelas, terlepas apakah berupa entity types, superkelas, atau subkelas

    Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

    Slide 4- *Constraint pada Spesialisasi dan Generalisasi (1)Jika kita dapat menentukan dengan tepat entitas yang akan menjadi anggota setiap subkelas berdasarkan suatu syarat, subkelas itu disebut subkelas yang predicate-defined (atau condition-defined)Syarat menjadi constraint yang menentukan anggota subkelasSuatu subkelas yang predicate-defined ditunjukkan dengan menuliskan syarat predikatnya di sisi garis yang menghubungkan subkelas dengan superkelasnya

    Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

    Slide 4- *Constraint pada Spesialisasi dan Generalisasi (2)Jika semua subkelas dalam suatu spesialisasi memiliki syarat keanggotaan pada atribut yang sama dari superkelasnya, maka ini disebut spesialisasi yang attribute-definedAtribut-nya disebut atribut yang mendefinisikan pada spesialisasi tersebutExample: JobType atribut yang mendefinisikan pada spesialisasi {SECRETARY, TECHNICIAN, ENGINEER} dari EMPLOYEEJika syarat yang menentukan keanggotaan tidak ada, subkelas disebut user-defined Membership in a subclass is determined by the database users by applying an operation to add an entity to the subclass Membership in the subclass is specified individually for each entity in the superclass by the user

    Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

    Slide 4- *Menampilkan suatu spesialisasi attribute-defined dalam diagram EER

    Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

    Slide 4- *Constraint pada Specialisasi dan Generalisasi (3)Dua constraint dasar dapat diterapkan pada suatu specialisasi/generalisasi:Disjointness Constraint: Completeness Constraint:

    Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

    Slide 4- *Constraint pada Specialisasi dan Generalisasi (4)Disjointness Constraint: Menyatakan subkelas dari spesialisasi haruslah disjoint:sebuah entitas dapat menjadi anggota paling banyak satu subkelas dari spesialisai terkaitDitunjukkan oleh d dalam diagram EERJika tidak disjoint, specialisasi bersifat overlapping:Yaitu entitas yang sama dapat menjadi anggota lebih dari satu subkelas dari spesialisasi terkaitDitunjukkan oleh o dalam diagram EER

    Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

    Slide 4- *Constraint pada Specialisasi dan Generalisasi (5)Completeness Constraint: Total menentukan bahwa setiap entitas dalam superkelas harus menjadi anggota dari subekals tertentu dalam spesialisasi/generalisasiDitunjukkan dalam diagram EER oleh garis gandaPartial memungkinkan sebuah entitas tidak menjadi anggota subkelas manapunDitunjukkan dalam diagram EER garis tunggal

    Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

    Slide 4- *Constraint pada Specialisasi dan Generalisasi (6)Jadi kita punya empat tipe spesialisasi/ generalisasi:Disjoint, total Disjoint, partial Overlapping, total Overlapping, partialNote: Generalisasi biasanya total karena superkelas diturunkan dari subkelasnya.

    Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

    Slide 4- *Example of disjoint partial Specialization

    Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

    Slide 4- *Example of overlapping total Specialization

    Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

    Slide 4- *Hirarki Spesialisasi/Generalisasi, Lattice & Subkelas Bersama (Shared) (1)Sebuah subkelas dapat dispesifikasikan memiliki subkelas lanjutan lagiSehingga membentuk sebuah hirarki atau suatu lattice (kisi)Hirarki memiliki constraint bahwa setiap subkelas hanya memiliki satu superkelas (disebut pewarisan tunggal/single inheritance); pada dasarnya membentuk suatu struktur pohonDalam suatu lattice, sebuah subkelas dapat menjadi subkelas lebih dari satu superkelas (disebut pewarisan berganda/multiple inheritance)

    Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

    Slide 4- *Subkelas Bersama (Shared) Engineering_Manager

    Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

    Slide 4- *Hirarki Spesialisasi/Generalisasi, Lattice & Subkelas Bersama (Shared) (2)Dalam suatu lattice atau hirarki, sebuah subkelas mewarisi atribut bukan hanya dari superkelas yang langsung di atasnya, tapi juga dari semua superkelas pendahulunyaSuatu subkelas dengan lebih dari satu superkelas disebut subkelas bersama (shared) (multiple inheritance)Dapat memiliki:Hirarki atau lattice spesialisasi, atauHirarki atau lattice generalization, Bergantung kepada caranya diturunkanDi buku hanya digunakan istilah spesialisasi (untuk menyatakan hasil akhir dari spesialisasi atau pun generalisasi)

    Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

    Slide 4- *Hirarki Spesialisasi/Generalisasi, Lattice & Subkelas Bersama (Shared) (3)Dalam spesialisasi, mulailah dari suatu entity type dan kemudian definisikan subkelas entity type tersebut menggunakan spesialisasi berturut-turutdisebut proses penyempurnaan konseptual top downDalam generalisasi, mulailah dari banyak entity type dan generalisasikan entity type yang memiliki banyak sifat yang samaDisebut proses sintesis konseptual bottom upDalam praktek, kombinasi kedua proses biasanya yang digunakan

    Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

    Slide 4- *Contoh Lattice Spesialisasi / Generalisasi (UNIVERSITY)

    Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

    Slide 4- *Kategori (UNION TYPE) (1)Semua relasi superkelas/subkelas yang telah kita bahas hanya memiliki superkelas tunggalSubclass bersama (shared) adalah subkelas dalam:Lebih dari satu relasi superkelas/subkelas berbedaSetiap relasi hanya memiliki superkelas tunggalSubkelas shared menyebabkan multiple inheritanceDalam kasus tertentu, kita harus memodelkan sebuah relasi superkelas/subkelas dengan lebih dari satu superkelasSuperkelas dapat mewakili entity type yang berbeda-bedaSubkelas seperti ini disebut kategori atau UNION TYPE

    Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

    Slide 4- *Kategori (UNION TYPE) (2)Example: dalam database untuk registrasi kendaraan, pemilik kendaraan dapat berupa seorang PERSON, sebuah BANK (di mana kendaraan diagunkan) atau sebuah COMPANY.Sebuah kategori (UNION type) disebut OWNER dibuat untuk merepresentasikan subset dari gabungan (union) dari ketiga superkelas COMPANY, BANK, dan PERSON Sebuah anggota kategori harus berada dalam paling sedikit satu dari superkelasnyaPerbedaan dengan subkelas shared, yang merupakan:subset dari irisan superkelasnyaanggota subkelas shared harus terdapat dalam semua superkelasnya

    Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

    Slide 4- *Dua kategori (UNION types): OWNER, REGISTERED_VEHICLE

    Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

    Slide 4- *Formal Definitions of EER Model (1): FYIClass C: A type of entity with a corresponding set of entities:could be entity type, subclass, superclass, or categoryNote: The definition of relationship type in ER/EER should have 'entity type' replaced with 'class to allow relationships among classes in generalSubclass S is a class whose:Type inherits all the attributes and relationship of a class CSet of entities must always be a subset of the set of entities of the other class CS CC is called the superclass of SA superclass/subclass relationship exists between S and C

    Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

    Slide 4- *Formal Definitions of EER Model: FYI (2)Specialization Z: Z = {S1, S2,, Sn} is a set of subclasses with same superclass G; hence, G/Si is a superclass relationship for i = 1, ., n.G is called a generalization of the subclasses {S1, S2,, Sn} Z is total if we always have:S1 S2 Sn = G;Otherwise, Z is partial.Z is disjoint if we always have:Si S2 empty-set for i j;Otherwise, Z is overlapping.

    Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

    Slide 4- *Formal Definitions of EER Model:FYI (3)Subclass S of C is predicate defined if predicate (condition) p on attributes of C is used to specify membership in S; that is, S = C[p], where C[p] is the set of entities in C that satisfy condition pA subclass not defined by a predicate is called user-defined Attribute-defined specialization: if a predicate A = ci (where A is an attribute of G and ci is a constant value from the domain of A) is used to specify membership in each subclass Si in ZNote: If ci cj for i j, and A is single-valued, then the attribute-defined specialization will be disjoint.

    Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

    Slide 4- *Formal Definitions of EER Model:FYI (4)Category or UNION type TA class that is a subset of the union of n defining superclasses D1, D2,Dn, n>1:T (D1 D2 Dn)Can have a predicate pi on the attributes of Di to specify entities of Di that are members of T. If a predicate is specified on every Di: T = (D1[p1] D2[p2] Dn[pn])

    Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

    Slide 4- *Notasi Diagram AlternatifDiagram ER/EER merupakan notasi yang khusus untuk menampilkan konsep dari model secara diagramAlat bantu perancangan database menggunakan banyak notasi alternative untuk konsep yang sama ataupun miripSalah satu notasi alternative yang popular menggunakan diagram kelas UML (lihat slide berikutnya)

    Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

    Slide 4- *Contoh UML untuk Menampilkan Spesialisasi / Generalisasi

    Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

    Slide 4- *Notasi Diagram Alternatif

    Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

    Slide 4- *Konsep Pemodelan Konseptual UmumABSTRAKSI DATA UMUMKLASIFIKASI dan INSTANSIASIAGGREGASI dan ASOSIASI (relasi)GENERALISASI and SPESIALISASIIDENTIFIKASICONSTRAINTSKARDINALITAS (Min dan Max)CAKUPAN (Total vs. Partial, dan Exclusive (disjoint) vs. Overlapping)

    Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

    Slide 4- *SummaryIntroduced the EER model conceptsClass/subclass relationshipsSpecialization and generalizationInheritanceThese augment the basic ER model concepts introduced in Chapter 3EER diagrams and alternative notations were presented

    ****************************************