data modeling isys 464. start and login to oracle 10g exp to start:oracle popup menu –start...

55
Data Modeling ISYS 464

Upload: ethel-holt

Post on 16-Jan-2016

225 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Data Modeling ISYS 464. Start and Login to Oracle 10g Exp To start:Oracle PopUp menu –Start database: wait for the services to complete: The OracleXETNSListener

Data Modeling

ISYS 464

Page 2: Data Modeling ISYS 464. Start and Login to Oracle 10g Exp To start:Oracle PopUp menu –Start database: wait for the services to complete: The OracleXETNSListener

Start and Login to Oracle 10g Exp• To start:Oracle PopUp menu

– Start database: wait for the services to complete:• The OracleXETNSListener service was started successfully.

• The OracleServiceXE service is starting..............................

• The OracleServiceXE service was started successfully.

– Go to database home page• Login

• Accounts– System administrator

– User

• Logout

– Stop database

Page 3: Data Modeling ISYS 464. Start and Login to Oracle 10g Exp To start:Oracle PopUp menu –Start database: wait for the services to complete: The OracleXETNSListener

Start and End MySQL• MySQL is installed as a service.• To start MySQL:

– Control Panel/Administrative Tools/Services/MySQL/ start

• MySQL Administrator• MySQL Query Browser• MySQL Command Line Client• To stop MySQL:

– Control Panel/Administrative Tools/Services/MySQL/ Stop

Page 4: Data Modeling ISYS 464. Start and Login to Oracle 10g Exp To start:Oracle PopUp menu –Start database: wait for the services to complete: The OracleXETNSListener

Database Design Process

• Conceptual database design:– The process of creating a data model independent of

implementation details such as the target database model and physical considerations.

• Logical database design:– The process of designing database logical structure

based on a specific database model (such as relational model), but independent of a particular DBMS and physical considerations.

• Physical database design:– The process of implementing the database on a

secondary storage.

Page 5: Data Modeling ISYS 464. Start and Login to Oracle 10g Exp To start:Oracle PopUp menu –Start database: wait for the services to complete: The OracleXETNSListener

Requirements Collection and Analysis

• The process of collecting and analyzing information about the organization that is to be supported by the database system, and use this information to identify the requirements for the new system.

Page 6: Data Modeling ISYS 464. Start and Login to Oracle 10g Exp To start:Oracle PopUp menu –Start database: wait for the services to complete: The OracleXETNSListener

BART Tries Pay-By-Phone Systemhttp://www.sfgate.com/cgi-bin/article.cgi?f=/c/a/2008/01/30/BUPEUODJN.DTL&type=tech

• A contact-free cell phone payment program – puts a chip inside a phone, eliminating the need

for additional cards. – lets people pay by passing their phone over a

wireless reader.

Page 7: Data Modeling ISYS 464. Start and Login to Oracle 10g Exp To start:Oracle PopUp menu –Start database: wait for the services to complete: The OracleXETNSListener

Supermarket Advertisement

LuckyMarket presents another great way to save with your LuckyMarket Rewards Card! You can get up to 4 FREE movie tickets!

From Feb. 01 through June 9, 200X, use your LuckyMarket Rewards Card every time you shop at LuckyMarket. When you accumulate between $250 - $399.99 in groceries during the qualifying period, you get 2 FREE movie tickets! And if you purchase $400 or more during the same period you get 4 FREE movie tickets!

Page 8: Data Modeling ISYS 464. Start and Login to Oracle 10g Exp To start:Oracle PopUp menu –Start database: wait for the services to complete: The OracleXETNSListener

Making Airlines Reservations

• US Aiways -- http://www.usairways.com/awa/

• Select your seats

• Web check-In

Page 9: Data Modeling ISYS 464. Start and Login to Oracle 10g Exp To start:Oracle PopUp menu –Start database: wait for the services to complete: The OracleXETNSListener

FTD Florists Online

• http://www.ftdfloristsonline.com/index.html

Page 10: Data Modeling ISYS 464. Start and Login to Oracle 10g Exp To start:Oracle PopUp menu –Start database: wait for the services to complete: The OracleXETNSListener

Fact-Finding Techniques

• Examining documentation– Defining problem and need for database:

• Internal memos, minutes of meetings, documents that describe the problem, organizational chart

– Describe the current system:• Various types of flowcharts and diagrams, data dictionary,

database system design, program documentation

• Interviewing• Observing the enterprise in operation• Questionnaires

Page 11: Data Modeling ISYS 464. Start and Login to Oracle 10g Exp To start:Oracle PopUp menu –Start database: wait for the services to complete: The OracleXETNSListener

User Views

• A user view defines what is required of a database system in terms of the data to be held and transactions to be performed on the data from the perspective of a particular job role or enterprise application area.

• Identifying user views helps to ensure that no major users of the database are forgotten when developing the requirements for the new database system.

• Examples of user views:– Reports, Forms, documents

Page 12: Data Modeling ISYS 464. Start and Login to Oracle 10g Exp To start:Oracle PopUp menu –Start database: wait for the services to complete: The OracleXETNSListener

Conceptual Database Design Methodology

• Identify entity types.• Identity relationship types between the entity

types.• Identify and associate attributes with entity or

relationship types.• Determine attribute domains.• Determine candidate keys and primary key.• Validate conceptual model:

– Check for redundancy, support required transactions, review the model with user

Page 13: Data Modeling ISYS 464. Start and Login to Oracle 10g Exp To start:Oracle PopUp menu –Start database: wait for the services to complete: The OracleXETNSListener

Objectives of Database design

• Be able to link related records in the database.

• Eliminate data duplication.

Page 14: Data Modeling ISYS 464. Start and Login to Oracle 10g Exp To start:Oracle PopUp menu –Start database: wait for the services to complete: The OracleXETNSListener

Entity-Relationship Diagram

• ER modeling is a top-down approach to database design that begins by identifying the entities and relationships between entities that must be represented in the model.– Relative ease of use.

– Widespread CASE tool support.

– The belief that entities and relationships are natural modeling concepts in the real world.

– Classifying things according to their various kinds.

Page 15: Data Modeling ISYS 464. Start and Login to Oracle 10g Exp To start:Oracle PopUp menu –Start database: wait for the services to complete: The OracleXETNSListener

ERD Models Entities and Business Rules

• Example:– A customer may submit any number of orders.

However, each order must be submitted by exactly one customer.

– A student may register for a section of a course only if he or she has successfully completed the prerequisites for that course.

Page 16: Data Modeling ISYS 464. Start and Login to Oracle 10g Exp To start:Oracle PopUp menu –Start database: wait for the services to complete: The OracleXETNSListener

Entities

• An entity is a person, place, object, event, or concept in the user environment about which the organization wishes to maintain data.– Person: Employee, Student, patient– Place: Warehouse, Store– Object: Product, Machine.– Event: Registration, Sale, Renewal– Concept: Account, Course

• Physical existence:• Customer, student, product, etc.

• Conceptual existence:• Bank accounts, sale

Page 17: Data Modeling ISYS 464. Start and Login to Oracle 10g Exp To start:Oracle PopUp menu –Start database: wait for the services to complete: The OracleXETNSListener

Entity Type

• A collection of entities that share common properties or characteristics.

• An entity type represents a collection of entities.

• In an ERD, it is given a singular name.

• Diagrammatic representation:– A rectangle labeled with the name of the entity

Page 18: Data Modeling ISYS 464. Start and Login to Oracle 10g Exp To start:Oracle PopUp menu –Start database: wait for the services to complete: The OracleXETNSListener

Entity Instance

• An entity instance is a single occurrence of an entity type:– Student entity: SID, Sname, Major– Two instances of Student entity type:

• S1, Peter, Bus

• S5, Paul, Sci

Page 19: Data Modeling ISYS 464. Start and Login to Oracle 10g Exp To start:Oracle PopUp menu –Start database: wait for the services to complete: The OracleXETNSListener

Relationship Type

• Relationship: Interaction between entity types.– It is an association representing an interaction

among the instances of one or more entity types that is interest to the organization.

• It has a verb phrase name:– Faculty teach Course, Faculty advise Student– Customer open Account, Customer purchase

Product.

Page 20: Data Modeling ISYS 464. Start and Login to Oracle 10g Exp To start:Oracle PopUp menu –Start database: wait for the services to complete: The OracleXETNSListener

Figure 3-10 Relationship types and instances

a) Relationship type

b) Relationship instances

Page 21: Data Modeling ISYS 464. Start and Login to Oracle 10g Exp To start:Oracle PopUp menu –Start database: wait for the services to complete: The OracleXETNSListener

Binary Relationship

• A relationship involves two entity types.

• Three kinds of Binary Relationship - – 1:1– 1:M– M:M

• Determined by business rules

Page 22: Data Modeling ISYS 464. Start and Login to Oracle 10g Exp To start:Oracle PopUp menu –Start database: wait for the services to complete: The OracleXETNSListener

M:M Relationship

Peter

Paul

John

Woody

Alan

Mary

Linda

Nancy

Mia

Pia

A boy may date 0, 1, or many girls.

A girl may date 0, 1, or many boys.

Note: “Many boys date many girls” is not a correct interpretation.

Boy Girl

Page 23: Data Modeling ISYS 464. Start and Login to Oracle 10g Exp To start:Oracle PopUp menu –Start database: wait for the services to complete: The OracleXETNSListener

1:1 Relationship

Peter

Paul

John

Woody

Alan

Mary

Linda

Nancy

Mia

Pia

A man may marry 0 or 1 woman.

A woman may marry 0 or 1 man.

Man Woman

Page 24: Data Modeling ISYS 464. Start and Login to Oracle 10g Exp To start:Oracle PopUp menu –Start database: wait for the services to complete: The OracleXETNSListener

1:M Relationship

Peter

Paul

John

Woody

Alan

MaryBrianLindaAron

NancyRonald

MiaPia

A father has 1 or many children.

A child has 1 father.

Father Child

Page 25: Data Modeling ISYS 464. Start and Login to Oracle 10g Exp To start:Oracle PopUp menu –Start database: wait for the services to complete: The OracleXETNSListener

Cardinality Constraint

• A cardinality constraint specifies the number of instances of entity type A that can (or must) be associated with each instance of entity type B.

• Participation constraint– Full participation (Mandatory)– Partial participation (Optional)

Page 26: Data Modeling ISYS 464. Start and Login to Oracle 10g Exp To start:Oracle PopUp menu –Start database: wait for the services to complete: The OracleXETNSListener

Notations

Page 27: Data Modeling ISYS 464. Start and Login to Oracle 10g Exp To start:Oracle PopUp menu –Start database: wait for the services to complete: The OracleXETNSListener

Other Notations

UML Notations:– 0..1, 1..1– 0..*, 1..*– 3..5

• Traditional:

Student AccountHas1 1

Student AccountHas

1..11..1

Page 28: Data Modeling ISYS 464. Start and Login to Oracle 10g Exp To start:Oracle PopUp menu –Start database: wait for the services to complete: The OracleXETNSListener

1:1 Relationship

• Examples:– Husband, Wife– State, State Governor– Order, Invoice

Page 29: Data Modeling ISYS 464. Start and Login to Oracle 10g Exp To start:Oracle PopUp menu –Start database: wait for the services to complete: The OracleXETNSListener

1:M Relationship

• Examples:– Father, Child– Department, Employee– Customer, Order

Page 30: Data Modeling ISYS 464. Start and Login to Oracle 10g Exp To start:Oracle PopUp menu –Start database: wait for the services to complete: The OracleXETNSListener

M:M Relationship

• Examples:– Boy friend, Girl friend– Bank customer, Bank account– Student, Student organization

Page 31: Data Modeling ISYS 464. Start and Login to Oracle 10g Exp To start:Oracle PopUp menu –Start database: wait for the services to complete: The OracleXETNSListener

Traditional ERD Notations

Student Account

Faculty Course

Has1 1

EnrollM MAdvise

M

1

TeachM1

Page 32: Data Modeling ISYS 464. Start and Login to Oracle 10g Exp To start:Oracle PopUp menu –Start database: wait for the services to complete: The OracleXETNSListener

UML ERD Notations

Student Account

Faculty Course

Has1..11..1

Teach

1..*1..1

Enroll

0..* 0..*Advise

0..*

1..1

Page 33: Data Modeling ISYS 464. Start and Login to Oracle 10g Exp To start:Oracle PopUp menu –Start database: wait for the services to complete: The OracleXETNSListener

Book Notations

Student Account

Faculty Course

Has

Teach

Enroll

0..*Advise

Page 34: Data Modeling ISYS 464. Start and Login to Oracle 10g Exp To start:Oracle PopUp menu –Start database: wait for the services to complete: The OracleXETNSListener

Other Examples

• A database to record visitors and web pages they view.

• An online shopping website database to record customers, orders (shopping carts) and products purchased by customers.

• An auction database to record sellers and the items they sell, buyers and the items they purchase.

• BART Cell Phone Payment System.• Supermarket advertisement• Airline reservation• Florists Online

Page 35: Data Modeling ISYS 464. Start and Login to Oracle 10g Exp To start:Oracle PopUp menu –Start database: wait for the services to complete: The OracleXETNSListener

Recursive Relationship

• A relationship type where the same entity type participates more than once in different roles.

• Examples:– Employee – Supervise -- Employee– Student -- Tutor– Student– Faculty – Evaluate -- Faculty

Page 36: Data Modeling ISYS 464. Start and Login to Oracle 10g Exp To start:Oracle PopUp menu –Start database: wait for the services to complete: The OracleXETNSListener

Employee

Supervise

Supervisor

Superviswee

Employee

Supervise

M1

Page 37: Data Modeling ISYS 464. Start and Login to Oracle 10g Exp To start:Oracle PopUp menu –Start database: wait for the services to complete: The OracleXETNSListener

Attributes• Properties of an entity or a relationship.• Simple and composite attributes

– Address:Street address, City, State, ZipCode– Street Address: Number, Street, Apt#

• Single-valued and multi-valued attributes– Student’s Major attribute– Faculty’s DegreeEarned attribute– Vehicle’s Color attribute– Others: PhoneNumber, EmailAddress

• Derived attributes• Keys

– Candidate key, primary key, composite key

Page 38: Data Modeling ISYS 464. Start and Login to Oracle 10g Exp To start:Oracle PopUp menu –Start database: wait for the services to complete: The OracleXETNSListener

UML Notations

StudentSID {PK}Sname Fname LnameAddress Street City State ZipPhone[1..3]SexDateOfBirth/Age

Page 39: Data Modeling ISYS 464. Start and Login to Oracle 10g Exp To start:Oracle PopUp menu –Start database: wait for the services to complete: The OracleXETNSListener

SID {PK}Sname( Fname, Lname)Address( Street, City, State, Zip){Phone}SexDateOfBirth[Age]

Page 40: Data Modeling ISYS 464. Start and Login to Oracle 10g Exp To start:Oracle PopUp menu –Start database: wait for the services to complete: The OracleXETNSListener

Student

SID Sname

Fname Lname

Phone DateOfBirth

Age

Page 41: Data Modeling ISYS 464. Start and Login to Oracle 10g Exp To start:Oracle PopUp menu –Start database: wait for the services to complete: The OracleXETNSListener

Domains of Attributes

• The set of allowable values for one or more attributes.

• Input validation

• Examples:– Sex: F, M– EmpHourlyWage: Between 6 and 300– EmpName: 50 characters

Page 42: Data Modeling ISYS 464. Start and Login to Oracle 10g Exp To start:Oracle PopUp menu –Start database: wait for the services to complete: The OracleXETNSListener

Time-Dependent Attributes

• Auditing• Reconstructing the database state at a point in

time:– Database snapshot

• Regulations:– Sarbanes-Oxley

• Public Company Accounting Reform and Investor Protection Act of 2002 and commonly called SOX or SarbOx; July 30, 2002)

• Example:• ProductPrice: PID, {PriceHistory(Price,

TimeStamp)}

Page 43: Data Modeling ISYS 464. Start and Login to Oracle 10g Exp To start:Oracle PopUp menu –Start database: wait for the services to complete: The OracleXETNSListener

Attributes on Relationship Online Shopping Cart

Customer ShoppingCart

Product

Has

Has

1 M

M

M

CID CnameAddr CartID Date

PIDPname

Price

Page 44: Data Modeling ISYS 464. Start and Login to Oracle 10g Exp To start:Oracle PopUp menu –Start database: wait for the services to complete: The OracleXETNSListener

Order Form

Page 45: Data Modeling ISYS 464. Start and Login to Oracle 10g Exp To start:Oracle PopUp menu –Start database: wait for the services to complete: The OracleXETNSListener

Online Shopping Cart

Customer ShoppingCart

Product

Has

Has

1 M

M

M

CID CnameAddr CartID Date

Qty

PIDPname

Price

Page 46: Data Modeling ISYS 464. Start and Login to Oracle 10g Exp To start:Oracle PopUp menu –Start database: wait for the services to complete: The OracleXETNSListener

Attributes on Relationship

• Examples:– Student/Course: Grade– Order/Product: Quantity– Product/Country: Date, Quantity

Page 47: Data Modeling ISYS 464. Start and Login to Oracle 10g Exp To start:Oracle PopUp menu –Start database: wait for the services to complete: The OracleXETNSListener

Enroll

0..*0..*

Student

SID

Course

CID

Grade

Student CourseEnrollMM

Grade

Page 48: Data Modeling ISYS 464. Start and Login to Oracle 10g Exp To start:Oracle PopUp menu –Start database: wait for the services to complete: The OracleXETNSListener

Associative Entities• An entity–has attributes

• A relationship–links entities together

• When should a relationship with attributes instead be an associative entity? – All relationships for the associative entity should be many– The associative entity could have meaning independent of the other

entities– The associative entity preferably has a unique identifier, and should also

have other attributes– The associative entity may participate in other relationships other than the

entities of the associated relationship– Ternary relationships should be converted to associative entities

Page 49: Data Modeling ISYS 464. Start and Login to Oracle 10g Exp To start:Oracle PopUp menu –Start database: wait for the services to complete: The OracleXETNSListener

Figure 3-11a A binary relationship with an attribute

Here, the date completed attribute pertains specifically to the employee’s completion of a course…it is an attribute of the relationship

Page 50: Data Modeling ISYS 464. Start and Login to Oracle 10g Exp To start:Oracle PopUp menu –Start database: wait for the services to complete: The OracleXETNSListener

Figure 3-11b An associative entity (CERTIFICATE)

Associative entity is like a relationship with an attribute, but it is also considered to be an entity in its own right.

Note that the many-to-many cardinality between entities in Figure 3-11a has been replaced by two one-to-many relationships with the associative entity.

Page 51: Data Modeling ISYS 464. Start and Login to Oracle 10g Exp To start:Oracle PopUp menu –Start database: wait for the services to complete: The OracleXETNSListener

N-ary Relationship

• Doctor – Patient – Ailment

• Police – Crimal – Crime

• AirCraft – Bomb – Target

• Note: There is no deterministic relationship (1:1 or 1:M) between any two of these entities.

Page 52: Data Modeling ISYS 464. Start and Login to Oracle 10g Exp To start:Oracle PopUp menu –Start database: wait for the services to complete: The OracleXETNSListener

Figure 3-12 Examples of relationships of different degrees (cont.)

c) Ternary relationship

Note1: a relationship can have attributes of its own.Note2: This ternary relationship exists only if there is no binary relationship between these three entities.

Page 53: Data Modeling ISYS 464. Start and Login to Oracle 10g Exp To start:Oracle PopUp menu –Start database: wait for the services to complete: The OracleXETNSListener

Problems with ER ModelsConnection Traps

• Fan traps: Where a model represents a relationship between entity types, but the pathway between certain entity occurrences is ambiguous

Staff Division BranchHas Oversees

1..*1..1 1..11..*

Which branch does Peter work?

Division BranchOversees

1..*1..1Staff

Has

1..*1..1

Page 54: Data Modeling ISYS 464. Start and Login to Oracle 10g Exp To start:Oracle PopUp menu –Start database: wait for the services to complete: The OracleXETNSListener

Entity Type not System User or Organizational Unit

Report MeSendTo

MyCompany DepartmentHas

Note: An entity type represents a collection of entities.

Page 55: Data Modeling ISYS 464. Start and Login to Oracle 10g Exp To start:Oracle PopUp menu –Start database: wait for the services to complete: The OracleXETNSListener

Entities can be related to one another in more than one way

Figure 3-21 Examples of multiple relationships

a) Employees and departments

Example: Auction site: User and Auction Item