• No results found

Introduction to Data Management *** The Flipped Edition *** Lecture #2 E-R Database Design

N/A
N/A
Protected

Academic year: 2021

Share "Introduction to Data Management *** The Flipped Edition *** Lecture #2 E-R Database Design"

Copied!
15
0
0

Loading.... (view fulltext now)

Full text

(1)

Introduction to Data Management

Lecture #2

E-R Database Design

*** The “Flipped” Edition ***

Instructor: Mike Carey [email protected]

SQL

(2)

Today’s Notices

v Frequently check the course wiki page:

§ https://grape.ics.uci.edu/wiki/asterix/wiki/cs122a-2021-fall v And totally camp out on the Piazza page:

§ http://piazza.com/uci/fall2021/cs122aeecs116/home v Also get yourselves buddied up!

§ We’ll share the purpose in the first HW assignment

v Quizzes will be open until Fridays at start of class time

§ Don’t miss them – they’re free points!

v Any questions?

§ Just kidding... sort of .... (😷)

(3)

The Database Design Process

v

Essentially a top-down process.

1. Requirements gathering (interviews) 2. Conceptual design (using E-R model) 3. Platform selection (which DBMS?)

4. Logical design (for target data model)

5. Physical design (for target DBMS & workload) 6. Implement (and test, of course J)

v

Notes:

§ Expect backtracking, iteration, and then incremental changes over time

§ Our targets: Relational model & RDBMSs

(4)

Steps 1 & 2 in Database Design

v

Conceptual design (ER-based):

§ What are the entities and relationships in the enterprise?

§ What information about these entities and

relationships should we store in the database?

§ What are the integrity constraints or business rules that hold?

§ A database schema in the ER Model can be represented pictorially (using an ER diagram).

§ Can map an ER diagram into a relational schema (manually or using a design tool’s automation).

(5)

ER Model Basics

(Entities)

v

Entity: Real-world object, distinguishable from all other objects. An entity is described (in DB-land) using a set of attributes.

v

Entity Set: A collection of similar entities.

E.g., all employees.

§ All entities in an entity set have the same set of attributes. (Until we get to ISA hierarchies…)

§ Each entity set has a key (a unique identifier); this can be either one attribute (an “atomic” key) or several attributes (called a “composite” key)

§ Each attribute has a domain (similar to a data type).

Employees

ssn name

lot

(6)

v

Relationship: Association among two or more entities.

E.g., Santa Claus works in the Toy department.

v

Relationship Set: Collection of similar relationships.

§ An n-ary relationship set R relates n entity sets E1 ... En;

each relationship in R involves entities e1:E1, ..., en:En

• One entity set can participate in different relationship sets – or in different “roles” in the same set.

Reports_To lot name

Employees

subor- dinate super-

visor ssn

lot

dname

budget did

since name

Works_In Departments Employees

ssn

ER Model Basics

(Relationships)

(7)

Cardinality Constraints

v Consider Works In:

An employee can work in many

departments; a dept can have many

employees.

v In contrast, each dept has at most one manager,

according to the cardinality constraint on Manages above.

Many-to-Many (M:N)

1-to-1 (1:1)

1-to Many (1:N)

Many-to-1 (N:1)

dname

budget did

since lot

name ssn

Manages

Employees 1 N Departments

(Note: A given employee can manage several departments)

(8)

Revisiting Our Official Notation

subor- dinate Reports_To

lot name

Employees super-

visor ssn

N 1

lot

dname

budget did

since name

Works_In Departments Employees

ssn

M N

M:N is the default if omitted!

(9)

Participation Constraints

v Does every department have a manager?

§ If so, this is a participation constraint: the participation of Departments in Manages is said to be total (vs. partial).

• Every Departments entity below must appear in an instance of the Manages relationship

• Ditto for both Employees and Departments for Works_In

lot

name dname

budget did

since

name dname

budget did

since

Manages Departments

Employees ssn

Works_In

1 N

M N

(Double-line notation is better: )

(10)

ER Basics: Another Example

v Let’s see if you can read/interpret the ER diagram above…! (J)

§ What attributes are unique (i.e., identify their associated entity instances)?

§ What are the rules about (the much coveted) parking spaces?

§ What are the rules (constraints) about professors being in departments?

§ And, what are the rules about professors heading departments?

rank

name dname

dno main_office

In Dept

Professor fac_id

Head

M N

1 N

Assigned

Parking Space pid

lot_num

space_num

1 1

(Note that I’m using the M:N notation, and no ‘s, here.)

?

(11)

Another Example (Answers)

v Unique attributes:

§ Professor.fac_id, Dept.dno, Parking Space.pid

v Faculty parking:

§ 1 space/faculty, one faculty/space

§ Some faculty can bike or walk (J)

§ Some parking spaces may be unused

v Faculty in departments:

§ Faculty may have appointments in multiple departments

§ Departments can have multiple faculty in them

§ No empty departments, and no unaffiliated faculty

v Department management:

§ One head per department (exactly) Not all faculty are department heads

NOTE: These things are all “rules of the universe” that are just being modeled here!

Q: Can a faculty member head a department that he

(12)

Another Example (E’s & R’s)

n u

n

n u

n n n n

u u u u u

n n n

S1 S2 S3

P1

P2 P3 P4

D1 D2 D3

u u u

Parking

Spaces Assigned (1:1)

Professors

In (M:N)

Head (1:N)

Departments

n u

Entity instance

(13)

Weak Entities

v A weak entity can be identified uniquely only by

considering the primary key of some other (owner) entity.

§ Owner entity set and weak entity set must participate in a one-to- many relationship set (one owner, many weak entities).

§ Weak entity set must have total participation in this identifying relationship set.

§ Dependent identifier is unique only within owner context ( ), so its fully qualified key here is (ssn, dname)

lot name

dname age

Dependents Employees

ssn

Policy premium

1 N

(14)

Ternary Relationships (and beyond)

docid name

Doctor Prescribe

name

Patient

ssn phone

Drug

drugcode name descrip

specialty

school M

N

1

v A prescription is a 3-way relationship between a patient, a doctor, and a drug; with the cardinality constraints above:

§ A given patient+drug will be associated with one doctor (1)

§ A given patient+doctor may be associated with several drugs (N)

§ A given doctor+drug may be associated with several patients (M)

v General note: Relationship key ≤ (entity keys)

(15)

To Be Continued...

References

Related documents

 Owner entity set and weak entity set must participate in a one- to-many relationship set (one owner, many weak entities).  Weak entity set must have total participation in

• Total participation (indicated by double line): every entity in the entity set participates in at least one relationship in the relationship set.

 Owner entity set and weak entity set must participate in a one-to- many relationship set (one owner, many weak entities).  Weak entity set must have total participation in this

 Entities that must participate in a relationship with another entity type and with cardinality constraint of 1 might be better modelled as weak

➲ In some cases, a ternary relationship can be represented as a weak entity if the data model allows a weak entity type to have multiple identifying relationships (and hence

GNEM allows each record pair to interact with relevant records and exploit valu- able information from other pairs during the decision of its matching label, which is beneficial to

◼ For each weak entity type W in the ER schema with owner entity type E, create a relation R & include all simple attributes (or.. simple components of composite attributes) of

• Weak entity set and identifying relationship set are translated into a single table. – When the owner entity is deleted, all owned weak entities must also