Accounting Information Systems 9th Edition Marshall B. Romney Paul John Steinbart ©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart 5-1 Data Modeling and Database Design Chapter 5 ©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart 5-2 Learning Objectives 1. 2. 3. 4. 5. Discuss the steps for designing and implementing a database system. Use the REA data model to design an AIS database. Draw an Entity-Relationship (E-R) diagram of an AIS database. Build a set of tables to implement an REA model of an AIS in a relational database. Read an E-R diagram and explain what it reveals about the business activities and policies of the organization being modeled. ©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart 5-3 Introduction Ashton Fleming, the accountant for S&S, is learning that designing a relational database for S&S is not as easy as the computer store salesperson made it seem. He is planning to attend a seminar to teach accountants the basics on how to design a relational database. ©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart 5-4 Introduction Ashton hopes to have answers for the following questions by the end of the seminar: What are the basic steps to follow when designing a database? When creating a relational database, how exactly do you decide which attributes belong in which tables? ©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart 5-5 Introduction How can you document an AIS that is implemented as a relational database? This chapter explains how to design and document a relational database for an accounting information system. It focuses on one of the aspects of database design, data modeling. ©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart 5-6 Introduction This chapter also introduces the REA accounting model and EntityRelationship (E-R) diagrams. It shows how to use these tools to build a data model of an AIS. Finally, it describes how to implement the resulting data model in a relational database. ©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart 5-7 Learning Objective 1 Discuss the steps for designing and implementing a database system. ©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart 5-8 Designing and Implementing a Database System There are six basic steps involved in designing and implementing a database system. They are: 1. 2. 3. Initial planning to determine the need for and feasibility of developing a new system. Identifying user needs. Developing the contextual-, externaland internal-level schemas. ©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart 5-9 Designing and Implementing a Database System 4. 5. 6. Translating the internal-level schema into the actual database structures that will be implemented in the new system. Transferring all data from the existing system to the new database. Using and maintaining the new system. ©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart 5-10 Learning Objective 2 Use the REA data model to design an AIS database. ©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart 5-11 The REA Data Model 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. ©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart 5-12 The REA Data Model Data Modeling in the Database Design Process Data modeling occurs here Planning Operation and maintenance Requirements analysis Implementation Design Coding ©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart 5-13 The REA Data Model The REA data model is a conceptual modeling tool specifically designed to provide structure for designing AIS databases. The REA data model provides structure in two ways: 1 By identifying what entities should be included in the AIS database 2 By prescribing how to structure relationships among the entities in the AIS database ©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart 5-14 Sample REA Diagram Sales Person Participates in Inventory Stock flow Sales Participates in Customer Economic Duality Participate s in Cash Stock flow Cashier Receive Cash Participates in ©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart 5-15 Basic REA Template Internal Agent Participates in Resource A inflow Get Resource A Participates in External Economic Agent Duality Participate s in Internal Agent Resource B outflow Give up Resource B Participates in External ©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart 5-16 Agent An AIS Viewed as a Set of Give-to-Get Exchanges Give Inventory Get Cash Revenue Cycle Give Cash Get Inventory Expenditure Cycle Give Cash Give Cash Get Employee’s Time/Service Get Cash Human Resources/Payroll Cycle Production Cycle Get Employee’s Time/Service Give/Use Raw Materials Give (Use) Machine Time & Services Get Finished Goods Inventory ©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart Financing Cycle 5-17 Types of Entities An entity is any class of objects about which data is collected. The REA data model classifies entities into three distinct categories: 1 Resources acquired and used by an organization 2 Events engaged in by the organization 3 Agents participating in these events ©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart 5-18 Types of Entities Resources are defined as those things that have economic value to the organization. What are some examples? – – – cash inventory equipment ©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart 5-19 Types of Entities Events are the various business activities about which management wants to collect information for planning or control purposes. What are some examples? – – sales events taking customer orders ©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart 5-20 Types of Entities Agents are the third type of entity in the REA model. Agents are the people and organizations that participate in events and about whom information is desired. What are some examples? – – employees customers ©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart 5-21 Structured Relationships The REA data model prescribes a basic pattern for how the three types of entities (resources, events, and agents) should relate to one another. ©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart 5-22 Structured Relationships Resource A Inflow Get resource A Economic duality Resource B Outflow ©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart Give up resource B 5-23 Structured Relationships Get resource A Participates in Internal Agent Participates in External Agent Participates in Internal Agent Participates in External Agent Economic duality Give up resource B Learning Objective 3 Draw an EntityRelationship (E-R) diagram of an AIS database. ©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart 5-25 Sample E-R Diagrams Employers Managed By Part of Supervisors Manages Departments Customer Orders Part of Sales Part of Cash Receipts Players Part of Teams Part of League ©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart 5-26 Entity-Relationship Diagram An Entity-Relationship (E-R) diagram is one method for portraying a database schema. It is called an E-R diagram because it shows the various entities being modeled and the important relationships among them. In an E-R diagram, entities appear as rectangles, and relationships between entities are represented as diamonds. ©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart 5-27 Entity-Relationship Diagram Resources Inventory Events (0, N) Line items Sales (1, N) (0, N) Pays for Cash Increases Cash collections Entity-Relationship Diagram Events Sales Agents (1, 1) (1, 1) Party to (1, N) Salesperson (0, N) Made to Pays for (0, N) Customer Received from Cash collections Received by Cashier Developing an REA Diagram 1 2 3 Developing an REA diagram for a specific transaction cycle consists of three steps: Identify the pair of events that reflect the basic economic exchange. Identify the resources affected by each event and the agents who participate in those events. Determine the cardinalities of each relationship. ©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart 5-30 Identify Economic Exchange Events The basic economic exchange in the revenue cycle involves the sale of goods or services and the subsequent receipt of cash in payment for those sales. The REA diagram for S&S’s revenue cycle shows the drawing of sales and cash collections events entities as rectangles and the relationship between them as a diamond. ©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart 5-31 Identify Economic Exchange Events In drawing an REA diagram for an individual cycle, it is useful to divide the paper into three columns, one for each type of entity. Left column should be used for resources. Middle column should be used for events. Right column should be used for agents. ©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart 5-32 Identify Resources and Agents Once the events of interest have been specified, the resources that are affected by those events need to be identified. The sales event involves the disposal of inventory. The cash collections event involves the acquisition of cash. ©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart 5-33 Identify Resources and Agents After specifying the resources affected by each event, the next step is to identify the agents who participate in those events. There will always be at least one internal agent (employee) and, in most cases, an external agent (customer). ©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart 5-34 Specify Cardinalities The cardinality of a relationship indicates how many occurrences of one entity in the relationship can be linked to a single occurrence of the other entity in the relationship. Cardinalities are often expressed as a pair of numbers. The first number is the minimum, and the second number is the maximum. ©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart 5-35 Specify Cardinalities The minimum cardinality of a relationship indicates the fewest number of rows that can be involved in that relationship. Minimum cardinalities can be either 0 or 1. A minimum cardinality of zero means that each occurrence of the entity on the other side of the relationship need not be linked to any occurrences of the entity on this side of the relationship. ©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart 5-36 Specify Cardinalities Sales 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 given customer need not be linked to any sales events. Made to (0, N) ©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart Customer 5-37 Specify Cardinalities Minimum cardinalities of zero are common for relationships between two temporarily linked events. Why? Because at any given time the second event in the pair may not yet have occurred. A minimum cardinality of 1 indicates that each instance of that entity must be associated with at least one instance of the other entity. ©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart 5-38 Specify Cardinalities Sales The minimum cardinality below the sales entity in the sales-customer relationship reflects the general business rule that each sales event must be associated with some specific customer. (1, 1) Party to ©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart Salesperson 5-39 Specify Cardinalities The maximum cardinality of a relationship indicates the largest number of rows that can be involved in that relationship. Maximum cardinalities can be either 1 or N. The N indicates that each row in the table may be linked to many rows in the other table. ©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart 5-40 Specify Cardinalities 1 2 3 Three basic types of relationships between entities are possible, depending on the maximum cardinality associated with each entity. One-to-one relationship One-to-many relationship Many-to-many relationship ©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart 5-41 Specify 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. ©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart 5-42 Learning Objective 4 Build a set of tables to implement an REA model of an AIS in a relational database. ©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart 5-43 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. ©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart 5-44 Create Tables A properly normalized relational database has a table for each entity and each many-to-many relationship. From the previously discussed REA diagram, nine tables would be created: one for each of the seven entities and one for each of the manyto-many relationships. ©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart 5-45 Create Tables Inventory Sales Salesperson Customer Cashier Cash collections Cash Sales-inventory Sales-cash collections ©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart 5-46 Identify Attributes for Each Table Primary keys: Usually, the primary key of a table representing an entity is a single attribute. Other Attributes: Additional attributes are included in each table to satisfy transaction processing requirements. ©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart 5-47 Implement One-to-One and One-to-Many Relationships One-to-One Relationships: In a relational database, one-to-one relationships between entities can be implemented by including the primary key of one entity as a foreign key in the table representing the other entity. ©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart 5-48 Implement One-to-One and One-to-Many Relationships One-to-Many Relationships: In a relational database, one-to-many relationships can be also implemented in relation to databases by means of foreign keys. ©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart 5-49 Learning Objective 5 Read an E-R diagram and explain what it reveals about the business activities and policies of the organization being modeled. ©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart 5-50 Documentation REA diagrams are especially useful for documenting an advanced AIS built using databases. REA diagrams provide two important types of information about a database: 1 2 Information about the relationships among data items Information about the organization’s business practices ©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart 5-51 Information About Database Content REA diagrams explicitly depict the relationships among the various data items that are stored in the accounting database. Flowcharts only show which files exist and describe their basic characteristics. Data flow diagrams (DFD) describe the contents of each file in the system, but do not explicitly show how those files relate to one another. ©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart 5-52 Information About Business Practices The cardinalities in REA diagrams provide useful information about the nature of the company being modeled and the business policies that it follows. Events Resources Inventory (0, N) Line items (1, N) ©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart Sales 5-53 Information About Business Practices The relationship between sales and inventory is called line items and represents the fact that each sale consists of one or more items of merchandise. Each item appears as a separate line item on the sales invoice. The quantity sold indicates that a customer may buy more than one of a given item. ©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart 5-54 Organization Specificity of REA Diagrams Due to the fact that S&S sells massproduced goods, its REA diagram models the relationship between sales and inventory as being many-to-many. An REA diagram for a rare art dealer would depict the relationship between sales and inventory as being one-tomany. ©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart 5-55 Extracting Information From the AIS A complete REA diagram serves as a useful guide for querying an AIS database. Queries can be used to generate journals and ledgers from a relational database built on the REA model. Sales (0, 1) (1, N) ©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart Cash collections 5-56 Extracting Information From the AIS In a one-to-many relationship between cash collection and sales, remittance number is a foreign key in the sales table. Each sales transaction is paid in full by a cash collection event. What is the query logic? Total accounts receivable is the sum of all sales for which there is no remittance number. ©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart 5-57 End of Chapter 5 ©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart 5-58