Download presentation
Presentation is loading. Please wait.
Published byAmice McDowell Modified over 9 years ago
1
LSP 121 Week 2 Normalization and Advanced Queries
2
Normalization Let’s create a database for a car club What if one person owns multiple cars? (One owner can have many cars, so this is 1:M relationship) Create a separate table for just the cars How do you “relate” the two tables together?
3
Normalization Example Car Club (originally) Member ID (primary key) Member Name Member Address Member City Member State Member Zip Member Phone Dues Paid? National Member? these fields repeat 1 to n times Model of Car Make of Car Year of Car Member Table Member ID (primary key) Name Address City State Zip Phone Dues Paid? National Member? Car Table Model of Car Make of Car Year of Car Member ID (not a primary key here!) Primary Key in Member Table? Foreign Key in Car Table? 1:M Relationship
4
Another Example Student Records Student ID (primary key) Name Address City State Zip Phone these fields repeat 1 to n times Class Name Grade Number Credits Major Minor Degree Sought Student Info Student ID Name Address City State Zip Phone Major Minor Degree Sought Grades Class Name Grade Number Credits Student ID Before After
5
Let’s Consider the Following: Sales Transactions at a Clothing Store Customer ID Customer Last Name Customer Phone Customer City following fields repeat 1 to n times: Sales Transaction Date Sales Amount Item Clearance Item? Let’s first create the two tables using paper and pencil.
6
Relationships If: – you create two tables, and – the first table has a primary key, and – you carry that primary key over to the second table as a foreign key, and – the primary key and the foreign key are spelled the same and have the same type Then Access will automatically create a relationship between the two tables
7
Relationships You can also create a relationship between the two tables by hand Go to the Tools drop-down menu and click on Relationships Add the two tables to the view, click on one of the Student IDs and drag it over to the other Student ID and un-click Check Enforce Referential Integrity (you don’t want children records without parents)
8
Why Relational? Eliminates redundancy Makes adding data easier Allows for more secure access to only parts of the data Now let’s create our tables and enter our data into Access (data is on the next slide)
9
Data 1Smith555-5555Palos Heights 2Chen666-6666LaGrange 3Wilson777-7777Chicago 3/3/0920.45ShirtY1 3/3/095.99ScarfN1 3/4/0929.99JeansY3 This is the foreign key
10
Simple Queries To create an Access query, don’t use the query wizard. Instead, create query in Design view Let’s see how Access does it List all customer names and phone numbers List customer name, sales date, sale price and item name of all clearance items sold List customer name, sales date, sale price and item name of all clearance items sold on 3/3/09
11
Queries You can look for something after a certain date IF the data was stored as date/time and you say >1/1/2004 Dates should be entered with # before and after the date, and can be in many different formats, ie #1/1/2004#, #January 1, 2004#, #1-Jan-2004#
12
Queries Logical OR - You can look for records in the state of Indiana or Illinois by saying “IL” OR “IN” You can also say: In (“IL”, “IN”, “OH”) Logical AND - you can make multiple entries in the query boxes. For example, in the State field enter “IL” and then in the Size field enter <3
13
Queries Logical AND - You can also use an AND in one field. For example, in the Size field you can enter >=3 AND <=9 A slightly easier way of doing this is using the BETWEEN operator: Between 3 and 9 Possible operators include =, <>,, = Let’s stop here for now and do Activity 3
14
Queries That Calculate When performing a query, you can aggregate the data You can perform a Count, Sum, Avg, Max, Min, StDev, Var(iance), First, and Last Count, First, and Last can be performed on types counter, number, currency, date/time, yes/no, text, memo, and OLE object Sum, Avg, Max, Min, StDev, Var can be performed on types on counter, number, currency, date/time, and yes/no
15
Example Say you have a database for a vet (the pets database on QRC website) If you want to find the average weight and height of all pets: (you may have to click on View / Totals) Field: Pet IDWeightHeight Total: CountAvgAvg Show: X X X
16
Example What if you want to find the average height and weight for all dogs? Field: WeightHeightType of Animal Total: AvgAvgGroup By Show: X X X Criteria:“Dog”
17
Example What if you want to find the minimum and maximum weight for all dogs? Field: WeightWeightType of Animal Total: MinMaxGroup By Show: X X X Criteria:“Dog”
18
More Examples You can also perform totals on groups of records. For example, suppose you want to count how many different types of pets the vet has on record Field: Type of AnimalPet ID Total: Group ByCount Show X X
19
Further Examples? Let’s play with the Pets database some more Now we can do Activity 4
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.