GEOG
475/575: Digital Compilation and Database Design
Lab1. SQL, MS Access & Map Projection
Due Oct 8 before class.
Introduction:
You will first learn how to use SQL commands to manage
and query information from MS Access tables. The second part of the lab is to
refresh your memory on map projection, a topic which is covered by other GIS
courses and critical in building a GIS database.
SQL exercises:
1. Click and save these files (customers.txt and
items_ordered.xls) to your temporary work space (e.g., c:\Users\jduh). Keep a note on where you save these files.
2. Start MS Access from Windows Start menu
(Start->Programs->Office-Productivity->Microsoft Office->Microsoft
Office Access 2007).
3. First, you create a new database by selecting “Blank database” from the
new file panel. You will need to give the database an arbitrary name (e.g., lab1). Write down the file name (with the extension name).
4. Then, go to “File -> Get external data -> Import” (or select text
file from the External Data ribbon if you are using Access 2007) and import the customers.txt file into a
new table in the current database. Set the file being imported as a comma
delimited file with first row containing field names. Make sure you check the
“First row contains field names” check box. Use the same procedure to import
the items_ordered.xls file. When done, you will find the icons of these two
data file in your Access database table panel.
5. Double-click on the tables in the table panel (or select from the tabs in
the data grid panel). Select Design View from the right-click menu of the tab to
examine the data types of the fields. Click on the entries in the top panel to
see detail information of the fields. Repeat this step for both tables you just
imported.
6. In the customers table, we have several errors:
1)
a missing record of Shawn Dalton from Cannon Beach, Oregon.
His customer ID is 10330.
2)
John Doe from Portland, Oregon,
whose customer ID is 14400, had moved to somewhere else. His record needs to be
removed from the database.
3)
a typo in the items_ordered table that needs to
be fixed before we can retrieve correct information. The price on Pogo stick of
the first record in the table should be 28, instead of 0.
7. We will use SQL statements, INSERT INTO, DELETE, and UPDATE to correct the data. In MS Access we need to build a query to use SQL.
Click on Create ribbon and then the Query Design icon. Add both tables in the
dialog box to the query dialog box.
8. Right-click on the query1
tab and select SQL view from the view item in the pulldown
menu. Delete the text in the text box
and type in the following SQL statement:
DELETE FROM customers WHERE customerid = 14400;. Click on the Design ribbon and
click on the RUN Icon (!) or select run from the query item in the main menu to
delete the record of John Doe. If you open the customers table, the record of
John Doe should be removed.
9. Now, use the Help menu to lookup the use of the INSERT INTO statement and
follow the procedure in 8 to insert the record of Shawn Dalton from Cannon Beach, Oregon
(customer ID = 10330). You will use the single-record append query to insert
the record. When entering values in an SQL statement, use ‘ (single
quotes) with non-numerical (i.e., text) values (e.g., ‘Cannon Beach’).
You don’t need to put single quotes on numbers. Please note that the SQL
statement is not case-sensitive, but the values in the tables are. After you
run the SQL statement, a popup message will notify you that a new record is
being added to the table. Click OK to dismiss the message. You will need to use
the Refresh All icon on the Home ribbon to see the change. When done, copy
and paste the INSERT INTO statement you created into your lab1
document to be submitted.
10. Again, use the online help to lookup the UPDATE statement and fix the
price information in the item_ordered table. When
done, copy and paste your UPDATE statement into your lab1
document.
11. We have fixed the errors in the tables. The next step is to extract
information from the tables. Now create a new query as we did in 7. The query
should open in Design View. Drag the “customerid” in
the customers table and drop it on the “customerid”
in the items_ordered table. This joints both tables
using the customerid fields as the keys.
12. Right-click on the spread sheet (i.e., any cell grid on the sheet) on the
lower panel of the query design window and activate the “totals” option. This
adds the “total” row to the spread sheet. Set the following values for the
first column: Field: items_ordered.price, Total: Avg.
For the second column, set Field to customers.state
and Total to “Group By”. Then switch to Datasheet view of the query (i.e.,
right-click on the query tab and select Datasheet view).
13. You should see the result of the query you just built. Copy and paste
the table to your lab1 document.
14. Now, select SQL View from View and copy and paste the SQL statement on
the screen to your lab1 document.
15. Use the result of the query created in Step 12 in conjunction with the
online help on the SELECT statement to write a short paragraph describing the
meaning of the resulting table, the components in the SELECT statement, and how
those components work.
Your lab1 document should include the SQL
statements generated in 9, 10, 13, and 14, the result table of Step 13, and the
short paragraph.
Map projections and coordinate systems exercises:
This is a review of your GIS I knowledge. Follow the
instructions to finish the four Tasks at the end of Chapter 2 in the text book
(Chang 2009). You can answer the questions in each task on your own and skip
the Challenge Task at the end of the exercise. Answer the question below and
insert the image from Task 4, Step 2 into your lab1
document. Lab exercise data are available in: I:\Students\Instructors\Geoffrey_Duh\GEOG4575\Chang_5e\chap2.
Please copy the chap2 folder to your working
directory in c:\Users before you start.
1) What
is the difference between what the Define Project tool and the Project
tool do?