Chapter 8 - REA modeling. When you''ve finished studying this chapter, and completing the activities at its conclusion, you should be able to: Compare and contrast view-driven and event-driven accounting information systems, use REA modeling to represent an event-driven AIS, use a REA model to design a relational database for an event-driven AIS.
Chapter REA Modeling Copyrightâ2016McGrawưHillEducation.Allrightsreserved.NoreproductionordistributionwithoutthepriorwrittenconsentofMcGrawưHillEducation Outline ã ã ã ã • Learning objectives Purpose and uses Terminology Cardinalities Database design 82 Learning objectives Compare and contrast view-driven and event-driven accounting information systems Use REA modeling to represent an eventdriven AIS Use a REA model to design a relational database for an event-driven AIS 83 Purpose and uses • Purpose To describe an event-driven accounting information system • Uses – Identify the essential Resources, Events and Agents of the AIS – Establish relationships between them – Design relational databases to implement an event-driven AIS 84 Terminology • Events (center column) – Three types • Operating: sell inventory to customers • Information: record inventory sales in the AIS • Decision / management: decide whether to drop a specific product line – Only strategically significant operating events appear in a REA model – Determining strategically significant operating events is a matter of judgment and practice 85 Terminology • Resources (leftmost column) – Items needed to carry out the events – Examples • Cash • Inventory • Equipment • Employment application 86 Terminology • Agents (rightmost column) – People needed to carry out the events – Examples • Employees • Vendors • Customers • Stockholders 87 Terminology Vendor Inventory Buy inventory Employee All entities in a REA model are illustrated with rectangles Resources on the left, events in the middle, agents on the right 88 Cardinalities • • • Show relationships between elements of the REA model Facilitate creation of database tables Three common symbols – – – * • • • An employee might process no purchase orders (“0”) Every order involves exactly one customer (“1”) A single purchase requisition can 89 Cardinalities • • To create Set a) cardinalities b) between two • elements of a REA For each “x,” what is the minimum number of “y?” For each “x,” what is the maximum number of “y?” Set a) model, ask four b) For each “y,” what is the minimum number of “x?” For each “y,” what is 810 Cardinalities Vendor Inventory Buy inventory Employee Suppose: X = inventory Y = buy inventory 811 Cardinalities • Set a) b) For each inventory item, what is the smallest number of “buy inventory” transactions? • Hint: minimums are either or • Answer: For each inventory item, what is the greatest number of “buy inventory” transactions? • Hint: maximums are either or * (many) • Answer: * (many) 812 Cardinalities (1,*) Inventory Buy inventory Every inventory item can be bought one to many times Every inventory item participates in one to many “buy inventory” events 813 Cardinalities • Set a) b) For each “buy inventory” transaction, what is the smallest number of inventory items? • Hint: minimums are either or • Answer: For each “buy inventory” transaction, what is the greatest number of inventory items? • Hint: maximums are either or * (many) • Answer: * (many) 814 Cardinalities Inventory (1,*) Buy inventory Every “buy inventory” event includes one to many inventory items 815 Cardinalities Inventory (1,*) (1,*) Buy inventory 816 Cardinalities Buy inventory (0,*) (1,1) Employee Every employee participates Every “buy inventory” in zero to many “buy event involves exactly one inventory” events employee 817 Database design • • Every “box” in the REA model needs at least one database table When maximum cardinalities are and *, include the key from the “one side” in the table on the “many side.” • • • When maximum cardinalities are * and *, create a junction table to express the relationship Follow the rules of normalization Do not store calculated data 818 Database design (1,1) (1,*) Inventory (1,*) (1,*) Buy inventory Tables indicated by this REA model: • Vendor • Employee • Inventory • Buy inventory • Inventory / buy inventory Vendor (0,*) (1,1) Employee 819 Database design • Vendor table • Employee table – Vendor ID – Employee ID – Vendor name – – Vendor address Employee last name – Employee first name – Employee department – Employee job title – Vendor city – Vendor state – Vendor ZIP code – Vendor web site 820 Database design • Inventory table – Inventory ID – Inventory item name – Beginning quantity on hand – Beginning inventory cost per unit – Beginning inventory date 821 Database design • (1,1) (1,*) Buy inventory Buy inventory table – Purchase order number – Purchase order date – [Vendor ID] Vendor Remember: When the maximum cardinalities are “one” and – [Employee ID] “many,” put the primary key from the “one side” (vendor) into the table on the “many side” (buy inventory) 822 Database design • Inventory / buy inventory table – [Inventory ID] – [Purchase order number] – Quantity purchased Remember: When the – Cost per unit purchased maximum cardinalities are “many” and “many,” create a Inventory (1,*) (1,*) Buy inventory junction table 823 824 ... Learning objectives Purpose and uses Terminology Cardinalities Database design 8? ?2 Learning objectives Compare and contrast view-driven and event-driven accounting information systems Use REA... database for an event-driven AIS 8? ?3 Purpose and uses • Purpose To describe an event-driven accounting information system • Uses – Identify the essential Resources, Events and Agents of the AIS... relational databases to implement an event-driven AIS 8? ?4 Terminology • Events (center column) – Three types • Operating: sell inventory to customers • Information: record inventory sales in the