Entity-Relationship (ER) DiagramsEntity-Relationship (ER) Model Entity • Thing in the real world...

57
CS3200 – Database Design Spring 2018 Derbinsky Entity-Relationship (ER) Diagrams Lecture 7 February 11, 2018 Entity-Relationship (ER) Diagrams 1

Transcript of Entity-Relationship (ER) DiagramsEntity-Relationship (ER) Model Entity • Thing in the real world...

Page 1: Entity-Relationship (ER) DiagramsEntity-Relationship (ER) Model Entity • Thing in the real world Attribute • Property of an entity • Most of what we store in the database Relationship

CS3200 – Database Design� �� Spring 2018� �� Derbinsky

Entity-Relationship (ER) Diagrams

Lecture 7

February 11, 2018

Entity-Relationship (ER) Diagrams

1

Page 2: Entity-Relationship (ER) DiagramsEntity-Relationship (ER) Model Entity • Thing in the real world Attribute • Property of an entity • Most of what we store in the database Relationship

CS3200 – Database Design� �� Spring 2018� �� Derbinsky

Outline1. Context– Design & Implementation Process

2. Goals of Conceptual Design3. Entity-Relationship (ER) Model4. One ER Diagrammatic Notation5. Requirements Elicitation6. Approaches to Conceptual Design

February 11, 2018

Entity-Relationship (ER) Diagrams

2

Page 3: Entity-Relationship (ER) DiagramsEntity-Relationship (ER) Model Entity • Thing in the real world Attribute • Property of an entity • Most of what we store in the database Relationship

CS3200 – Database Design� �� Spring 2018� �� Derbinsky

Database Design and Implementation Process

February 11, 2018

Entity-Relationship (ER) Diagrams

3

Page 4: Entity-Relationship (ER) DiagramsEntity-Relationship (ER) Model Entity • Thing in the real world Attribute • Property of an entity • Most of what we store in the database Relationship

CS3200 – Database Design� �� Spring 2018� �� Derbinsky

Goal of Conceptual DesignDescription of data requirements that is…

Comprehensive• Entity types, relationships, and constraints• Sanity check of data & functional requirements• Reference for [unit/integration] testing/analysis

Concise/High-level• Easy to understand technically• Easy to communicate with non-technical users• Facilitates focus on data (vs. storage/implementation details)

Algorithmically Transformable• Improves application development efficiency, reduces errors

February 11, 2018

Entity-Relationship (ER) Diagrams

4

Page 5: Entity-Relationship (ER) DiagramsEntity-Relationship (ER) Model Entity • Thing in the real world Attribute • Property of an entity • Most of what we store in the database Relationship

CS3200 – Database Design� �� Spring 2018� �� Derbinsky

Entity-Relationship (ER) ModelEntity• Thing in the real world

Attribute• Property of an entity• Most of what we store in the database

Relationship• Association between sets of entities• Possibly with attribute(s)

February 11, 2018

Entity-Relationship (ER) Diagrams

5

Page 6: Entity-Relationship (ER) DiagramsEntity-Relationship (ER) Model Entity • Thing in the real world Attribute • Property of an entity • Most of what we store in the database Relationship

CS3200 – Database Design� �� Spring 2018� �� Derbinsky

ER Diagrams• Graphical depiction

of an ER model• Many notations, this

class…

Specialization/Generalization

February 11, 2018

Entity-Relationship (ER) Diagrams

6

All cars have a year, age, make, model, registration (unique), vehicle number (vin; unique), some number of colors…

Page 7: Entity-Relationship (ER) DiagramsEntity-Relationship (ER) Model Entity • Thing in the real world Attribute • Property of an entity • Most of what we store in the database Relationship

CS3200 – Database Design� �� Spring 2018� �� Derbinsky

Entity SetsSet of entities that have the same attributes

All cars have a year, make, and model.

February 11, 2018

Entity-Relationship (ER) Diagrams

7

CAR

Year ModelMake

Page 8: Entity-Relationship (ER) DiagramsEntity-Relationship (ER) Model Entity • Thing in the real world Attribute • Property of an entity • Most of what we store in the database Relationship

CS3200 – Database Design� �� Spring 2018� �� Derbinsky

Composite AttributesCan be subdivided into smaller subparts

All cars have a year, make, model, and registration.

February 11, 2018

Entity-Relationship (ER) Diagrams

8

CAR

Year ModelMake

Registration

NumberState

Page 9: Entity-Relationship (ER) DiagramsEntity-Relationship (ER) Model Entity • Thing in the real world Attribute • Property of an entity • Most of what we store in the database Relationship

CS3200 – Database Design� �� Spring 2018� �� Derbinsky

Multivalued AttributesCan take a [possibly specified] number of values.

All cars have a year, make, model, registration, and some number of colors.

February 11, 2018

Entity-Relationship (ER) Diagrams

9

CAR

Year ModelMake

Registration

NumberState

Color

Page 10: Entity-Relationship (ER) DiagramsEntity-Relationship (ER) Model Entity • Thing in the real world Attribute • Property of an entity • Most of what we store in the database Relationship

CS3200 – Database Design� �� Spring 2018� �� Derbinsky

Key AttributesThe value uniquely identifies each entity

All cars have a year, make, model, registration (unique), vehicle number (vin; unique), some number of colors.

February 11, 2018

Entity-Relationship (ER) Diagrams

10

CAR

Year ModelMake

Registration

NumberState

VINColor CAR

Year ModelMake

Registration

NumberState

VINColor

Page 11: Entity-Relationship (ER) DiagramsEntity-Relationship (ER) Model Entity • Thing in the real world Attribute • Property of an entity • Most of what we store in the database Relationship

CS3200 – Database Design� �� Spring 2018� �� Derbinsky

Potential Pitfall• In relational schema, underlining multiple

attributes indicates that for all rows, the combination is unique

• In ERDs, underlining multiple attributes indicates that each individually can uniquely identify an entity

February 11, 2018

Entity-Relationship (ER) Diagrams

11

Page 12: Entity-Relationship (ER) DiagramsEntity-Relationship (ER) Model Entity • Thing in the real world Attribute • Property of an entity • Most of what we store in the database Relationship

CS3200 – Database Design� �� Spring 2018� �� Derbinsky

Derived AttributesThe value can be computed

All cars have a year, age, make, model, registration (unique), vehicle number (vin; unique), some number of colors.

February 11, 2018

Entity-Relationship (ER) Diagrams

12

Color CAR

Year ModelMake

Registration

NumberState

VIN

Age

Page 13: Entity-Relationship (ER) DiagramsEntity-Relationship (ER) Model Entity • Thing in the real world Attribute • Property of an entity • Most of what we store in the database Relationship

CS3200 – Database Design� �� Spring 2018� �� Derbinsky

ExerciseDraw an ERD for the following description:

Each department has a unique name, a unique number, and a particular employee who manages the department. We keep track of the start date when that employee began managing the department. A department may have several locations.

February 11, 2018

Entity-Relationship (ER) Diagrams

13

Page 14: Entity-Relationship (ER) DiagramsEntity-Relationship (ER) Model Entity • Thing in the real world Attribute • Property of an entity • Most of what we store in the database Relationship

CS3200 – Database Design� �� Spring 2018� �� Derbinsky

Answer

February 11, 2018

Entity-Relationship (ER) Diagrams

14

Location DEPARTMENT Manager

NumberName

Manager_Start_Date

Page 15: Entity-Relationship (ER) DiagramsEntity-Relationship (ER) Model Entity • Thing in the real world Attribute • Property of an entity • Most of what we store in the database Relationship

CS3200 – Database Design� �� Spring 2018� �� Derbinsky

ExerciseDraw an ERD for the following description:

A department controls a number of projects, each of which has a unique name, a unique number, and a single location.

February 11, 2018

Entity-Relationship (ER) Diagrams

15

Page 16: Entity-Relationship (ER) DiagramsEntity-Relationship (ER) Model Entity • Thing in the real world Attribute • Property of an entity • Most of what we store in the database Relationship

CS3200 – Database Design� �� Spring 2018� �� Derbinsky

Answer

February 11, 2018

Entity-Relationship (ER) Diagrams

16

Location PROJECT

NumberName

Controlling_Department

Page 17: Entity-Relationship (ER) DiagramsEntity-Relationship (ER) Model Entity • Thing in the real world Attribute • Property of an entity • Most of what we store in the database Relationship

CS3200 – Database Design� �� Spring 2018� �� Derbinsky

ExerciseDraw an ERD for the following description:

We store each employee’s name (first, last, MI), Social Security number (SSN), street address, salary, sex (gender), and birth date. An employee is assigned to one department, but may work on several projects, which are not necessarily controlled by the same department. We keep track of the current number of hours per week that an employee works on each project. We also keep track of the direct supervisor of each employee (who is another employee).

February 11, 2018

Entity-Relationship (ER) Diagrams

17

Page 18: Entity-Relationship (ER) DiagramsEntity-Relationship (ER) Model Entity • Thing in the real world Attribute • Property of an entity • Most of what we store in the database Relationship

CS3200 – Database Design� �� Spring 2018� �� Derbinsky

Answer

February 11, 2018

Entity-Relationship (ER) Diagrams

18

Department

EMPLOYEE

SexSSN

Name

Salary

Supervisor

Birthdate

Address

Works_OnFName

LNameMI Hours

Project

Page 19: Entity-Relationship (ER) DiagramsEntity-Relationship (ER) Model Entity • Thing in the real world Attribute • Property of an entity • Most of what we store in the database Relationship

CS3200 – Database Design� �� Spring 2018� �� Derbinsky

ExerciseDraw an ERD for the following description:

We want to keep track of the dependents of each employee for insurance purposes. We keep each dependent’s first name, sex, birth date, and relationship to the employee.

February 11, 2018

Entity-Relationship (ER) Diagrams

19

Page 20: Entity-Relationship (ER) DiagramsEntity-Relationship (ER) Model Entity • Thing in the real world Attribute • Property of an entity • Most of what we store in the database Relationship

CS3200 – Database Design� �� Spring 2018� �� Derbinsky

Answer

February 11, 2018

Entity-Relationship (ER) Diagrams

20

Employee

DEPENDENT

Sex

DName

DBirthdate

Relationship

Page 21: Entity-Relationship (ER) DiagramsEntity-Relationship (ER) Model Entity • Thing in the real world Attribute • Property of an entity • Most of what we store in the database Relationship

CS3200 – Database Design� �� Spring 2018� �� Derbinsky

RelationshipsAssociates one or more sets of entities– One = recursive (role is important)

February 11, 2018

Entity-Relationship (ER) Diagrams

21

DEPTSTUDENT

FACULTY

CHAIR_F

All departments have a faculty member who serves as the chair. A faculty member can only chair one department.

Page 22: Entity-Relationship (ER) DiagramsEntity-Relationship (ER) Model Entity • Thing in the real world Attribute • Property of an entity • Most of what we store in the database Relationship

CS3200 – Database Design� �� Spring 2018� �� Derbinsky

RelationshipsAssociates one or more sets of entities– One = recursive (role is important)

February 11, 2018

Entity-Relationship (ER) Diagrams

22

DEPTSTUDENT

FACULTY

CHAIR_F

All students must have a department in which they major.

MAJOR_D

Page 23: Entity-Relationship (ER) DiagramsEntity-Relationship (ER) Model Entity • Thing in the real world Attribute • Property of an entity • Most of what we store in the database Relationship

CS3200 – Database Design� �� Spring 2018� �� Derbinsky

RelationshipsAssociates one or more sets of entities– One = recursive (role is important)

February 11, 2018

Entity-Relationship (ER) Diagrams

23

DEPTSTUDENT

FACULTY

CHAIR_F

Students may have any number of departments in which they minor.

MAJOR_D

MINOR_D

Page 24: Entity-Relationship (ER) DiagramsEntity-Relationship (ER) Model Entity • Thing in the real world Attribute • Property of an entity • Most of what we store in the database Relationship

CS3200 – Database Design� �� Spring 2018� �� Derbinsky

RelationshipsAssociates one or more sets of entities– One = recursive (role is important)

February 11, 2018

Entity-Relationship (ER) Diagrams

24

DEPTSTUDENT

FACULTY

CHAIR_F

Students can tutor other student(s).

MAJOR_D

MINOR_D

TUTORS

TuteeTutor

Page 25: Entity-Relationship (ER) DiagramsEntity-Relationship (ER) Model Entity • Thing in the real world Attribute • Property of an entity • Most of what we store in the database Relationship

CS3200 – Database Design� �� Spring 2018� �� Derbinsky

Cardinality RatiosConstrains the number of entities that can participate in each role of the relationship

February 11, 2018

Entity-Relationship (ER) Diagrams

25

DEPTSTUDENT

MINOR_D

FACULTY

TUTORS CHAIR_F

MAJOR_D

Tutor Tutee

All departments have a faculty member who serves as the chair. A faculty member can only chair one department.

1

1

Page 26: Entity-Relationship (ER) DiagramsEntity-Relationship (ER) Model Entity • Thing in the real world Attribute • Property of an entity • Most of what we store in the database Relationship

CS3200 – Database Design� �� Spring 2018� �� Derbinsky

Cardinality RatiosConstrains the number of entities that can participate in each role of the relationship

February 11, 2018

Entity-Relationship (ER) Diagrams

26

DEPTSTUDENT

MINOR_D

FACULTY

TUTORS CHAIR_F

MAJOR_D

Tutor Tutee 1

1All students must have a department in which they major.

1N

Page 27: Entity-Relationship (ER) DiagramsEntity-Relationship (ER) Model Entity • Thing in the real world Attribute • Property of an entity • Most of what we store in the database Relationship

CS3200 – Database Design� �� Spring 2018� �� Derbinsky

Cardinality RatiosConstrains the number of entities that can participate in each role of the relationship

February 11, 2018

Entity-Relationship (ER) Diagrams

27

DEPTSTUDENT

MINOR_D

FACULTY

TUTORS CHAIR_F

MAJOR_D

Tutor Tutee 1

1Students may have any number of departments in which they minor.

MN

N 1

Page 28: Entity-Relationship (ER) DiagramsEntity-Relationship (ER) Model Entity • Thing in the real world Attribute • Property of an entity • Most of what we store in the database Relationship

CS3200 – Database Design� �� Spring 2018� �� Derbinsky

Cardinality RatiosConstrains the number of entities that can participate in each role of the relationship

February 11, 2018

Entity-Relationship (ER) Diagrams

28

DEPTSTUDENT

MINOR_D

FACULTY

TUTORS CHAIR_F

MAJOR_D

Tutor Tutee 1

1

MN

Students can tutor other student(s).

MN

N 1

Page 29: Entity-Relationship (ER) DiagramsEntity-Relationship (ER) Model Entity • Thing in the real world Attribute • Property of an entity • Most of what we store in the database Relationship

CS3200 – Database Design� �� Spring 2018� �� Derbinsky

Structural ConstraintsIf an entity does not exist unless it appears with an entity in a relationship, the participation is total (existence dependency). Else, partial.

February 11, 2018

Entity-Relationship (ER) Diagrams

29

DEPTSTUDENT

MINOR_D

FACULTY

TUTORS CHAIR_F

MAJOR_D

Tutor Tutee 1

1

MN

MN

All departments have a faculty member who serves as the chair. A faculty member can only chair one department.

N 1

Page 30: Entity-Relationship (ER) DiagramsEntity-Relationship (ER) Model Entity • Thing in the real world Attribute • Property of an entity • Most of what we store in the database Relationship

CS3200 – Database Design� �� Spring 2018� �� Derbinsky

Structural ConstraintsIf an entity does not exist unless it appears with an entity in a relationship, the participation is total (existence dependency). Else, partial.

February 11, 2018

Entity-Relationship (ER) Diagrams

30

DEPTSTUDENT

MINOR_D

FACULTY

TUTORS CHAIR_F

MAJOR_D

Tutor Tutee

1

MN

MN

N

All students must have a department in which they major.

1

1

Page 31: Entity-Relationship (ER) DiagramsEntity-Relationship (ER) Model Entity • Thing in the real world Attribute • Property of an entity • Most of what we store in the database Relationship

CS3200 – Database Design� �� Spring 2018� �� Derbinsky

Attributes of Relationships1->1, can go to either entity1->N, can go to (1) entity

February 11, 2018

Entity-Relationship (ER) Diagrams

31

DEPTSTUDENT

MINOR_D

FACULTY

TUTORS CHAIR_F

MAJOR_D

Tutor Tutee

1

MN

MN

Office

Each department chair has an office.

1N

1

Page 32: Entity-Relationship (ER) DiagramsEntity-Relationship (ER) Model Entity • Thing in the real world Attribute • Property of an entity • Most of what we store in the database Relationship

CS3200 – Database Design� �� Spring 2018� �� Derbinsky

Attributes of Relationships1->1, can go to either entity1->N, can go to (1) entity

February 11, 2018

Entity-Relationship (ER) Diagrams

32

DEPTSTUDENT

MINOR_D

FACULTY

TUTORS CHAIR_F

MAJOR_D

Tutor Tutee

1

MN

MN

Office

It is important to know whether or not a student has completed his/her major.

Done

1N

1

Page 33: Entity-Relationship (ER) DiagramsEntity-Relationship (ER) Model Entity • Thing in the real world Attribute • Property of an entity • Most of what we store in the database Relationship

CS3200 – Database Design� �� Spring 2018� �� Derbinsky

Attributes of Relationships1->1, can go to either entity1->N, can go to (1) entity

February 11, 2018

Entity-Relationship (ER) Diagrams

33

DEPTSTUDENT

MINOR_D

FACULTY

TUTORS CHAIR_F

MAJOR_D

Tutor Tutee

1

MN

MN

Office

It is important to know whether or not a student has completed each of his/her minor(s).

Done

Done

1N

1

Page 34: Entity-Relationship (ER) DiagramsEntity-Relationship (ER) Model Entity • Thing in the real world Attribute • Property of an entity • Most of what we store in the database Relationship

CS3200 – Database Design� �� Spring 2018� �� Derbinsky

Attributes of Relationships1->1, can go to either entity1->N, can go to (1) entity

February 11, 2018

Entity-Relationship (ER) Diagrams

34

DEPTSTUDENT

MINOR_D

FACULTY

TUTORS CHAIR_F

MAJOR_D

Tutor Tutee

1

MN

MN

Office

It is important to know the subject(s) in which a tutee is being tutored by each tutor.

Done

Done

Subject

1N

1

Page 35: Entity-Relationship (ER) DiagramsEntity-Relationship (ER) Model Entity • Thing in the real world Attribute • Property of an entity • Most of what we store in the database Relationship

CS3200 – Database Design� �� Spring 2018� �� Derbinsky

Weak EntitiesEntity types that do not have key attributes of their own are weak; instead identified by relation to specific entity of another type (the identifying type)

February 11, 2018

Entity-Relationship (ER) Diagrams

35

SECTIONCOURSE COURSESEC

Number

SECTION

BookNAME

DEPT NUM

Prof

1 N

Page 36: Entity-Relationship (ER) DiagramsEntity-Relationship (ER) Model Entity • Thing in the real world Attribute • Property of an entity • Most of what we store in the database Relationship

CS3200 – Database Design� �� Spring 2018� �� Derbinsky

Revise!We store each employee’s name (first, last, MI ), Social Security number (SSN), street address, salary, sex (gender), and birth date. An employee is assigned to one department, but may work on several projects, which are not necessarily controlled by the same department. We keep track of the current number of hours per week that an employee works on each project. We also keep track of the direct supervisor of each employee (who is another employee).

February 11, 2018

Entity-Relationship (ER) Diagrams

36

Department)

EMPLOYEE)

Sex)SSN)

Name)

Salary)

Supervisor)

Birthdate)

Address)

Works_On)FName)

LName)MI) Hours)

Project)

Page 37: Entity-Relationship (ER) DiagramsEntity-Relationship (ER) Model Entity • Thing in the real world Attribute • Property of an entity • Most of what we store in the database Relationship

CS3200 – Database Design� �� Spring 2018� �� Derbinsky

Answer

February 11, 2018

Entity-Relationship (ER) Diagrams

37

Department

EMPLOYEE

SexSSN

Name

Salary

Birthdate

Address

Works_OnFName

LNameMI Hours

Project

Supe

rvision

Supervisor

Supervisee

1

N

Page 38: Entity-Relationship (ER) DiagramsEntity-Relationship (ER) Model Entity • Thing in the real world Attribute • Property of an entity • Most of what we store in the database Relationship

CS3200 – Database Design� �� Spring 2018� �� Derbinsky

Revise!We want to keep track of the dependents of each employee for insurance purposes. We keep each dependent’s first name, sex, birth date, and relationship to the employee.

February 11, 2018

Entity-Relationship (ER) Diagrams

38

Employee(

DEPENDENT(

Sex(

DName(

DBirthdate(

Rela7onship(

Department)

EMPLOYEE)

Sex)SSN)

Name)

Salary)

Birthdate)

Address)

Works_On)FName)

LName)MI) Hours)

Project)

Supe

rvision

) Supervisor)

Supervisee)

1)

N)

Page 39: Entity-Relationship (ER) DiagramsEntity-Relationship (ER) Model Entity • Thing in the real world Attribute • Property of an entity • Most of what we store in the database Relationship

CS3200 – Database Design� �� Spring 2018� �� Derbinsky

Answer

February 11, 2018

Entity-Relationship (ER) Diagrams

39

Department

EMPLOYEE

SexSSN

Name

Salary

Birthdate

Address

Works_OnFName

LNameMI Hours

Project

Supe

rvision

Supervisor

Supervisee

1

N

DEPENDENT

Sex

DName

DBirthdate

Relationship

DEPENDENT_OF

N

1

Page 40: Entity-Relationship (ER) DiagramsEntity-Relationship (ER) Model Entity • Thing in the real world Attribute • Property of an entity • Most of what we store in the database Relationship

CS3200 – Database Design� �� Spring 2018� �� Derbinsky

Revise!A department controlsa number of projects, each of which has a unique name, a unique number, and a single location.

February 11, 2018

Entity-Relationship (ER) Diagrams

40

Loca%on' PROJECT'

Number'Name'

Controlling_'Department'

Loca%on' DEPARTMENT' Manager'

Number'Name'

Manager_'Start_Date'

Page 41: Entity-Relationship (ER) DiagramsEntity-Relationship (ER) Model Entity • Thing in the real world Attribute • Property of an entity • Most of what we store in the database Relationship

CS3200 – Database Design� �� Spring 2018� �� Derbinsky

Answer

February 11, 2018

Entity-Relationship (ER) Diagrams

41

Location PROJECT

NumberName

Location

DEPARTMENT Manager

NumberName

Manager_Start_Date

CONTROLS1

N

Page 42: Entity-Relationship (ER) DiagramsEntity-Relationship (ER) Model Entity • Thing in the real world Attribute • Property of an entity • Most of what we store in the database Relationship

CS3200 – Database Design� �� Spring 2018� �� Derbinsky

Revise!Each department has a … particular employee who manages the department.

An employee is assigned to one department, but may work on several projects, which are not necessarily controlled by the same department. We keep track of the current number of hours per week that an employee works on each project.

February 11, 2018

Entity-Relationship (ER) Diagrams

42

Loca%on' PROJECT'

Number'Name'

Loca%on'

DEPARTMENT' Manager'

Number'Name'

Manager_'Start_Date'

CONTROLS'1'

N'

Department)

EMPLOYEE)

Sex)SSN)

Name)

Salary)

Birthdate)

Address)

Works_On)FName)

LName)MI) Hours)

Project)

Supe

rvision

) Supervisor)

Supervisee)

1)

N)

DEPENDENT)

Sex)

DName)

DBirthdate)

RelaIonship)

DEPENDENT_OF)

N)

1)

Page 43: Entity-Relationship (ER) DiagramsEntity-Relationship (ER) Model Entity • Thing in the real world Attribute • Property of an entity • Most of what we store in the database Relationship

CS3200 – Database Design� �� Spring 2018� �� Derbinsky

Answer

February 11, 2018

Entity-Relationship (ER) Diagrams

43

Location PROJECT

Number

Name

Location

DEPARTMENT

NumberName

CONTROLS1

N

EMPLOYEE SSNWORKS_ON

N

M

Hours SupervisionN1

Supervisor Supervisee

Manages

1

1

Start_Date

Works_For

N

1

Page 44: Entity-Relationship (ER) DiagramsEntity-Relationship (ER) Model Entity • Thing in the real world Attribute • Property of an entity • Most of what we store in the database Relationship

CS3200 – Database Design� �� Spring 2018� �� Derbinsky

All Together Now!

February 11, 2018

Entity-Relationship (ER) Diagrams

44

Page 45: Entity-Relationship (ER) DiagramsEntity-Relationship (ER) Model Entity • Thing in the real world Attribute • Property of an entity • Most of what we store in the database Relationship

CS3200 – Database Design� �� Spring 2018� �� Derbinsky

Specialization/GeneralizationOnly a subset of entities within a type have certain attributes or participate in certain relationships

February 11, 2018

Entity-Relationship (ER) Diagrams

45

STUDENT

ID

GRAD_STUDENT Degrees

U

Page 46: Entity-Relationship (ER) DiagramsEntity-Relationship (ER) Model Entity • Thing in the real world Attribute • Property of an entity • Most of what we store in the database Relationship

CS3200 – Database Design� �� Spring 2018� �� Derbinsky

Multiple Subtypes: Disjointedness(o)verlap: may be more than one(d)isjoint: entities may only be one subtype

February 11, 2018

Entity-Relationship (ER) Diagrams

46

PERSON

SSN

EMPLOYEE ALUMNUS STUDENT

UU

U o

A person can be an employee, an

alumnus, and/or a student

Page 47: Entity-Relationship (ER) DiagramsEntity-Relationship (ER) Model Entity • Thing in the real world Attribute • Property of an entity • Most of what we store in the database Relationship

CS3200 – Database Design� �� Spring 2018� �� Derbinsky

Multiple Subtypes: Disjointedness(o)verlap: may be more than one(d)isjoint: entities may only be one subtype

February 11, 2018

Entity-Relationship (ER) Diagrams

47

PERSON

SSN

EMPLOYEE ALUMNUS STUDENT

UU

U

A person can be either an employee,

an alumnus, or a student

d

Page 48: Entity-Relationship (ER) DiagramsEntity-Relationship (ER) Model Entity • Thing in the real world Attribute • Property of an entity • Most of what we store in the database Relationship

CS3200 – Database Design� �� Spring 2018� �� Derbinsky

Multiple Subtypes: CompletenessSimilar to relationships; can be total (mustbelong to subtypes) or partial (can belong)

February 11, 2018

Entity-Relationship (ER) Diagrams

48

PERSON

SSN

EMPLOYEE ALUMNUS STUDENT

UU

U

A person must be exactly one: an employee, an

alumnus, or a studentd

Page 49: Entity-Relationship (ER) DiagramsEntity-Relationship (ER) Model Entity • Thing in the real world Attribute • Property of an entity • Most of what we store in the database Relationship

CS3200 – Database Design� �� Spring 2018� �� Derbinsky

Exercise• The database keeps track of three types of persons: employees, alumni, and students. A

person can belong to one, two, or all three of these types. Each person has a name, SSN, sex, address, and birth date.

• Every employee has a salary, and there are three types of employees: faculty, staff, and student assistants. Each employee belongs to exactly one of these types. For each alumnus, a record of the degree or degrees that he or she earned at the university is kept, including the name of the degree, the year granted, and the major department. Each student has a major department.

• Each faculty has a rank, whereas each staff member has a staff position. Student assistants are classified further as either research assistants or teaching assistants, and the percent of time that they work is recorded in the database. Research assistants have their research project stored, whereas teaching assistants have the current course they work on.

• Students are further classified as either graduate or undergraduate, with the specific attributes degree program (M.S., Ph.D., M.B.A., and so on) for graduate students and class (freshman, sophomore, and so on) for under- graduates.

February 11, 2018

Entity-Relationship (ER) Diagrams

49

Page 50: Entity-Relationship (ER) DiagramsEntity-Relationship (ER) Model Entity • Thing in the real world Attribute • Property of an entity • Most of what we store in the database Relationship

CS3200 – Database Design� �� Spring 2018� �� Derbinsky

Answer

February 11, 2018

Entity-Relationship (ER) Diagrams

50

Page 51: Entity-Relationship (ER) DiagramsEntity-Relationship (ER) Model Entity • Thing in the real world Attribute • Property of an entity • Most of what we store in the database Relationship

CS3200 – Database Design� �� Spring 2018� �� Derbinsky

Alternative Notation (1)Figure A. 1

February 11, 2018

Entity-Relationship (ER) Diagrams

51

Page 52: Entity-Relationship (ER) DiagramsEntity-Relationship (ER) Model Entity • Thing in the real world Attribute • Property of an entity • Most of what we store in the database Relationship

CS3200 – Database Design� �� Spring 2018� �� Derbinsky

Alternative Notation (2)Figure A. 1

February 11, 2018

Entity-Relationship (ER) Diagrams

52

Page 53: Entity-Relationship (ER) DiagramsEntity-Relationship (ER) Model Entity • Thing in the real world Attribute • Property of an entity • Most of what we store in the database Relationship

CS3200 – Database Design� �� Spring 2018� �� Derbinsky

Requirements ElicitationThe conceptual model should inform requirements elicitation questions:

• What are the main kinds of objects to be stored in the database (entity types)?

• For each object, what information should be stored (attributes, relationships)? What information distinguishes one object of a type from another (keys, weak entities)? Are there different kinds/categories of objects (specialization/generalization)?

• For each piece of information, what characterizes a valid value (composite/multi-valued, structural, etc.)?

• For related objects x and y, can x exist without y (participation)? How many x’s can a y have, and vice-versa (cardinality)?

February 11, 2018

Entity-Relationship (ER) Diagrams

53

Page 54: Entity-Relationship (ER) DiagramsEntity-Relationship (ER) Model Entity • Thing in the real world Attribute • Property of an entity • Most of what we store in the database Relationship

CS3200 – Database Design� �� Spring 2018� �� Derbinsky

Approaches to Conceptual DesignCentralized– Single authority responsible for merging

requirements into schema– Reasonable for smaller applications

View Integration– Each stakeholder implements local view– Individual views integrated into global

schema– Individual views can be reconstructed as

external schemas after integrationFebruary 11, 2018

Entity-Relationship (ER) Diagrams

54

Page 55: Entity-Relationship (ER) DiagramsEntity-Relationship (ER) Model Entity • Thing in the real world Attribute • Property of an entity • Most of what we store in the database Relationship

CS3200 – Database Design� �� Spring 2018� �� Derbinsky

View Integration (1)1. Identify correspondences and conflicts– Conflicts: names, types, domain, constraints

2. Modify views to conform3. Merge4. Restructure

February 11, 2018

Entity-Relationship (ER) Diagrams

55

Page 56: Entity-Relationship (ER) DiagramsEntity-Relationship (ER) Model Entity • Thing in the real world Attribute • Property of an entity • Most of what we store in the database Relationship

CS3200 – Database Design� �� Spring 2018� �� Derbinsky

View Integration (2)

February 11, 2018

Entity-Relationship (ER) Diagrams

56

Page 57: Entity-Relationship (ER) DiagramsEntity-Relationship (ER) Model Entity • Thing in the real world Attribute • Property of an entity • Most of what we store in the database Relationship

CS3200 – Database Design� �� Spring 2018� �� Derbinsky

Summary• The goal of conceptual design is to develop a set

of data requirements that are comprehensive, clear & easy to understand, and algorithmically transformable

• ER Diagrams (ERDs) are one such design model that visually represent the entities, attributes, and relationships of a system

• Requirements elicitation and conceptual design is an iterative process that is a necessary prerequisite to implementing a database

February 11, 2018

Entity-Relationship (ER) Diagrams

57