Conceptual Data Model

advertisement
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
Download