Conceptual Data Model Principles Graphical Languages Modeling Constraints Bogdan Shishedjiev Conceptual Data Model 1 Principles • Main approach – object-oriented – – – – Class (entity set, object) Association (relationship, relation) Data member (attribute, property) Instance (entity, occurrence) Bogdan Shishedjiev Conceptual Data Model 2 Languages • Entity Relationship model (E-R) (ERM) – Entity set – Relationship – Attribute Bogdan Shishedjiev Conceptual Data Model 3 Languages • MERISE – Object with occurrences – Relation – Propertiy ENROLL STUDENT -Name -Address SUBJECT -Name IS GIVEN TEXTBOOK Bogdan Shishedjiev Conceptual Data Model 4 Languages • Object Role Modeling (ORM) Bogdan Shishedjiev Conceptual Data Model 5 Languages • Class Diagram – Class with instances – Association – Property STUDENT +Name +FamilyName +Address +enrolls +is enrolled SUBJECT +SubName * * Bogdan Shishedjiev Conceptual Data Model 6 Conceptual Model • Goals – Starting from the dictionary and the rules this model tries to reveal the relations among the data and their interaction • Example – School Rules 1. Every class has a one and only one room. 2. Every subject is teaches by only one teacher. 3. Every class is taught a subject a fixed number of hours. 4. Every student can have no more one mark in every subject. 5. The school manages the timetable and the rating of students and teachers.. Dictionary • Student’s Address, • Subject, • Number of Hours, • Class Name, • Student's Family Name, • Teacher‘s Name, • Mark, • Room Number, • Student’s Name Bogdan Shishedjiev Conceptual Data Model 7 Concepts • Class (Entity class, Entity instance) • Association – Relationship between entity instances • Attribute – Properties Bogdan Shishedjiev Conceptual Data Model 8 Defining an Entity Class • Give it a name (a noun) • Define its attributes • Define the rules – What belongs to the class? – How the instances are identified in the class? • Identifying an instance (Identifier) NAME 1.Attribute 2.Attribute STUDENT 1.First Name 2.Last Name 3.Address Bogdan Shishedjiev Conceptual Data Model 9 Association • Give a name (a verb) • Determine the participating classes • Define the cardinalities Bogdan Shishedjiev Conceptual Data Model 10 Examples Bogdan Shishedjiev Conceptual Data Model 11 Identifier of an Association Bogdan Shishedjiev Conceptual Data Model 12 Cardinalities of an Association • Cardinalities One to One – 0..1 – 0..1 – Every student can use one locker – 0..1 – 1 – 1 – 1 Every student uses a locker and ther are no free lockers Bogdan Shishedjiev Conceptual Data Model 13 Cardinalities of an Association • Cardinalities One to Many – 1 – 1..N – 0..1 – 1..N – 1 – 0..N – 0..1 – 0..N Bogdan Shishedjiev Conceptual Data Model 14 Cardinalities of an Association • Cardinalities Many to Many – 1..N – 1..N – 0..N – 1..N – 0..N – 0..N Bogdan Shishedjiev Conceptual Data Model 15 Cardinalities of an Association • Generalization – Minimal cardinality • • Mandatory participation of every instance - 1 Optionally participation of every instance - 0 – Maximal cardinality • • To only one instance of the other class – 1 To multiple instances of the other class - N Bogdan Shishedjiev Conceptual Data Model 16 Dimension of an Association • Number of different classes participating in it • Multidimensional Make cours -HourNumber TEACHER -End4 * -End3 * -TeacherName SUBJECT -SubName -End5 * ROOM -RoomNo Bogdan Shishedjiev Conceptual Data Model 17 Dimension of an Association • Multidimensional Bogdan Shishedjiev Conceptual Data Model 18 Dimension of an Association • One-dimensional (Reflexive) Bogdan Shishedjiev Conceptual Data Model 19 Aggregate Associations • Aggregation • Composition Bogdan Shishedjiev Conceptual Data Model 20 Weak Entities • It is identified through the association Bogdan Shishedjiev Conceptual Data Model 21 Recommendations • Don’t use high dimension associations • Be aware not replace classes by associations Bogdan Shishedjiev Conceptual Data Model 22 Case Study – Management Rules 1. A patient is characterized by: – – – – 2. General practitioner is characterized by: – – – 3. 4. Serial Number Name Phone Number Each patient is supervised by a GP A policlinic is characterized by: – – – 5. Unique Number Name address Phone Number Name Address Phone Number A specialist is characterized by: – – – Serial Number Name Phone Number 6. Each specialist has one or more specialties 7. Each specialist can give consultations in one or more policlinics 8. Each policlinic groups several specialists 9. A patient can make an appointment for a consultation with specialist in a given policlinic, The specialist must work in this policlinic 10. The appointment is for a date that is later than the date of appointment 11. If the consultation does not take place a new appointment must be made no matter what are reasons for the failure 12. Lists of appointment for every specialist are made at the beginning of the day. 13. In the end of every day two reports are made: – – A log of appointment made A log of consultations done Bogdan Shishedjiev Conceptual Data Model 23 Case Study - Policlinic Bogdan Shishedjiev Conceptual Data Model 24 Case Study - Policlinic Bogdan Shishedjiev Conceptual Data Model 25 Subtypes • Example – Hardware components order Bogdan Shishedjiev Conceptual Data Model 26 Subtypes Bogdan Shishedjiev Conceptual Data Model 27