ER modelingER modeling - STI Innsbruck · ER Modeling • Purpose of ER modelling: to create an...

42
ER modeling ER modeling MSc 2008/2009 Sc 008/ 009 Lecture 5/6 © Copyright 2007 STI - INNSBRUCK www.sti-innsbruck.at 1

Transcript of ER modelingER modeling - STI Innsbruck · ER Modeling • Purpose of ER modelling: to create an...

Page 1: ER modelingER modeling - STI Innsbruck · ER Modeling • Purpose of ER modelling: to create an accurate refl ti f th l ld i d t bflection of the real world in a database • The

ER modelingER modeling

MSc 2008/2009Sc 008/ 009

Lecture 5/6

© Copyright 2007 STI - INNSBRUCK www.sti-innsbruck.at

1

Page 2: ER modelingER modeling - STI Innsbruck · ER Modeling • Purpose of ER modelling: to create an accurate refl ti f th l ld i d t bflection of the real world in a database • The

Summary of the previous lecture

• General principles.• Basic elements and their properties: entities,

attributes, associations, specialization/generalizationspecialization/generalization.

• Relationships and their characteristics.

www.sti-innsbruck.at 2

Page 3: ER modelingER modeling - STI Innsbruck · ER Modeling • Purpose of ER modelling: to create an accurate refl ti f th l ld i d t bflection of the real world in a database • The

Today‘s lecture

• ER modeling

Slides based on „Introduction to Entity-relationship modeling“ at http://www.inf.unibz.it/~franconi/teaching/2000/ct481/er-modelling/

www.sti-innsbruck.at 3

Page 4: ER modelingER modeling - STI Innsbruck · ER Modeling • Purpose of ER modelling: to create an accurate refl ti f th l ld i d t bflection of the real world in a database • The

Databases

• Data bases and data base management system –th i f ti t t h lthe core information systems technology

• Example of uses: storing corporate data, web pages on-line movies work flow informationpages, on line movies, work flow information, documents

• Databases are one the most applied solutions to business process reengineering (BPR)

www.sti-innsbruck.at

Page 5: ER modelingER modeling - STI Innsbruck · ER Modeling • Purpose of ER modelling: to create an accurate refl ti f th l ld i d t bflection of the real world in a database • The

ER Modeling

• Purpose of ER modelling: to create an accurate fl ti f th l ld i d t breflection of the real world in a database

• The ER model doesn’t actually give us a database description; it gives an intermediate step from whichdescription; it gives an intermediate step from which it is easy to define a database

www.sti-innsbruck.at

Page 6: ER modelingER modeling - STI Innsbruck · ER Modeling • Purpose of ER modelling: to create an accurate refl ti f th l ld i d t bflection of the real world in a database • The

Example

• Every department within our company is in only one di i i E h di i i h thdivision. Each division has more than one department in it. We don’t have an upper limit on the number of departments that a division can have. pFor example, the New Business Development---the one managed by Mackenzie---and Higher Education departments are both in the MarketingEducation departments are both in the Marketingdivision.

www.sti-innsbruck.at

Page 7: ER modelingER modeling - STI Innsbruck · ER Modeling • Purpose of ER modelling: to create an accurate refl ti f th l ld i d t bflection of the real world in a database • The

Definitions

• An entity type is a collection of entities that share a d fi iticommon definition.

• An entity is a person, place, concept, or thing about which the business needs datawhich the business needs data.

• Example:– Department is the name of one entity type. – One instance of this entity type is the New Business

Development department.

www.sti-innsbruck.at

Page 8: ER modelingER modeling - STI Innsbruck · ER Modeling • Purpose of ER modelling: to create an accurate refl ti f th l ld i d t bflection of the real world in a database • The

Definitions

• A relationship is an association between entity ttypes.

• The defining characteristic of a relationship is that several entity types are involvedseveral entity types are involved.

• Example: Three entity types (Employee, Department, Division) and two relationships among these entity types (manages, contains).

www.sti-innsbruck.at

Page 9: ER modelingER modeling - STI Innsbruck · ER Modeling • Purpose of ER modelling: to create an accurate refl ti f th l ld i d t bflection of the real world in a database • The

Graphical representation

• ER models are usually represented graphically. • The language we are going to use represents entity

types as rectangles and relationships as diamonds. • Example:• Example:

www.sti-innsbruck.at

Page 10: ER modelingER modeling - STI Innsbruck · ER Modeling • Purpose of ER modelling: to create an accurate refl ti f th l ld i d t bflection of the real world in a database • The

Relationships

• No direct association between division and employee This does not mean that there is noemployee. This does not mean that there is norelationship between division and employee.

• An ER diagram should contain the minimum gnumber of relationships necessary to reflect the situation.

www.sti-innsbruck.at

Page 11: ER modelingER modeling - STI Innsbruck · ER Modeling • Purpose of ER modelling: to create an accurate refl ti f th l ld i d t bflection of the real world in a database • The

Relationships

• Example: divisions have multiple departments and d t t l b t i d ithidepartments can only be contained within one division.

• Or for every one division there can be manyOr, for every one division there can be manydepartments. In the language of ER modelling this is called a 1:M (read: “one to many”) relationship.

• Example:

www.sti-innsbruck.at

Page 12: ER modelingER modeling - STI Innsbruck · ER Modeling • Purpose of ER modelling: to create an accurate refl ti f th l ld i d t bflection of the real world in a database • The

Cardinality

• A relationship’s cardinality defines the maximum b f titi f t th t bnumber of entities of one type that can be

associated with an entity of another type. • 1:1 One entity of type X can be associated with at1:1 One entity of type X can be associated with, at

most, one entity of type Y. One entity of type Y can be associated with, at most, one entity of type X.

www.sti-innsbruck.at

Page 13: ER modelingER modeling - STI Innsbruck · ER Modeling • Purpose of ER modelling: to create an accurate refl ti f th l ld i d t bflection of the real world in a database • The

Cardinality

• 1:M One entity of type X can be associated with, at t tit f t Y O tit f t Ymost, one entity of type Y. One entity of type Y can

be associated with, at most, one entity of type X. • M:M One entity of type X can be associated withM:M One entity of type X can be associated with

many entities of type Y. One entity of type Y can be associated with many entities of type X.

www.sti-innsbruck.at

Page 14: ER modelingER modeling - STI Innsbruck · ER Modeling • Purpose of ER modelling: to create an accurate refl ti f th l ld i d t bflection of the real world in a database • The

Existence

• A relationship’s existence defines what we know b t th i t f tit th th idabout the existence of any entity on the other side

of a relationship from a given entity. • Existence is given asExistence is given as

– optional, – mandatory,

k– or unknown.

www.sti-innsbruck.at

Page 15: ER modelingER modeling - STI Innsbruck · ER Modeling • Purpose of ER modelling: to create an accurate refl ti f th l ld i d t bflection of the real world in a database • The

Existence

• Example– optional

• A department need not have any manager.

– mandatory • A department must have at least one manager.

– unknown • It is unknown whether or not a department has to have a manager.

www.sti-innsbruck.at

Page 16: ER modelingER modeling - STI Innsbruck · ER Modeling • Purpose of ER modelling: to create an accurate refl ti f th l ld i d t bflection of the real world in a database • The

Existence

• Given any (randomly chosen) department, there t b l th th id f thmust be an employee on the other side of the

manage relationship. Thus, the relationship is mandatory in this direction. This is indicated by a y ydash on the line.

• Given any (randomly chosen) employee, there need not be any department on the other side of thenot be any department on the other side of the manage relationship. Thus, the relationship is optional in this direction. This is indicated by a circle on the line.

www.sti-innsbruck.at

Page 17: ER modelingER modeling - STI Innsbruck · ER Modeling • Purpose of ER modelling: to create an accurate refl ti f th l ld i d t bflection of the real world in a database • The

Entity subtypes

• An entity subtype is a collection of entities of the t t hi h d fi iti dsame type to which a narrower definition and

additional attributes and/or relationships apply. • Example:Example:

www.sti-innsbruck.at

Page 18: ER modelingER modeling - STI Innsbruck · ER Modeling • Purpose of ER modelling: to create an accurate refl ti f th l ld i d t bflection of the real world in a database • The

Entity subtypes

• There are many situations in which subtypes can be t d b t h ld t b O l t btcreated but should not be. Only create subtypes

– if the subtype is involved in relationships that the other subtypes are not or

– if the subtype needs to have additional facts stored with it.

www.sti-innsbruck.at

Page 19: ER modelingER modeling - STI Innsbruck · ER Modeling • Purpose of ER modelling: to create an accurate refl ti f th l ld i d t bflection of the real world in a database • The

Entity subtypes

• Example

• If a relationship defines the members of a proposed subtype, then use the relationship instead of the subtype.

www.sti-innsbruck.at

Page 20: ER modelingER modeling - STI Innsbruck · ER Modeling • Purpose of ER modelling: to create an accurate refl ti f th l ld i d t bflection of the real world in a database • The

Attributes

• An attribute is a descriptor whose values are associated with individual entities of a specific typeassociated with individual entities of a specific type.

• The attribute value for any single entity can have only one value at a given time. This value can change over time.

• Example:– An attribute of an employee might be salary. At any one p y g y y

time if you asked for the salary level of a certain employee, then you should get one answer.

www.sti-innsbruck.at

Page 21: ER modelingER modeling - STI Innsbruck · ER Modeling • Purpose of ER modelling: to create an accurate refl ti f th l ld i d t bflection of the real world in a database • The

Identifier

• A identifier uniquely identifies a single (at least one, d th ) titand no more than one) entity.

• If you know the value of the identifier, then you know exactly which entity you are dealing withknow exactly which entity you are dealing with.

• The identifier’s value will never change over time.

www.sti-innsbruck.at

Page 22: ER modelingER modeling - STI Innsbruck · ER Modeling • Purpose of ER modelling: to create an accurate refl ti f th l ld i d t bflection of the real world in a database • The

Degree of a relationship

• Relationships can be classified by the number of tit t i l d Thi i f d t thentity types involved. This is referred to as the

degree of a relationship. • Common degrees of relationships:Common degrees of relationships:

– binary • This is a relationship between two entity types.

ternary– ternary • This is a relationship between three entity types.

– recursive • This is a relationship involving only one entity type• This is a relationship involving only one entity type.

www.sti-innsbruck.at

Page 23: ER modelingER modeling - STI Innsbruck · ER Modeling • Purpose of ER modelling: to create an accurate refl ti f th l ld i d t bflection of the real world in a database • The

Ternary relationships

• Example: – Suppose you know the following:

• works-on Li d d M k i h k d j t A d B– Lindsey and Mackenzie have worked on projects A and B.

• applies – Lindsey has used skills interface design and database design

while Mackenzie only used her database design skill. • used on• used on

– Both skills have been used on both projects. – Figure out on which projects Lindsey used which skills.

www.sti-innsbruck.at

Page 24: ER modelingER modeling - STI Innsbruck · ER Modeling • Purpose of ER modelling: to create an accurate refl ti f th l ld i d t bflection of the real world in a database • The

Ternary relationships

• In order to capture the necessary information the database needs a ternary relationshipneeds a ternary relationship.

• The used on relationship captures information three pieces at a time It stores facts such as:a time. It stores facts such as:– Lindsey used interface design skill on project A. – Mackenzie used database design skill on project A.

www.sti-innsbruck.at

Page 25: ER modelingER modeling - STI Innsbruck · ER Modeling • Purpose of ER modelling: to create an accurate refl ti f th l ld i d t bflection of the real world in a database • The

Recursive relationship

• A recursive relationship is a relationship that an tit h ith it lfentity has with itself.

• Example:– An employee who is the manager of other employeesAn employee who is the manager of other employees.

– A manager is really just another employee

www.sti-innsbruck.at

Page 26: ER modelingER modeling - STI Innsbruck · ER Modeling • Purpose of ER modelling: to create an accurate refl ti f th l ld i d t bflection of the real world in a database • The

Recursive relationship

• Reading from left, down, and back up: An employee t th l b tmay not manage any other employees but may

manage many. • Reading from right down and back up: AllReading from right, down, and back up: All

employees are managed by exactly one other employee.

www.sti-innsbruck.at

Page 27: ER modelingER modeling - STI Innsbruck · ER Modeling • Purpose of ER modelling: to create an accurate refl ti f th l ld i d t bflection of the real world in a database • The

Attributes of a relationship

• Relationships can also have attributesE l• Example:

– Store when a person has joined a club• If the attribute is of the person entity, then this would indicate

when the person joined a club but we would not know which p jclub.

• If the attribute is of the club entity, then this would indicate (possibly) when the club was founded or (possibly) when the most recent member joined the club but we would not knowmost recent member joined the club but we would not know the dates on which each person joined.

– Solution: make join date an attribute of the is memberrelationship.

www.sti-innsbruck.at

Page 28: ER modelingER modeling - STI Innsbruck · ER Modeling • Purpose of ER modelling: to create an accurate refl ti f th l ld i d t bflection of the real world in a database • The

Entity subtype partitioning

• Optional versus mandatory– mandatory

• He/she can demand that the person be classified as one of the subtypes.

ti l– optional • He/she can allow a person to be created without classifying the

person as any subtype.

– Neither one is preferable– Neither one is preferableto the other. The properone to choose depends on the business situation.

www.sti-innsbruck.at

Page 29: ER modelingER modeling - STI Innsbruck · ER Modeling • Purpose of ER modelling: to create an accurate refl ti f th l ld i d t bflection of the real world in a database • The

Entity subtype partitioning

• Disjoint versus overlapping– disjoint

• If entities are allowed to be no more than one subtype, then the subtypes are said to be disjoint.

l i– overlapping • If entities can be classified as several subtypes, then the subtypes

are said to be overlapping.

www.sti-innsbruck.at

Page 30: ER modelingER modeling - STI Innsbruck · ER Modeling • Purpose of ER modelling: to create an accurate refl ti f th l ld i d t bflection of the real world in a database • The

Aggregation of entity types

• Subtypes are generally thought of in terms of X is a Y ( hi h i h th l f d tY (which is why these are commonly referred to as is-a relationships).

• Another type of relationship that needs to beAnother type of relationship that needs to be represented in a database is the part ofrelationship, more formally called aggregation.

www.sti-innsbruck.at

Page 31: ER modelingER modeling - STI Innsbruck · ER Modeling • Purpose of ER modelling: to create an accurate refl ti f th l ld i d t bflection of the real world in a database • The

Aggregation of entity types

• Example

www.sti-innsbruck.at

Page 32: ER modelingER modeling - STI Innsbruck · ER Modeling • Purpose of ER modelling: to create an accurate refl ti f th l ld i d t bflection of the real world in a database • The

Parallel relationships

• Two entities can have more than one type of l ti hirelationship

• Example– the entity types person and insurance policy and thethe entity types person and insurance policy and the

relationships between them of pays for and is insured under.

www.sti-innsbruck.at

Page 33: ER modelingER modeling - STI Innsbruck · ER Modeling • Purpose of ER modelling: to create an accurate refl ti f th l ld i d t bflection of the real world in a database • The

Weak entities

• Weak entities are entities, but with a difference –k titi l i t b th titweak entities only exist because some other entity

exists. • Example:Example:

www.sti-innsbruck.at

Page 34: ER modelingER modeling - STI Innsbruck · ER Modeling • Purpose of ER modelling: to create an accurate refl ti f th l ld i d t bflection of the real world in a database • The

Types of attributes

• Basic These are values provided to the business These are the– These are values provided to the business. These are the types of attributes that we have been discussing so far. Think of name, address, etc. These values cannot be deduced from the values of other attributes.

D i d• Designed – This is invented and exists only in the database. An

example might be a unique identifier for a department. This value is not changed once it is set.This value is not changed once it is set.

• Derived – This is a value that can be calculated from the value of

other attributes in the database. An example might be the p gage of an employee when the birth date is in the database. These attributes should, generally, not be stored in the database but should be calculated when needed.

www.sti-innsbruck.at

Page 35: ER modelingER modeling - STI Innsbruck · ER Modeling • Purpose of ER modelling: to create an accurate refl ti f th l ld i d t bflection of the real world in a database • The

Attribute optionality

• Not all entities have a value for every attribute; h tt ib t t h l f llhowever, some attributes must have a value for all entities.

• optionaloptional – An entity need not have a value associated with an

optional attribute.

d t• mandatory – An entity must have a value associated with a mandatory

attribute.

www.sti-innsbruck.at

Page 36: ER modelingER modeling - STI Innsbruck · ER Modeling • Purpose of ER modelling: to create an accurate refl ti f th l ld i d t bflection of the real world in a database • The

Attribute optionality

• Example– an employee entity type has attributes hire date and

termination date. Hire date would certainly be classified as a mandatory attribute; if the employee didn’t have a hire d t th th ld ’t ll b ldate, then the person couldn’t very well be an employee.

• The optionality of an attribute depends highly on theThe optionality of an attribute depends highly on the business situation.

www.sti-innsbruck.at

Page 37: ER modelingER modeling - STI Innsbruck · ER Modeling • Purpose of ER modelling: to create an accurate refl ti f th l ld i d t bflection of the real world in a database • The

More about attributes

• default – This is the value that an attribute should take if it is not

assigned a value.

• permitted range p g– These are the values that an attribute is allowed to take.

• composite A i ib i ib d f– A composite attribute is an attribute made up of many other attributes.

www.sti-innsbruck.at

Page 38: ER modelingER modeling - STI Innsbruck · ER Modeling • Purpose of ER modelling: to create an accurate refl ti f th l ld i d t bflection of the real world in a database • The

More about attributes

• Examples– default

• the state field of an employee table might have the default value of MI.

itt d– permitted range • the sale_price field of the inventory table might have a permitted

range of sale_price > 0

– composite– composite • an employee’s address that is made up of the house number, street,

city, state, and zip

www.sti-innsbruck.at

Page 39: ER modelingER modeling - STI Innsbruck · ER Modeling • Purpose of ER modelling: to create an accurate refl ti f th l ld i d t bflection of the real world in a database • The

Assignments 5/6

a) What is the cardinality and existence of each of the following relationships in just the direction given? State any assumptions you have to make.

1. Husband to wife 2 Student to degree2. Student to degree 3. Child to parent 4. Player to team 5. Student to course

b) For each of the following pairs of rules, identify two entity types and one relationship. State the cardinality and existence of the relationship in each case. If you don’t think enough information is available to define either of these, then state an assumption that makes it clear. Draw the ER diagram.

1 A department employs many persons A person is employed by at most one1. A department employs many persons. A person is employed by, at most, one department.

2. A manager manages, at most, one department. A department is managed by, at most, one manager.

3. An author may write many books. A book may be written by many authors. 4. A team consists of many players. A player plays for only one team. y y y y y5. A lecturer teaches, at most, one course. A course is taught by exactly one lecturer. 6. A flight-leg connects two airports. An airport is used by many flight-legs.7. A purchase order may be for many products. A product may appear on many purchase

orders. 8. A customer may submit many orders. An order is for exactly one customer.

www.sti-innsbruck.at 39

Page 40: ER modelingER modeling - STI Innsbruck · ER Modeling • Purpose of ER modelling: to create an accurate refl ti f th l ld i d t bflection of the real world in a database • The

Asignments 5/6 (cont)

c) For each of the following sets of sentences, draw the corresponding ER diagramcorresponding ER diagram.1. An account can be charged against many projects, though it may

not be charged against any. A project must have at least one, though it may have many, accounts charged against it.

2 Projects must be classified as either top secret or civilian (but not2. Projects must be classified as either top secret or civilian (but not both). There is information specific to top secret projects and specific to civilian projects that we want to record.

3. An employee must manage exactly one department. A department ma or ma not ha e one emplo ee manage itmay or may not have one employee manage it.

4. Men are only allowed to supervise men. Women are only allowed to supervise women. We do not want to allow the database to hold data representing a man supervising a woman. An employee,

dl f i i d t tl ffi ith h ffiregardless of sex, is assigned to exactly one office, with each office having exactly one employee in it. (Be sure to include the office entity in this diagram.)

www.sti-innsbruck.at 40

Page 41: ER modelingER modeling - STI Innsbruck · ER Modeling • Purpose of ER modelling: to create an accurate refl ti f th l ld i d t bflection of the real world in a database • The

Asingments 5/6 (cont)

d) Draw the corresponding ER diagram for the set of t b lsentences below.

1. Each supplier has a unique name.2. More than one supplier can be located in the same city.pp y3. Each part has a unique part number.4. Each part has a color.5 A supplier can supply more than one part5. A supplier can supply more than one part.6. A part can be supplied by more than one supplier.7. A supplier can supply a fixed quantity of each part.

www.sti-innsbruck.at 41

Page 42: ER modelingER modeling - STI Innsbruck · ER Modeling • Purpose of ER modelling: to create an accurate refl ti f th l ld i d t bflection of the real world in a database • The

Thank You!

Questions?

www.sti-innsbruck.at 42