56
Database Design HIMA 4160 Fall 2009

Database Design HIMA 4160 Fall 2009. House Keeping Assignment 4 due tonight Assignment 5 due next Monday

Embed Size (px)

Citation preview

Database DesignHIMA 4160

Fall 2009

House Keeping Assignment 4 due tonight Assignment 5 due next Monday.

Agenda Database Concepts Entity Relational Diagram (ERD)

Database == Data + Base

Transaction Storage

Database: Definition A collection of data that:

is organized usually computer-based represents repetitive information implicitly primarily for transaction supports retrieval

Is paper medical record a database? Yes No No opinion

Is Excel a database system? Yes No No Opinion

The shortcomings of a large table

Patient_ID Patient_Name…

Doctor_ID Doctor_Name …

1 Patient B … 1 Doctor A …

2 Patient C … 1 Doctor A …

3 Patient D … 1 Doctor A …

4 Patient E … 2 Doctor B …

5 Patient F … 2 Doctor B …

6 Patient G … 2 Doctor B …

7 Patient H … 2 Doctor B …

8 Patient I … 2 Doctor B …

A more relational database

Patient ID Patient

1 Patient A

2 Patient B

3 Patient C

4 Patient D

Doctor ID Doctor

1 Doctor A

2 Doctor B

3 Doctor C

4 Doctor DPatient ID Doctor ID

1 2

1 3

2 1

4 1

3 3

1 4

Database Management System (DBMS) A computer program for the purposes of

managing databases. Is the basis for many applications (e.g.,

Electronic Health Records, Personal Health Records).

A DBMS can host many databases A database can be implemented in many

different DBMS systems.

Data Modeling Before you implement a database, you need

to design the database Data modeling is a systematic way to help you

design the database. Map/simplify the real world to database

schema/structure.

Data Modeling

Why Data Modeling? Power and flexibility of database depend on

data model

Database is the realization of data model

Evaluation of commercial products

Communicating with vendors and IT staff

Building your own databases

Database Analysis Determine User Requirements Develop Data Models “A conceptual data model is one that

represents data from the viewpoint of the user, independent of any technology that will be used to implement the model.”

A database has two parts Schema Data

Stages of Data Modeling Conceptual Model

E-R diagram Logical Model

Relational Model Physical Model

Database management

Database Modeling

Real World

E-RDiagram

RelationalModel DBMS

Conceptual Logical Physical

Introduction Entity Relationship Modelling (ERM)

A technique used to analyze & model the data in organizations

Using diagram to represent entities and relationship of components in a system.

Supported by modern DBMS system. De facto tool for database design

The Importance of Data Modeling Characteristics captured during data

modeling crucial in design of databases, programs, other

items facts and rules essential in assuring data

integrity Data are the most complex aspects of the

modern organization Data are determined by the business rules. Need to avoid scope creeps

Data tend to be more stable than the business processes that use the data

Definitions Entity

an aggregation of a number of data elements each data element is an attribute of the entity

Relationship an association between two or more entities

that is of particular interest

Background Introduced by Peter Chen in ’75

“The Entity-Relationship Model – Toward a Unified View of Data”, ACM Transactions on Database Systems, Vol. 1, No. 1, March 1976, Pages 9 - 36

now widely used in commercial database.

Why use ER Diagrams ? provides a global quick reference to an

organization’s data structures. can be used individually to design an

Information System’s (IS) data structure. offers a basis of consequential database

design and development.

ERD Development Process Identify the entities Determine the attributes for each entity Select the identifier for each entity Establish the relationships between the

entities Draw an entity model Test the relationships and the keys

Entities

Person, place, object, event, or concept … in the user environment about which the organization wishes to maintain

data Entity type

collection of entities that share common properties or characteristics

CAPITAL LETTERS Entity instance

single occurrence of an entity type ENTITY

A Simple Example

STUDENTs attend COURSEs that consist of many SUBJECTs.

A single SUBJECT (i.e. English) can be studied in many different COURSEs.

Each STUDENT may only attend one COURSE.

Identify the entities

Any physical object, event, or abstract concept that we can record facts about.

Rule of thumbs:a.Look for nounsb.Not all nouns are entitiesc.Some of them are attributes

Identify EntitiesA football team has coaches, players, trainers and other assistants. Coach’s roles include head coach, defense and offence coordinators, quarterback coaches, etc. Football players can play different positions like quarterback, running backs, receivers etc.

Rule of thumbs:

a.Look for nouns

b.Not all nouns are entities

c.Some of them are attributes

Identify Entities (my answers) Coach Player Trainer Assistants Roles Positions

Attributes Property or characteristic of an entity type

that is of interest to the organization initial capital letter followed by lowercase letters underscore instead of space (first_name)

Simple or Composite? composite has component parts will users need to refer to those individual

components? Single-valued or Multivalued? Stored or Derived?

PLAYER

Name Number

Determine the Attributes Every Entity has attributes. Attributes are characteristics that allow us

to classify/describe an entity e.g., entity STUDENT has the attributes:

student numbernamedate of birth course number

Identifier [Attribute] “An identifier is an attribute (or

combination of attributes) that uniquely identifies individual instances of an entity type.” atomic or composite

Criteria will not change its value never null unique

PLAYER

Name Number

SS#

Key Attributes Certain attributes identify particular facts

within an entity, these are known as KEY attributes.

The different types of KEY attribute are: Primary Key

Composite Primary Key Foreign Key

Key Definitions

Primary Key: One attribute whose value can uniquely

identify a complete record (one row of data) within an entity.

Composite Primary Key A primary key that consists of two or more

attribute within an entity. Foreign Key

A copy of a primary key that exists in another entity for the purpose of forming a relationship between the entities involved.

ER Diagram Notations

Every entity diagram consists of the following components:

COURSECOURSEEntity (labelled box)

Relationship line

Degrees of a Relationship

MANMAN WOMANWOMAN

CUSTOMERCUSTOMER ORDERORDER

COURSECOURSE SUBJECTSUBJECT

One-to-one (1:1)

One-to-many (1:n)

Many-to-many (n:m)

NOTE: Every many to many relationship consists of two one to many relationships working in opposite directions

1 M

1 1

M M

MANMAN WOMANWOMAN

CUSTOMERCUSTOMER ORDERORDER

CourseCourse SubjectSubject

One-to-one (1:1)

One-to-many (1:n)

Many-to-many (n:m)

Notation of Cordiality (Degree of relationship)

A person can own no or several cars. A car doesn’t have to be owned by a person, but if it is, it is owned by only one person.

Notation for Optional Participation

CARPERSON

optional relationship

1 M

1

A Sample Four Entities ER Diagram

A Student Record Entity DiagramA Student Record Entity Diagram

Exercise One patient can see several doctors. One

doctors can see many patients. A patient may not see a doctor at all

Exercise A nurse is assigned to manage an exam room.

Exercise A patient must have a insurance and a

insurance company can have many patients as their customer.

Exercise (complex one) Draw an E-R diagram to represent the data

schema of a physician office. The entities included are physicians, patients, insurance companies, lab, medications etc.

ER Diagram SummaryIdentify the entities

Determine the attributes for each entity

Select the primary key for each entity

Establish the relationships between the entities

Draw an entity model

Logic Design and Physical Design

Conceptual Design

BED PATIENTS

Conceptual Design

DOCTORS PATIENTS

DOCTORS PATIENTS

Conceptual Design

DOCTORS PATIENTS

Conceptual Design

DOCTORS

1. Doctor_ID2. Doctor_lname3. Doctor_fname4. Doctor_mi5. Doctor_specialty6. Doctor_address7. Doctor_phone8. Doctor_email

PATIENTS

1. Patient_ID2. Patient_lname3. Patient_fname4. Patient_mi5. Patient_address6. Patient_phone7. Patient_email

Logical Model Entities tables Relationship keys (primary and foreign) Many to many two one to many relationship

with an associate entity in the middle Normalization

Conceptual Model

DOCTORS

1. Doctor_ID2. Doctor_lname3. Doctor_fname4. Doctor_mi5. Doctor_specialty6. Doctor_address7. Doctor_phone8. Doctor_email

PATIENTS

1. Patient_ID2. Patient_lname3. Patient_fname4. Patient_mi5. Patient_address6. Patient_phone7. Patient_email

Logical Model

DOCTORS

1. Doctor_ID2. Doctor_lname3. Doctor_fname4. Doctor_mi5. Doctor_specialty6. Doctor_address7. Doctor_phone8. Doctor_email

PATIENTS

1. Patient_ID2. Patient_lname3. Patient_fname4. Patient_mi5. Patient_address6. Patient_phone7. Patient_email8. Doctor_ID

Conceptual Model

DOCTORS

1. Doctor_ID2. Doctor_lname3. Doctor_fname4. Doctor_mi5. Doctor_specialty6. Doctor_address7. Doctor_phone8. Doctor_email

PATIENTS

1. Patient_ID2. Patient_lname3. Patient_fname4. Patient_mi5. Patient_address6. Patient_phone7. Patient_email

Associate Entity/Bridge Table

DOCTORS

1. Doctor_ID2. Doctor_lname3. Doctor_fname4. Doctor_mi5. Doctor_specialty6. Doctor_address7. Doctor_phone8. Doctor_email

PATIENTS

1. Patient_ID2. Patient_lname3. Patient_fname4. Patient_mi5. Patient_address6. Patient_phone7. Patient_email

D_P

1. Patient_ID2. Doctor_ID

Physical Model

Doctor_ID

Doctor_lname

Doctor_fanme

Doctor_mi

Doctor_specialty

Doctor_address

Doctor_phone

Doctor_email

1 … … … … … … …

2 … … … … … … …

3 … … … … … … …

Patient_ID

Patient_lname

Patient_fname

Patient_MI

Patient_address

Patient_phone

Patient_email

001 … … … … … …

002 … … … … … …

003 … … … … … …

Patient_ID Doctor_ID

001 1

001 2

002 1

003 2

Relation Table

Tuple Row

Attribute Column

Summary on Data Modeling

Data model is the most critical aspect of system design and function

Data models should reflect real world objects and their relationships to ensure durability

A correct data model outlasts applications, including many not anticipated at system start-up