Download presentation

Presentation is loading. Please wait.

Published byOlivia Cannon Modified over 3 years ago

1
McGraw-Hill/Irwin Copyright © 2005 by The McGraw-Hill Companies, Inc. All rights reserved. ENTERPRISE INFORMATION SYSTEMS A PATTERN BASED APPROACH Chapter 7 Information Retrieval from Relational Databases

2
7-2 Chapter Learning Objectives 1.Identify and explain the purpose of the three primary relational algebra operators 2.Identify and explain the primary components of a Structured Query Language (SQL) statement 3.Identify the relational algebra operations achieved by a given SQL statement 4.Create a SQL statement to retrieve requested information from a relational database 5.Examine a SQL statement and the tables to which it will be applied and identify the query result 6.Find errors in a SQL statement 7.Create a Microsoft Query-by-Example (QBE) to retrieve information from relational tables 8.Examine a Microsoft Access QBE query and the tables to which it applies and identify the query result 9.Find errors in a Microsoft Access QBE query

3
7-3 Examples of Needs for Multiple Views of One Data Set Cash-basis versus Accrual Accounting Weighted Average versus FIFO or LIFO Double-Declining Balance Depreciation versus Straight Line Foreign Currency Translation How do we get these multiple views???????

4
7-4 Answer: Query the Data Set What is Querying? –It is asking questions about the data in the database and manipulating or combining the data in different ways –We can isolate certain rows in tables, we can isolate certain columns in tables, we can join tables together, we can create calculations based on various data items, etc.

5
7-5 Querying/Information Retrieval Several ingredients are necessary for effective querying 1.A database that is well-designed If tables are not fully relational or incompletely specified, or if conceptual model has not been correctly converted into relational form, querying will be difficult or impossible 2.A query developer who understands the table structures and the nature of the data in the tables 3.A query developer who understands the desired query output 4.A query developer who has good logic and reasoning skills 5.A query developer who knows the querying language used to retrieve information from the enterprise database

6
7-6 Three Query Languages Relational Algebra –Three main operators: Select, Project, Join –Provides the conceptual basis for SQL and QBE Structured Query Language (SQL) –The user enters commands according to a pre-defined syntax to retrieve desired data. Query By Example (QBE) –The user starts with a sample of the table(s) columns and marks the fields he or she wants to include in the answer. Defaults are available for summarizing and manipulating the data.

7
7-7 Relational Algebra Select –includes only certain rows from a database table in its answer. Project –includes only certain columns from a database table in its answer Join –combines two or more database tables on the basis of one or more common attributes

8
7-8 Example Tables (Incomplete Enterprise Database) from Dunn & McCarthy (2004) working paper

9
7-9 Relational Algebra SELECT Find the cash receipts from Customer #2 (keeping all the details of those cash receipts) Select Cash Receipt Where Customer Number = C-2 Giving Answer

10
7-10 Relational Algebra PROJECT Find the customer number, name, and salesperson number for all customers Project Customer Over (Customer#, Name, SP#) Giving Answer

11
7-11 Join Types Inner join –includes only the records from both tables that have the exact same values in the fields that are joined –I.e., Outer join –includes all records from one table, and matches those records from the other table for which values in the joined fields are equal –I.e., Left Outer JoinRight Outer Join

12
7-12 Relational Algebra Inner Join Find all details of all customers and all available details of each customers salesperson Join Customer, Salesperson Where Customer.SP# = [Salesperson.Employee Number] Giving Answer

13
7-13 Relational Algebra Left Outer Join Find all details of all sales and the cash receipt number and amount applied of any cash receipts related to those sales Left Outer Join Sale, [Sale - CashRecDuality] Where [Sale.Sale#] = [Sale - CashRecDuality.Sale#] Giving Answer

14
7-14 SQL (Structured Query Language) Each query statement follows the same structure: SELECT attribute name(s) FROM table name(s) WHERE criteria is met;

15
7-15 SQL Statements and Relational Algebra SQLs SELECT component isolates columns –i.e., relational algebras project SQLs FROM component is used for identifying the table(s) involved –if >1 table, helps accomplish relational algebras join (together with WHERE component that specifies equal fields) SQLs WHERE component isolates rows –i.e., relational algebras select –also helps accomplish relational algebras join –may be left blank for single-table queries that retrieve all rows

16
7-16 Find the cash receipts from Customer #2 (keeping all the details of those cash receipts) SQL and Relational Algebra SELECT Select * From [Cash Receipt] Where [Customer Number] = C-2; (note: the brackets are needed because of spaces in the table and field names; also note * is a wild card indicating all columns should be included)

17
7-17 SQL and Relational Algebra PROJECT Select Customer#, Name, SP# From Customer; Find the customer number, name, and salesperson number for all customers

18
7-18 SQL and Relational Algebra Inner Join Select * From Customer, Salesperson Where Customer.SP# = [Salesperson.Employee Number]; Find all details of all customers and all available details of each customers salesperson

19
7-19 SQL and Relational Algebra Outer Join Find all details of all sales and the cash receipt number and amount applied of any cash receipts related to those sales Select * From Sale LeftJoin [Sale-CashRecDuality] Where [Sale.Sale#]=[Sale-CashRecDuality.Sale#];

20
7-20 Mathematical Comparison Operators SQL Queries may include mathematical comparison operators such as –= equal to –< less than –<= less than or equal to –> greater than –>= greater than or equal to –<> not equal to (or != in some software) Mathematical comparison operators are typically included in the WHERE clause of the SQL statement, and may be used on all types of fields –For date fields, dates that are earlier in time are less than dates that are later in time. –For text fields, A < B < C, etc.

21
7-21 SQL Mathematical Comparison Operators Select Account#, Balance From Cash Where Balance>=50000;

22
7-22 SQL Mathematical Comparison Operators on Character Attributes Select Sale#, Amount From Sale Where SalesRep# <> E-10;

23
7-23 Queries with Logical Operators Queries may include logical operators AND, OR, and NOT –AND accomplishes a set intersection – answer includes all instances that meet BOTH conditions –OR accomplishes a set union – answer includes all instances that meet one condition and all instances that meet the other condition –NOT identifies instances that do not meet one or more conditions

24
7-24 Queries with Special Operators BETWEEN is used to define the range limits. –The end points of the range are included Select Sale#, Amount, Date From Sale Where Date BETWEEN 7/1 and 7/31;

25
7-25 Queries with Special Operators IS NULL is used to retrieve attributes for which the value is null. Select * From Cash Where Balance IS NULL;

26
7-26 Queries with Special Operators EXISTS is used to retrieve attributes for which the value is not null. Select * From Cash Where Balance EXISTS;

27
7-27 Aggregation Functions in Queries An aggregation function summarizes the data values within a field (column) –COUNT summarizes the number of rows that contain a given value in the field –AVERAGE computes the arithmetic mean value of all rows included in the answer –SUM computes the arithmetic sum of all rows included in the answer –MIN identifies the minimum (lowest) attribute value for the field –MAX identifies the maximum (greatest) attribute value for the field

28
7-28 Queries with Horizontal Calculations Horizontal calculations mathematically combine values from different fields for each row –Horizontal calculations should NOT be included in the same query as an aggregation function One query may perform a horizontal calculation and another query that builds on the first query may perform the aggregation function, or vice versa –The correct order for the queries depends on the goal

29
7-29 Relational Algebra SELECT in QBE Cash Receipts from Customer C-2

30
7-30 Relational Algebra Select QBE Example: Cash Receipts from Customer C-2

31
7-31 Relational Algebra SELECT in QBE Cash Receipts from Customer C-2

32
7-32 Relational Algebra SELECT in QBE Cash Receipts from Customer C-2 Enter =C-2 as Criteria in the Customer Number field

33
7-33 Result Relational Algebra SELECT in QBE Cash Receipts from Customer C-2

34
7-34 Relational Algebra PROJECT in QBE Customer#, name, salesperson#

35
7-35 Relational Algebra PROJECT in QBE Customer#, name, salesperson#

36
7-36 Relational Algebra PROJECT in QBE Customer#, name, salesperson#

37
7-37 Relational Algebra PROJECT in QBE Customer#, name, salesperson# Result

38
7-38 Relational Algebra Inner Join in QBE: All details of customers and their salespeople

39
7-39 Relational Algebra Inner Join in QBE: All details of customers and their salespeople

40
7-40 Relational Algebra Inner Join in QBE: All details of customers and their salespeople

41
7-41 Relational Algebra Inner Join in QBE: All details of customers and their salespeople Result

42
7-42 Relational Algebra Outer Join in QBE Details of all sales, related cash receipts

43
7-43 Double-click on the join line Relational Algebra Outer Join in QBE Details of all sales, related cash receipts

44
7-44 Click OK Click on appropriate join type Relational Algebra Outer Join in QBE Details of all sales, related cash receipts

45
7-45 Notice change in join line Relational Algebra Outer Join in QBE Details of all sales, related cash receipts

46
7-46 Relational Algebra Outer Join in QBE Details of all sales, related cash receipts

47
7-47 Relational Algebra Outer Join in QBE Details of all sales, related cash receipts Result

48
7-48 QBE with Mathematical Comparison Operator Cash Account# and Balances >=$50,000

49
7-49 QBE with Mathematical Comparison Operator Cash Account# and Balances >=$50,000

50
7-50 QBE with Mathematical Comparison Operator Cash Account# and Balances >=$50,000 Result

51
7-51 QBE with Mathematical Comparison on Character Attribute: Sales Not made by E-10

52
7-52 QBE with Mathematical Comparison on Character Attribute: Sales Not made by E-10

53
7-53 QBE with Mathematical Comparison on Character Attribute: Sales Not made by E-10 Result

54
7-54 AND operator in QBE: Sales made before July 31 by Sales Rep E-10

55
7-55 AND operator in QBE: Sales made before July 31 by Sales Rep E-10

56
7-56 Enter selection criteria on same line to accomplish logical AND AND operator in QBE: Sales made before July 31 by Sales Rep E-10

57
7-57 AND operator in QBE: Sales made before July 31 by Sales Rep E-10 Result

58
7-58 OR operator in QBE: Sales made before July 31 OR by Sales Rep E-10

59
7-59 OR operator in QBE: Sales made before July 31 OR by Sales Rep E-10

60
7-60 Enter selection criteria on separate lines to accomplish logical OR OR operator in QBE: Sales made before July 31 OR by Sales Rep E-10

61
7-61 OR operator in QBE: Sales made before July 31 OR by Sales Rep E-10 Result

62
7-62 Aggregation SUM and Special Operator BETWEEN in QBE: Total Sales between July 15 and July 31

63
7-63 Bring only the fields you need into the query grid Aggregation SUM and Special Operator BETWEEN in QBE: Total Sales between July 15 and July 31

64
7-64 Enter Criteria with BETWEEN operator Click on summation symbol to add Total line to query grid (used for aggregations) Aggregation SUM and Special Operator BETWEEN in QBE: Total Sales between July 15 and July 31

65
7-65 Total line defaults to Group By for each field; Change the Amount field to Sum and change the Date field to Where Aggregation SUM and Special Operator BETWEEN in QBE: Total Sales between July 15 and July 31

66
7-66 Aggregation SUM and Special Operator BETWEEN in QBE: Total Sales between July 15 and July 31

67
7-67 Aggregation SUM and Special Operator BETWEEN in QBE: Total Sales between July 15 and July 31 Result

68
7-68 Horizontal Calculation in QBE: Inventory-Sale Line Item Extension

69
7-69 Save query so that fields will be available to the Expression Builder; then click on the magic wand to start the Expression Builder Horizontal Calculation in QBE: Inventory-Sale Line Item Extension

70
7-70 Horizontal Calculation in QBE: Inventory-Sale Line Item Extension

71
7-71 Horizontal Calculation in QBE: Inventory-Sale Line Item Extension

72
7-72 Horizontal Calculation in QBE: Inventory-Sale Line Item Extension

73
7-73 Horizontal Calculation in QBE: Inventory-Sale Line Item Extension

74
7-74 Horizontal Calculation in QBE: Inventory-Sale Line Item Extension Result

75
7-75 Querying Summary Querying provides the power of the relational database model –Once you unlock the mystery of query construction, you can tap into the wealth of information that is at your fingertips in a well- designed relational database Querying requires organized thinking and logic –You must understand the structure of the database tables and the nature of the data in those tables. –You must identify which table(s) are needed for each query, and determine the appropriate manipulations that need to be made in the appropriate sequence Some people find it helpful to organize their thinking by considering what relational algebra operators are needed even though the relational algebra language is rarely used Manually calculating the query result using a representative data sample is also very helpful for identifying query errors Remember to separate horizontal calculations from vertical aggregations Comprehensive testing of queries is crucial before releasing queries for use by general users

76
McGraw-Hill/Irwin Copyright © 2005 by The McGraw-Hill Companies, Inc. All rights reserved. ENTERPRISE INFORMATION SYSTEMS A PATTERN BASED APPROACH Chapter 7 End of Chapter

Similar presentations

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google