cs1100: microsoft access managing data in relational databases created by martin schedlbauer...
TRANSCRIPT
![Page 1: CS1100: Microsoft Access Managing Data in Relational Databases Created By Martin Schedlbauer m.schedlbauer@neu.edu CS11001Microsoft Access - Introduction](https://reader033.vdocument.in/reader033/viewer/2022042822/56649f085503460f94c1d3b4/html5/thumbnails/1.jpg)
Microsoft Access - Introduction 1
CS1100: Microsoft AccessManaging Data in Relational Databases
Created ByMartin [email protected]
CS1100
![Page 2: CS1100: Microsoft Access Managing Data in Relational Databases Created By Martin Schedlbauer m.schedlbauer@neu.edu CS11001Microsoft Access - Introduction](https://reader033.vdocument.in/reader033/viewer/2022042822/56649f085503460f94c1d3b4/html5/thumbnails/2.jpg)
Microsoft Access - Introduction 2
DATABASE CONCEPTSMicrosoft Access Tutorial: Data, Databases, and Queries
CS1100
![Page 3: CS1100: Microsoft Access Managing Data in Relational Databases Created By Martin Schedlbauer m.schedlbauer@neu.edu CS11001Microsoft Access - Introduction](https://reader033.vdocument.in/reader033/viewer/2022042822/56649f085503460f94c1d3b4/html5/thumbnails/3.jpg)
Microsoft Access - Introduction 3
What is this About
• Storing, accessing, searching, and viewing data are important in any business.
• While spreadsheets work well for small amounts of data, databases are used for larger data collections.
• Learning how to access data is an important skill when working with databases.
• We will learn how to formulate queries in the Microsoft Access database system.
CS1100
![Page 4: CS1100: Microsoft Access Managing Data in Relational Databases Created By Martin Schedlbauer m.schedlbauer@neu.edu CS11001Microsoft Access - Introduction](https://reader033.vdocument.in/reader033/viewer/2022042822/56649f085503460f94c1d3b4/html5/thumbnails/4.jpg)
Microsoft Access - Introduction 4
Value of Knowledge
• What we learn here is applicable to many other database that are used by businesses:– Oracle– Sybase– Microsoft SQL Server– JavaDB– …
• We will also learn how to decompose problems and think logically.
CS1100
![Page 5: CS1100: Microsoft Access Managing Data in Relational Databases Created By Martin Schedlbauer m.schedlbauer@neu.edu CS11001Microsoft Access - Introduction](https://reader033.vdocument.in/reader033/viewer/2022042822/56649f085503460f94c1d3b4/html5/thumbnails/5.jpg)
Microsoft Access - Introduction 5
LAYOUT OF THE ORDERS DATABASEMicrosoft Access Tutorial: Data, Databases, and Queries
CS1100
![Page 6: CS1100: Microsoft Access Managing Data in Relational Databases Created By Martin Schedlbauer m.schedlbauer@neu.edu CS11001Microsoft Access - Introduction](https://reader033.vdocument.in/reader033/viewer/2022042822/56649f085503460f94c1d3b4/html5/thumbnails/6.jpg)
Microsoft Access - Introduction 6
The Orders Database
• We will be using a database that contains data for orders placed by customers for our examples.
• This database stores the following information:– For each order know what was ordered, how much of
that item was ordered, and at what price.– For each order know who placed that order.– For each customer (called a contact) store where they
live.– For each product track its description and price.
CS1100
![Page 7: CS1100: Microsoft Access Managing Data in Relational Databases Created By Martin Schedlbauer m.schedlbauer@neu.edu CS11001Microsoft Access - Introduction](https://reader033.vdocument.in/reader033/viewer/2022042822/56649f085503460f94c1d3b4/html5/thumbnails/7.jpg)
Microsoft Access - Introduction 7
A Sample Order
Order O0001
Customer ContactContact ID: C0004Name: Colon, NicholasAddress: 9020 N.W. 75 Street
Coral Springs, FL 33065
Order Date: 4/15/1999
Product ID Product Name Quantity UnitPrice ExtendedPriceP0013 DVD Disks 1 $ 23.00 $ 23.00 P0014 HD Floppy Disks 4 $ 9.99 $ 39.96 P0027 Norton Anti-Virus 1 $ 115.95 $ 115.95
Order Total: $ 178.91
CS1100
![Page 8: CS1100: Microsoft Access Managing Data in Relational Databases Created By Martin Schedlbauer m.schedlbauer@neu.edu CS11001Microsoft Access - Introduction](https://reader033.vdocument.in/reader033/viewer/2022042822/56649f085503460f94c1d3b4/html5/thumbnails/8.jpg)
Microsoft Access - Introduction 8
Tables, Rows, and Identifiers
• Microsoft Access is a relational database which means that it stores data in tables
• Each table contains rows; one row for each record, i.e., a contact, order, product, etc.
• Each row in a table has a unique identifier, e.g., OrderID, ProductID, ContactID, etc.
CS1100
![Page 9: CS1100: Microsoft Access Managing Data in Relational Databases Created By Martin Schedlbauer m.schedlbauer@neu.edu CS11001Microsoft Access - Introduction](https://reader033.vdocument.in/reader033/viewer/2022042822/56649f085503460f94c1d3b4/html5/thumbnails/9.jpg)
Microsoft Access - Introduction 9
The Database Layout
• These are all of the tables in the database:
CS1100
![Page 10: CS1100: Microsoft Access Managing Data in Relational Databases Created By Martin Schedlbauer m.schedlbauer@neu.edu CS11001Microsoft Access - Introduction](https://reader033.vdocument.in/reader033/viewer/2022042822/56649f085503460f94c1d3b4/html5/thumbnails/10.jpg)
Microsoft Access - Introduction 10
Where Does The Data Come From?
Order O0001
Customer ContactContact ID: C0004Name: Colon, NicholasAddress: 9020 N.W. 75 Street
Coral Springs, FL 33065
Order Date: 4/15/1999
Product ID Product Name Quantity UnitPrice ExtendedPriceP0013 DVD Disks 1 $ 23.00 $ 23.00 P0014 HD Floppy Disks 4 $ 9.99 $ 39.96 P0027 Norton Anti-Virus 1 $ 115.95 $ 115.95
Order Total: $ 178.91
CS1100
Orders.OrderID
Contacts
ZipCodes
Orders.OrderDate
LineItems
ExtendedPrice =Quantity * UnitPrice
Total Order Amount
![Page 11: CS1100: Microsoft Access Managing Data in Relational Databases Created By Martin Schedlbauer m.schedlbauer@neu.edu CS11001Microsoft Access - Introduction](https://reader033.vdocument.in/reader033/viewer/2022042822/56649f085503460f94c1d3b4/html5/thumbnails/11.jpg)
Microsoft Access - Introduction 11
RETRIEVING DATA WITH QUERIESMicrosoft Access Tutorial: Data, Databases, and Queries
CS1100
![Page 12: CS1100: Microsoft Access Managing Data in Relational Databases Created By Martin Schedlbauer m.schedlbauer@neu.edu CS11001Microsoft Access - Introduction](https://reader033.vdocument.in/reader033/viewer/2022042822/56649f085503460f94c1d3b4/html5/thumbnails/12.jpg)
Microsoft Access - Introduction 12
Queries
• Data is retrieved through queries.• Queries are formulated in a specialized
language called SQL (pronounced SEQUEL).• Microsoft Access makes it easy to create SQL
queries through a simple drag-and-drop interface called the Query Builder.
• Queries are eventually integrated into reports, forms, programs, or executed by themselves.
CS1100
![Page 13: CS1100: Microsoft Access Managing Data in Relational Databases Created By Martin Schedlbauer m.schedlbauer@neu.edu CS11001Microsoft Access - Introduction](https://reader033.vdocument.in/reader033/viewer/2022042822/56649f085503460f94c1d3b4/html5/thumbnails/13.jpg)
Microsoft Access - Introduction 13
Queries on Tables
• Queries retrieve data from one or more tables.
• You can specify which – rows to include in the result through filters
(WHERE clause in SQL terminology)– columns to include in the results
• The result of a query is a table that can be used in other queries (as subqueries).
CS1100
![Page 14: CS1100: Microsoft Access Managing Data in Relational Databases Created By Martin Schedlbauer m.schedlbauer@neu.edu CS11001Microsoft Access - Introduction](https://reader033.vdocument.in/reader033/viewer/2022042822/56649f085503460f94c1d3b4/html5/thumbnails/14.jpg)
Microsoft Access - Introduction 14
Creating Queries in Access
• To create a query:– Select the Create tab– Pick Query Design
– Select the tables to include in the query or simply close the dialog and drag the needed tables into the query designer
CS1100
![Page 15: CS1100: Microsoft Access Managing Data in Relational Databases Created By Martin Schedlbauer m.schedlbauer@neu.edu CS11001Microsoft Access - Introduction](https://reader033.vdocument.in/reader033/viewer/2022042822/56649f085503460f94c1d3b4/html5/thumbnails/15.jpg)
Microsoft Access - Introduction 15
Running a Query
• To run a query, click on:
• To return to the query design, click on:
CS1100
![Page 16: CS1100: Microsoft Access Managing Data in Relational Databases Created By Martin Schedlbauer m.schedlbauer@neu.edu CS11001Microsoft Access - Introduction](https://reader033.vdocument.in/reader033/viewer/2022042822/56649f085503460f94c1d3b4/html5/thumbnails/16.jpg)
Microsoft Access - Introduction 16
Example: Simple Query
• Find the contact id, first name, and last name for each contact.
CS1100
Click to Watch Demo
![Page 17: CS1100: Microsoft Access Managing Data in Relational Databases Created By Martin Schedlbauer m.schedlbauer@neu.edu CS11001Microsoft Access - Introduction](https://reader033.vdocument.in/reader033/viewer/2022042822/56649f085503460f94c1d3b4/html5/thumbnails/17.jpg)
Microsoft Access - Introduction 17
Removing Duplicates
• Queries often result in duplicate rows.• These are removed by “grouping rows” with
the same value as a single row.• To do a Group By, follow these steps:– Select the function button in the ribbon– Select “Group By” for each field
CS1100
![Page 18: CS1100: Microsoft Access Managing Data in Relational Databases Created By Martin Schedlbauer m.schedlbauer@neu.edu CS11001Microsoft Access - Introduction](https://reader033.vdocument.in/reader033/viewer/2022042822/56649f085503460f94c1d3b4/html5/thumbnails/18.jpg)
Microsoft Access - Introduction 18
Example: Group By
• Find the dates on which orders were placed.• Here’s the result without a Group By:
CS1100
Note the duplicate rows
![Page 19: CS1100: Microsoft Access Managing Data in Relational Databases Created By Martin Schedlbauer m.schedlbauer@neu.edu CS11001Microsoft Access - Introduction](https://reader033.vdocument.in/reader033/viewer/2022042822/56649f085503460f94c1d3b4/html5/thumbnails/19.jpg)
Microsoft Access - Introduction 19
Example: Group By
• Here’s the same query with a Group By:
CS1100
Note that the duplicate rows have been “collapsed” into groups and only the group is displayed
![Page 20: CS1100: Microsoft Access Managing Data in Relational Databases Created By Martin Schedlbauer m.schedlbauer@neu.edu CS11001Microsoft Access - Introduction](https://reader033.vdocument.in/reader033/viewer/2022042822/56649f085503460f94c1d3b4/html5/thumbnails/20.jpg)
Microsoft Access - Introduction 20
Duplicates with Group By
• Group By collapses all rows that contain the same data across all columns.
• There are duplicates in this example as the rows are not the same.
CS1100
![Page 21: CS1100: Microsoft Access Managing Data in Relational Databases Created By Martin Schedlbauer m.schedlbauer@neu.edu CS11001Microsoft Access - Introduction](https://reader033.vdocument.in/reader033/viewer/2022042822/56649f085503460f94c1d3b4/html5/thumbnails/21.jpg)
Microsoft Access - Introduction 21
Eliminating Duplicates
• Duplicates can be eliminated by specifying that the query should only return unique records.
CS1100
Watch Demo
![Page 22: CS1100: Microsoft Access Managing Data in Relational Databases Created By Martin Schedlbauer m.schedlbauer@neu.edu CS11001Microsoft Access - Introduction](https://reader033.vdocument.in/reader033/viewer/2022042822/56649f085503460f94c1d3b4/html5/thumbnails/22.jpg)
Microsoft Access - Introduction 22
Joining Tables
• A “join” is a query operation in which rows are selected that have a common value for some row.
• To find contacts that actually placed an order1, the ContactID column value must be the same in the Contacts and the Orders table.
• This essentially finds all contacts who placed at least one order.
CS1100
1 There may be contacts in the Contacts table that are not linked to any order, i.e., they never placed an order.
![Page 23: CS1100: Microsoft Access Managing Data in Relational Databases Created By Martin Schedlbauer m.schedlbauer@neu.edu CS11001Microsoft Access - Introduction](https://reader033.vdocument.in/reader033/viewer/2022042822/56649f085503460f94c1d3b4/html5/thumbnails/23.jpg)
Microsoft Access - Introduction 23
Example: Group By and Join
• Find the first name, last name, and zip code of all contacts that placed an order.
• Here’s the result without a Group By:
CS1100
Note the duplicate rows
![Page 24: CS1100: Microsoft Access Managing Data in Relational Databases Created By Martin Schedlbauer m.schedlbauer@neu.edu CS11001Microsoft Access - Introduction](https://reader033.vdocument.in/reader033/viewer/2022042822/56649f085503460f94c1d3b4/html5/thumbnails/24.jpg)
Microsoft Access - Introduction 24
Example: Group By and Join
• Find the first name, last name, and zip code of all contacts that placed an order.
• Here’s the result with a Group By:
CS1100
All rows with the same first name, last name, and zip code have been collapsed into a single “group”
![Page 25: CS1100: Microsoft Access Managing Data in Relational Databases Created By Martin Schedlbauer m.schedlbauer@neu.edu CS11001Microsoft Access - Introduction](https://reader033.vdocument.in/reader033/viewer/2022042822/56649f085503460f94c1d3b4/html5/thumbnails/25.jpg)
Microsoft Access 25
Counting Items in a Group
• To count the rows that were collapsed into a group, use the COUNT(*) function.
CS1100
The Group By collects identical rows into a group. Only the group is displayed, but COUNT counts the number of rows that are in each group. So the above query tells us how many orders each contact placed.
![Page 26: CS1100: Microsoft Access Managing Data in Relational Databases Created By Martin Schedlbauer m.schedlbauer@neu.edu CS11001Microsoft Access - Introduction](https://reader033.vdocument.in/reader033/viewer/2022042822/56649f085503460f94c1d3b4/html5/thumbnails/26.jpg)
Microsoft Access 26
Expressions
• Note the use of the “Expression” in the Total row for COUNT(*).
• Expression is required when a so called aggregation function is used.
• Aggregation functions work on the items within a group of the Group By clause:– COUNT – counts items in a group– SUM – adds the items in a group (numbers only)
CS1100
![Page 27: CS1100: Microsoft Access Managing Data in Relational Databases Created By Martin Schedlbauer m.schedlbauer@neu.edu CS11001Microsoft Access - Introduction](https://reader033.vdocument.in/reader033/viewer/2022042822/56649f085503460f94c1d3b4/html5/thumbnails/27.jpg)
Microsoft Access 27
Filtering
• Selecting rows that meet certain criteria is done through a WHERE clause.
CS1100
Lists all of the line items (ID only) that have a Quantity > 2.
![Page 28: CS1100: Microsoft Access Managing Data in Relational Databases Created By Martin Schedlbauer m.schedlbauer@neu.edu CS11001Microsoft Access - Introduction](https://reader033.vdocument.in/reader033/viewer/2022042822/56649f085503460f94c1d3b4/html5/thumbnails/28.jpg)
Microsoft Access 28
Selection Criteria
• Selection criteria are specified as an algebraic relationship, but queries are generally stated as a narrative, so we need to “translate”.
CS1100
Narrative Algebraic Term
At least X >= X
No more than X < X
More than X > X
No less than X >= X
Less than X < X
Up to X < X
At most X <= X