Database Design - cis.csuohio.edu

28
1 Database Design

Transcript of Database Design - cis.csuohio.edu

1

Database Design

2

Phases of Database Design

� Conceptual design begins with the

collection of requirements and results

needed from the database (ER Diag.)

� Logical schema is a description of the

structure of the database (Relational,

Network, etc.)

� Physical schema is a description of

the implementation (programs, tables,

dictionaries, catalogs

Data

Requirements

ConceptualDesign

Logical

Design

Physical

Design

Conceptual Schema

Specification of requirementsand results

Logical Schema

Physical Schema

3

Models

A data model is a collection of objects that

can be used to represent data and its

structure, information, operations to

manipulate the data

�Conceptual models are tools for representing

reality at a very high-level of abstraction

�Logical models are data descriptions that can

be processed by computers

4

Conceptual model:

Entity-Relationship Diagrams

�Entities represent classes of real-world

objects. Person, Students, Projects, Courses

are entities of a University database

�Relationships represent interactions

between two or more entities

Person

Is_Born_In

City

Lives_In

N 1

N 1

5

Example:

�Every employee works in at least one

project

�Every project has employees working on it.

EMPLOYEESSN

NameSalary

PROJECTNameCode

WORKS_ONNN

6

Higher-Order Relationships

A relationship may involve more than two

entities

Course Meets Classroom

Day

7

Recursive relationships

Relationships could be mapped from one

entity to itself

Manager_Of

Employee Manages

Subordinate_To

1

N

8

Attributes

Attributes represent elementary properties of the

entities or relationships. The stored data will be

kept as values of the attributes

PERSON

Ssn

Name

Profession

Is_Born_In

CITY

Name

Country

Elevation

Population

Lives_InN 1

N 1

Birth_Date

Moving_Date

9

Generalizations

MANDraft_Status

FEMALEMaiden_Name

PERSON

Ssn

NameAddress

• An entity could be seen from many different viewpoints

• Each viewpoint defines a set of roles in a generalization

• Example below uses SEX to classify the object “Person”

10

Generalizations

�A classification could be disjoint or

overlapping

�An entity could have more than one

classification

MAN

Draft_Status

FEMALE

Maiden_Name

PERSON

Ssn

NameAddress

SEX

Full_Time

Annual_SalaryDepartment

Part_Time

Hour_RateWeekly_Hours

JOB

11

Example: Department Store 1/2

�A department store operates in several cities

� In a city there is one headquarter

coordinating the local operations

�A city may have several stores

�Stores hold any amount of items

�Customers place their orders for any

number of items to a given store

GOAL: Optimize shopping in each city

12

Example: Department Store 2/2

CITIESCity Name

State

HeadQtr Address

STORESStore ID

Address

Manager ID

LOCATED

IN

ITEMSItem ID

Description

Size

Color

ORDERS

Order Number

Order Date

ITEMS ORDERED

Qty Ordered

HOLD

Qty Held

IN-CITIES

Qty_in_cities

CUSTOMER

Customer Name

Address

Phone Number

PLACE

N

N

1

N

N N

N N N

1

13

Example: University Database

�Professors work for only one department

�Departments have many professors

�Each course is taught by only one professor

�Students make a plan or program of study

�A course could meet in several rooms/times

�Graduate students must have an advisor

�Cities are categorized as resident/BirthPlace

�Visiting prof. need an End/Start date

14

University Database

University database

BIRTH_PLACECITYNameState

PERSONLastName

Age

PROFESSORTenureStatus

Title

STUDENT

DEPARTMENTNamePhone

Belongs_To

ENROLLEDSemester

Grade

PLANNEDSemester

GRADUATE_STUDENT ADVISED_BY

VISITING_PROFESSOR

Start_AppointmentEnd_Appointment

COURSETitle

DescriptionCredits

TAUGHT_BY

Semester

MEETSROOM

RoomNumberBuilding

TIMEDayHour

RESIDENT

1 N

N

N

N

NN

N

1

N N

N 1

1

N

N

1

15

Soccer Database

�A team has players, one coach, fans

�Teams play according to a schedule

�Teams need to practice in a Stadium

�Attendance and scores must be recorded

16

Soccer Database

FAN

Name

Address

Favorite Bar

PLAYER

Uniform_Size

Shoe_Size

PERSON

Ssn

Name

Address

COACH

Personal Record

Years Experience

SUPPORTSPLAYS

_FORMANAGES

TEAM

Name

Location

Phone

PLAY_

AGAINST

GAME

Number

Attendance

Final Score

Date

TAKES

PLACE

AT

PRACTICES

STADIUM

Name

Address

Capacity

ATTENDS

N

N1

N 1

1

N N N 1

N

N

N N

17

Research Project Database

�Some employees are researchers

�Every project has a leader investigator

�Every project must be funded by an agency

�A project may include several topics

�A topic could appear in several projects

�Researchers must produce report(s)

�Each employee must have a supervisor

18

Research Projects Database

RESEARCH TOPIC

CodeName

RESEARCH REPORTNumber

Title

EMPLOYEESSN

NameTitle

ADDRESSES PRODUCES

PRINCIPALINVESTIGATOR

RESEARCHPROJECT

NameCode

FUNDED_BYAmount

DateGrant#

AGENCY

NameAddress

Contact Person

WORKS_ON

N

N

N

N

N

N

SUPERVISES

N 11

1 N

N

ON

N

NN

19

Contract-Supplies System 1/3

�A company negotiates contracts with

suppliers to provide certain amount of items

at a fixed price

�Orders are placed against any of the already

negotiated contracts

�A contract could provide items to any

number of orders

20

Contract-Supplies System 2/3

�An order may include any number of items

negotiated in the contract

�Orders should not exceed the maximum

amount of items quoted in the contract

�All items in an order must be provided as

part of a single contract and a single project

21

Contract-Supplies System 3/3

SUPPLIERS

Supplier Number

NameAddress

NEGOTIATE

Date of Contract

CONTRACTS

Contract NumberText

ITEMS

Item Number

Description

TO SUPPLYContract Price

Contract Amount

MADE OF

Order QTY

ORDERSOrder Number

Date Required

Date Completed

SUPPLIED AS

NEEDED BY

PROJECTS

Project Number

Project Data

1

N

1 N

N

N

N N

1

N

22

Manufacturing: Requisitions 1/3

�Projects are broken into tasks

�Tasks are assigned to departments

�A task is created for one project and

assigned to one department

�Requisitions are made for projects

�Each requisition could ask for any number

of items

23

Manufacturing: Requisitions 2/3

�Each requisition is for one project and is

made to one supplier

� Items could be: equipment or materials and

are coded in a similar way

�Suppliers send periodic price notices to

advise the company of any changes in their

prices

24

Manufacturing: Requisitions 3/3

SUPPLIERSSupplierNumber

Supplier Data

PROJECTSProject Number

Project DataMADE OF

TASKSTask Number

Task Data

REQUESTS

REQUISITIONItem Number

Qty Requested

CONTAINS

ITEMSItem Number

Item Data

EQUIPMENT ITEMCode

Description

MATERIAL ITEMCode

DescriptionWeight

Container

CHANGESPRICE ADVICE

PriceEffective Date

SENDS

FROM

FOR

REQUISITIONItem Number

Qty Requested

1 N

N

1

N

1

N 1

N

N

1 N

N

1

25

Job-Shop Accounting System 1/4

�The system is used by a company that

manufactures special-purpose assemblies

for customers

�To manufacture assemblies the company

creates a sequence of processes (steps)

�Each process is supervised by a department

�Assume there are three type of processes:

PAINT, FIT, CUT

26

Job-Shop Accounting System 2/4

�During manufacturing an assembly could

pass through any sequence of processes, in

any order; it may pass through the same

process more than once

�A unique Job# is given to any new

assembly.

�Costs and started-terminated dates must be

recorded

27

Job-Shop Accounting System 3/4

�An accounting system is used to keep track

expenditure for each: � DEPT,

� PROCESS,

� ASSEMBLY

�As a job proceeds, cost transactions can be

recorded against it.

28

Job-Shop Accounting System 4/4

CUSTOMERS

Customer IDAddress

ORDERS

ASSEMBLIES

Assembly IDDate Ordered

Details

CUT JOBSCut Job ID

Machine typeused

Material usedLaor time

JOBSJob NumberStarting DateEnding Date

Total Cost

FIT JOBSFit Job IDLabor time

PAINT JOBSPaint Job ID

ColorVolume

Labor time

A1

ACTIVITY

USES

MADE AS

TRANSACTIONS

PROCESSACCOUNTS

Account 3Details

DEPTACCOUNTS

Account 2Details

ASSEMBLYACCOUNTS

Account 1

Details

ACCOUNTSAccount ID

DateEstablished

PROCESSESProcess ID

Process Data

DEPARTMENTS

Dept NumberDept Data

A2

T1

T3

T2

USED IN A3

CUT PROCCut Proc ID

Cuttong TypeMachine Type

FIT PROCFit Proc IDFit Type

PAINT PROCPaint Proc IDPaint Method