Acct 316 Acct 316 Acct 316 Data Modeling and Database Design 5 UAA – ACCT 316 Accounting...
-
Upload
douglas-chapman -
Category
Documents
-
view
245 -
download
6
Transcript of Acct 316 Acct 316 Acct 316 Data Modeling and Database Design 5 UAA – ACCT 316 Accounting...
Acct 316 Acct 316 Acct 316 Acct 316 Acct 316 Acct 316
Acct 3
16 A
cct 3
16 A
cct 3
16
Data Modeling and Database Design5
UAA – ACCT 316Accounting Information
SystemsDr. Fred Barbee
Ch
ap
ter
Acct 316 Acct 316 Acct 316 Acct 316 Acct 316 Acct 316
Acct 3
16 A
cct 3
16 A
cct 3
16
Hmmm? What is
data modeling?
What is Data Modeling?
ACCT 316 ACCT 316 ACCT 316
Without a model of what we are building, we are like these blind men: we may be partly right, but we are probably mostly wrong.
What is Data Modeling?
ACCT 316 ACCT 316 ACCT 316
You cannot understand (and thus represent) something unless you comprehend it completely – enterprise-wide.
Acct 316 Acct 316 Acct 316 Acct 316 Acct 316 Acct 316
Acct 3
16 A
cct 3
16 A
cct 3
16
Hmmm? What is
data modeling?
Acct 3
16 A
cct 3
16 A
cct 3
16
The Text Definition . . .
Data modeling is the process of defining a database
so that it faithfully represents all aspects of the organization,
including its interactions with the external environment.
Acct 3
16 A
cct 3
16 A
cct 3
16
Other Definitions . . .
Data modeling is the task of formalizing the data requirements of the business process as a conceptual model.
Hall, James A. Accounting Information Systems
Southwestern Publishing, 2001
Acct 3
16 A
cct 3
16 A
cct 3
16
Other Definitions . . .
Data modeling is the process of defining what data you want to capture in your database and the relationships between data.
Database Services University of Michigan http://www.umich.edu/~dbsvcs/services/modeling.html
Acct 316 Acct 316 Acct 316 Acct 316 Acct 316 Acct 316
Acct 3
16 A
cct 3
16 A
cct 3
16
Data Modeling and Database Design5
Database Design Process
Ch
ap
ter
Planning
Requirements Analysis
Design
Coding
Implementation
Operation andMaintenance
Data Modeling Occurs Here
Figure 5-1
Planning
Requirements Analysis
Design
Coding
Implementation
Operation andMaintenance
Initial planning to
determine the need for and feasibility of developing a new system.
Planning
Requirements Analysis
Design
Coding
Implementation
Operation andMaintenance
Identifying User Needs
Planning
Requirements Analysis
Design
Coding
Implementation
Operation andMaintenance
Developing the
contextual-external- and internal-level
schemas
Planning
Requirements Analysis
Design
Coding
Implementation
Operation andMaintenance
Translating the internal-level
schema into the actual database structures that
will be implemented in the new system.
Planning
Requirements Analysis
Design
Coding
Implementation
Operation andMaintenance
Transferring all data from the
existing system to the new database.
Planning
Requirements Analysis
Design
Coding
Implementation
Operation andMaintenance
Using and maintaining
the new system.
Acct 316 Acct 316 Acct 316 Acct 316 Acct 316 Acct 316
Acct 3
16 A
cct 3
16 A
cct 3
16
The Entity-Relationship (E-R) Diagram
Acct 316 Acct 316 Acct 316 Acct 316 Acct 316 Acct 316
Acct 3
16 A
cct 3
16 A
cct 3
16
The REA Data Model
Acct 3
16 A
cct 3
16 A
cct 3
16
The REA Data Model
The REA data model is a conceptual modeling tool specifically designed to provide structure for designing AIS data bases.
Acct 3
16 A
cct 3
16 A
cct 3
16
The REA Data Model
The REA data model provides structure in two ways:
By identifying what entities should be included in the AIS database
By prescribing how to structure relationships among the entities in the AIS database
The REA Data Model
ACCT 316 ACCT 316 ACCT 316
Resources
Events Agents
Resources: Those
things that have
economic value to the
firm.
The REA Data Model
ACCT 316 ACCT 316 ACCT 316
Resources
Events Agents
Events: Various
Business Activities
The REA Data Model
ACCT 316 ACCT 316 ACCT 316
Resources
Events Agents
Agents: People and Organizatio
ns that participate
in events.
Acct 316 Acct 316 Acct 316 Acct 316 Acct 316 Acct 316
Acct 3
16 A
cct 3
16 A
cct 3
16
Developing an REA Diagram
Acct 3
16 A
cct 3
16 A
cct 3
16 1
Step 1: Identify the Economic Exchange Events
Identify the pair of events that reflect the basic economic exchange (give-to-get duality relationship) in that cycle.
Acct 3
16 A
cct 3
16 A
cct 3
16 2
Step 2: Identify Resources and Agents
Identify the Resources affected by each event and the agents who participate in those events.
Acct 3
16 A
cct 3
16 A
cct 3
16 3
Step 3: Include commitment Events
Analyze each economic exchange event to determine whether it should be decomposed into a combination of one or more commitment events and an economic exchange event.
Acct 3
16 A
cct 3
16 A
cct 3
16 4Determine the cardinalities of
each relationship.
Step 4: Determine Cardinalities of Relationships
Sales Customer
How many sales transactions can be linked to each individual customer?
How many customers can be linked to each individual sales transaction?
The first number is the minimum cardinality. It
indicates whether a row in this table must be linked to at
least one row in the table on the opposite side of that
relationship.
Acct 3
16 A
cct 3
16 A
cct 3
16
Minimum Cardinality
The minimum cardinality of a relationship indicates whether each row in that entity MUST be linked to a row in the entity on the other side of the relationship.
Minimum cardinalities can be either 0 or 1.
Acct 3
16 A
cct 3
16 A
cct 3
16
Minimum Cardinalities
A minimum cardinality of zero means that a new row can be added to that table without being linked to any rows in the other table.
A minimum cardinality of one means that each row in that table MUST be linked to at least one row in the other table
Cardinalities
ACCT 316 ACCT 316 ACCT 316
Sales Made to Customer(0, N)
– The minimum cardinality of zero in the (0, N) cardinality pair to the left of the customer entity in the customer-sales relationship . . .
– . . . indicates that a new customer may be added to the database without being linked to any sales events.
Cardinalities
ACCT 316 ACCT 316 ACCT 316
– The minimum cardinality of 1 in the (1,1) cardinality pair to the right of the sales entity in the customer-sales relationship . . .
– . . . indicates that a new sales transaction CAN ONLY be added if it is linked to a customer.
Sales Made to Customer(0, N)(1,1)
The second number is the maximum cardinality. It
indicates whether one row in that table can be linked to more than one row in the
other table.
Acct 3
16 A
cct 3
16 A
cct 3
16
Maximum Cardinalities
The maximum cardinality of a relationship indicates whether each row in that entity CAN be linked to more than one row in the entity on the other side of the relationship.
Maximum cardinalities can be either 1 or N.
Acct 3
16 A
cct 3
16 A
cct 3
16
Maximum Cardinalities
A maximum cardinality of 1 means that each row in that table can be linked to at most only 1 row in the other table.
A maximum cardinality of N means that each row in that table MAY be linked to more than one row in the other table.
Cardinalities
ACCT 316 ACCT 316 ACCT 316
Sales Made to Customer(0, N)
– The maximum cardinality of N in the (0,N) cardinality pair to the left of the customer entity in the customer-sales relationship . . .
– . . . indicates that a given customer MAY be linked to many sales events.
Cardinalities
ACCT 316 ACCT 316 ACCT 316
– The maximum cardinality of 1 in the (1,1) cardinality pair to the right of the sales entity in the customer-sales relationship . . .
– . . . indicates that a given sales transaction can only be linked to one customer.
Sales Made to Customer(0, N)(1,1)
Acct 3
16 A
cct 3
16 A
cct 3
16
Determine Cardinalities
Cardinalities are not arbitrarily chosen by the database designer.
They reflect facts about the organization being modeled and its business practices obtained during the requirements analysis stage of the database design process.
Acct 3
16 A
cct 3
16 A
cct 3
16
Cardinalities: Types of Relationships
Three basic types - depending on the maximum cardinality associated with each entity.
A one-to-one relationship (1:1)
A one-to-many relationship (1:N)
A many-to-many relationship (M:N)
Types of Relationships
ACCT 316 ACCT 316 ACCT 316
Panel A: One-to-One (1:1) Relationship
SalesCash
Receipts(0,1) (1,1
)
Types of Relationships
ACCT 316 ACCT 316 ACCT 316
Panel B: One-to-Many (1:N) Relationship
SalesCash
Receipts(0,N)
(1,1)
Types of Relationships
ACCT 316 ACCT 316 ACCT 316
Panel C: One-to-Many (1:N) Relationship
SalesCash
Receipts(0,1) (1,N
)
Types of Relationships
ACCT 316 ACCT 316 ACCT 316
Panel D: Many-to-Many (M:N) Relationship
SalesCash
Receipts(0,N)
(1,N)
Acct 316 Acct 316 Acct 316 Acct 316 Acct 316 Acct 316
Acct 3
16 A
cct 3
16 A
cct 3
16
Build a Set of Tables to Implement an REA Model of an AIS in a Relational Database
Acct 3
16 A
cct 3
16 A
cct 3
16
Implementing an REA Diagram in a Relational Database
An REA diagram can be used to design a well-structured relational database.
A well-structured relational database is one that is not subject to update, insert, and delete anomaly problems.
Acct 3
16 A
cct 3
16 A
cct 3
16
Three Step Process
Create a table for each distinct entity and for each many-to many relationship
Assign attributes to appropriate tables
Use foreign keys to implement one-to-one and one-to-many relationships