data modeling 1 yong choi school of business csub

33
Data Modeling 1 Yong Choi School of Business CSUB

Upload: moses-smith

Post on 23-Dec-2015

223 views

Category:

Documents


0 download

TRANSCRIPT

Data Modeling 1

Yong ChoiSchool of Business

CSUB

Part # 2

2

Study Objectives Understand concepts of data modeling and

its purpose Learn how relationships between entities are

defined and refined, and how such relationships are incorporated into the database design process

Learn how ERD components affect database design and implementation

Learn how to interpret the modeling symbols

Part # 2

Data Modeling

Model: an abstraction of a real-world object or event Useful in understanding complexities of the real-world

environment Data model

Relatively simple representations of complex real-world data structures

Data modeling is iterative and progressive process So, “complete” and “100% error free” model is not

possible! Only “Optimized” model is possible…..

Part # 2

4

The data modeling revolves around discovering and analyzing organizational and users data requirements based on business rules.

Identify what data is important Identify what data should be maintained

The major activity of this phase is identifying entities, attributes, and their relationships to construct model using the Entity Relationship Diagram.

Data Modeling (con’t)

Part # 2

The Importance of Data Model Blue print: documentation Facilitate interaction among the

managers, the designers, and the end users Effective Communication Tool User involvement

Independence from a particular DBMS

Part # 2What is an Entity Relationship Diagram (ERD)?

ERD is a data modeling technique used in software engineering to produce a conceptual data model of a information system.

So, ERDs illustrate the logical structure of databases.

Video clip for basics of ERD development

6

Part # 2

Data Model by Access

7

Part # 2

8

Data Model by PowerDesigner

Part # 2Data Model by Peter Chen’ Notation (first - original)

Part # 2

10

ERD Notation (most popular)

Part # 2

Data Model Notation 1-to-1 relationship

1-to-M relationship

M-to-N relationship

Part # 2

Data Model Notation

Part # 2

Data Model Basic Building Blocks

Part # 2

Data Model Basic Building Blocks

Part # 2

Data Model Basic Building Blocks

Part # 2

Data Model Basic Building Blocks

Part # 2

Business Rules Let’s see the real world example on the class

website Descriptions of policies, procedures, or

principles within a specific organization Use for discovering and analyzing organizational and

user’s data requirements for the data model Allow designer team to develop appropriate

relationship participation rules and constraints

Part # 2

Discovering Business Rules Sources of business rules:

Direct interviews with stakeholders (i.e., users, senior managers)

Documents Procedures, Forms, Operations manuals,

Budget report, etc.. Rules must be bi-directional.

Part # 2

Business Rules Example 1 A professor can advise many

students (professor to student) and each student is advised by one professor (student to professor).

A professor can teach many classes and each class is taught by one professor.

19

Part # 2

Business Rules Example 2

Each sales representative writes many invoices and each invoice is written by one sales representative.

Each sales representative is assigned to many department and each department has one at most one sales representative.

Each customer can generate many invoices and each invoice is generated by one customer.

20

Part # 2

21

Entity InstanceEntity instance: a single occurrence of an entity.

6 instances

Student ID

Last Name

First Name

2144 Arnold Betty

3122 Taylor John

3843 Simmons Lisa

9844 Macy Bill

2837 Leath Heather

2293 Wrench Tim

Entity: student

instance

Part # 2

22

Entity Instance (con’t)

Part # 2

Entity Type and Entity InstancesEntity Type and Entity Instances

23

Part # 2

24

“Describe detail information about an entity ” Entity: Employee Attributes:

Employee-Name Address (composite) Phone Extension Date-Of-Hire Job-Skill-Code Salary

AttributesAttributes

Part # 2

25

Classes of attributes

Simple attribute Composite attribute Derived attributes Single-valued attribute Multi-valued attribute

Part # 2

26

A simple attribute cannot be subdivided. Examples: Age, Gender, and Marital status

A composite attribute can be further subdivided to yield additional attributes. Examples:

ADDRESS -- Street, City, State, Zip PHONE NUMBER -- Area code, Exchange

number

Simple/Composite attributeSimple/Composite attribute

Part # 2

27

is not physically stored within the database instead, it is derived by using an algorithm.

Example 1: Late Charge of 2% MS Access: InvoiceAmt * 0.02

Example 2: AGE can be derived from the date of birth and the current date.

MS Access: int(Date() – Emp_Dob)/365)

Derived attributeDerived attribute

Part # 2

28

can have only a single (atomic) value. Examples:

A person can have only one social security number. A manufactured part can have only one serial

number. A single-valued attribute is not

necessarily a simple attribute. Part No: CA-08-02-189935 Location: CA, Factory#:08, shift#: 02, part#: 189935

Single-valued attribute Single-valued attribute

Part # 2

29

can have many values. Examples:

A person may have several college degrees.

A household may have several phones with different numbers

A car color

Multi-valued attributesMulti-valued attributes

Part # 2

30

Example - “Movie Database”

Entity: Movie Star

Attributes: SS#: “123-45-6789” (single-valued) Cell Phone: “(661)123-4567, (661)234-

5678” (multi-valued) Name: “Harrison Ford” (composite) Address: “123 Main Str., LA, CA” (composite) Gender: “Female” (simple) Age: 24 (derived)

Part # 2

31

How to find entities? Entity:

people, places, objects, and events that information will be stored

Tangible: customer, product Intangible: order, invoice look for singular nouns (beginner) BUT a proper noun is not a good candidate….

Part # 2

32

How to find attributes? Attribute:

property of an entity A descriptor whose values are associated

with individual entities of a specific entity type

Part # 2

33

“attributes that uniquely identify entity instances”

Uniquely identify every instance of the entity One or more of the entity’s attributes

Composite identifiers are identifiers that consist of two or more attributes

Identifiers are represented by underlying the name of the attribute(s) Employee (Employee_ID), student (Student_ID)

(unique) Identifier(unique) Identifier