SIMS 257 Assignments
Most of the assignments in this course will be related to your own database
and exercises to familiarize you with the systems that we will be using.
A second set of assignments will involve the use of an existing database
to answer a set of queries, or to modify the database. The same database
(called "Diveshop") will be used on both systems. We will discuss these
assignments further in class.
Although there are no formal laboratory sessions scheduled for this
course, it should be obvious that you will need to spend a lot of time
in the School's computer lab (2nd floor, South Hall), or on your home machine
if you have the appropriate software.
Assignment 1
Due Thurs Sept. 13
Using the Diveshop Access database, create queries that produce the
answers to the following questions. The results should contain only
the answers requested -- plus evidence to support them -- and no more.
DiveShop Queries
-
How many tons was the sunken ship Delaware?
-
What is customer Karen Ng's address?
-
At what site might you find a Spotted Eagle Ray?
-
Where is the site Palancar Reef?
-
What sites might Lorraine Vega dive on her trip?
-
Keith Lucas wants to see a shipwreck on his trip. Is he going to the right
place?
-
What equipment is Richard Denning getting?
-
What is the cost of the equipment rental for Louis Jazdzewski.
ER diagram
of the DiveShop Database
Assignment 2: Personal Database Preliminary
Specifications and Conceptual Design
Due THURSDAY Oct. 4 (date change)
The following information should be turned in for the preliminary
proposal for your personal database project:
- A description of the main idea and purpose for your
database.
- A general description of the data you will be using for
the database, and what uses you might expect the database to have.
For the conceptual design of the database you should include:
-
A preliminary data dictionary for the files and data elements of the database.
You should have at least 5 files with some logical connections between
them. The data dictionary consists of all of the attributes that you have
identified for each entity, along with indication of whether the
attribute is a primary key (or part of a primary key), and what format
the data will be (e.g.: text, decimal number, integer, etc.)
-
Produce an entity-relationship diagram of the database OR a UML diagram.
These will be preliminary design specifications, so do not feel that you
must follow everything that you describe here in the final database design.
Assignment 3: Research an Online Database -- Exploration and reporting
Due Tuesday Oct. 2
(Due on Oct
2. Please submit by emailing to
Rosa.)
Goal:
To learn about different applications of databases, particularly ones
that can help provide information useful for regional economic forecasting.
Examples are sites dealing with jobs, real estate, traffic congestion,
etc. We are interested in which sites cover particular regions or types
of jobs/real estate particularly well... Hopefully you will get some ideas
for the course database project in the process and even find some sources
of data.
Step 1:
Start with a tutorial
provided by Berkeley library for some background and pointers on searching
and accessing databases on the web.
Step 2:
Download a list of suggested databases
and choose one to do some research. If you don't find anything of interest
or have problems with the ones you started with, try following some of
the directory suggested by and see if you can find one. Specifically,
look in categories of jobs, real estate, travel... that also allows you
to limit your searches by region.
Step 3:
After selecting a database, obtain the following information about it:
I
Basic Information |
|
|
a.
Name of Database (Website) |
|
|
b.
Web Location - URL
|
|
|
c.
Summary description of content |
|
|
d.
Responsible organization |
|
|
e.
Contact Info: person, email, phone number, etc. |
|
|
|
|
II
Content |
|
|
f.
Do an image capture of the main search screen(s) - enough to show
how searches can be done |
|
|
g.
Do a couple of queries. If possible summarize what kind of information
you tried to look for and what was retrieved. Attach some image captures
of result pages. |
|
|
|
|
III
Technical Information |
|
|
Try
to figure out as much of the following as possible, perhaps by contacting
those who are responsbile for the database: |
|
|
h.
Size of the database |
|
|
i.
Number of records, ex: 50,000 job descriptions |
|
|
j.
Type of backend server (Oracle, Access,... etc. |
|
|
k.
Technologies used to implement the front end (Cold fusion, PHP, ASP,
Java Script...) |
|
Assignment
#4
Diveshop
Queries for Oracle
Due Thursday October 25th
Connecting to Oracle:
Login to the Unix machine "irony"
From the lab:
-
Login to your lab account as normal.
-
From the Start menu, choose Programs/Internet/SSH Telnet/SSH
– Irony.sims.
-
SSH will prompt you for your password for Irony (use your
lab password).
-
At the unix command prompt enter "sqlplus" to start interacting
with Oracle
-
At the "Enter user-name:" prompt enter your ORACLE USER-ID.
-
At the "Enter password:" prompt enter your ORACLE PASSWORD.
-
At the "SQL>" prompt start entering SQL commands to answer
the questions below.
-
Enter "edit" at the SQL> prompt to go into your default editor
(PICO is the default). When you save and exit from the editor, the edited
query will be returned in the SQL buffer.
-
Be sure to end each SQL command with a semicolon.
-
To see what diveshop tables are available, submit the query
"SELECT * FROM ALL_CATALOG WHERE OWNER = 'RAY';" (Note the use
of SINGLE quotes)
-
To see the fields for a particular table issue the command
"DESCRIBE tablename;" where "tablename" is replaced with the name of the
table you are interested in.
-
When issuing queries use the "RAY.tablename" form wherever
you need to name a table in your SQL commands.
-
To change your oracle password to something else, use the
SQLPlus command "PASSWORD" , you will be prompted for the old password,
and a new password.
From a dialup or internet connection:
-
Use SSH (or SecureCRT) to connect to irony.sims.berkeley.edu.
You can obtain a copy of SecureCRT and the licensing information on the Lab machines at S:\windows\securecrt.
-
Proceed as in steps 4-13 above.
Diveshop Questions
-
What are the names and addresses of the diveshop customers who are renting
snorkels?
-
What are the names of the wildlife that Mary Rioux might see on her
trip. Are there any Shipwrecks there (give names)?
-
What sunken ships might be candidates for treasure hunters whose destination
is New Jersey?
-
Who is paying the maximum amount for single type of rental equipment
(use price * quantity to determine amount)?
-
At how many sites might you see a "Nassau Grouper"?
-
What are the names of customers who are paying in cash?
-
Produce a list of all equipment being rented for a dive vacation that
costs more than $30000, make the list in descending order of the rental
price of the equipment.
-
Who is renting teal colored equipment?
-
Which locations have an avg temperature of more than 75 degrees farenheit
and a travel cost of under $4000?
-
Make up two queries of your own and run them turn in the queries and
the results.
You can also create an SQL command file that contains
multiple SQL and SQLPlus commands. The command files might look like the
following: (PROMPT is an SQLPlus command that simply puts the rest of the
line to the screen.)
PROMPT ****************************************************************
PROMPT DiveShop Query #1
PROMPT select ship_name, tonnage
from shipwrck where ship_name like PROMPT 'Delaware';
select ship_name, tonnage from
shipwrck where ship_name like 'Delaware';
PROMPT ****************************************************************
PROMPT DiveShop Query #2
PROMPT select d.name, d.street,
d.city, d.state_prov, d.zip_postal_code PROMPT from divecust d where d.name
like '%Ng%';
select d.name, d.street, d.city,
d.state_prov, d.zip_postal_code from
divecust d where d.name like
'%Ng%';
PROMPT ****************************************************************
PROMPT DiveShop Query #3
PROMPT select b.common_name,
s.site_name from BIOLIFE b, SITES s, PROMPT BIOSITE x
PROMPT where b.species_no = x.species_no
and x.site_no = s.site_no and PROMPT b.common_name
PROMPT like '%Spotted Eagle Ray%';
select b.common_name, s.site_name
from BIOLIFE b, SITES s, BIOSITE x
where b.species_no = x.species_no
and x.site_no = s.site_no and b.common_name
like '%Spotted Eagle Ray%';
A command file like the one above can be created in a
text editor (be sure to save as a plain text file). To run a command file
like this one, and capture the results for further editing or printing,
issue the commands:
-
SPOOL filename : where filename is the name of the file where
you want the captured results to go.
-
START filenane : where filename is the name of the command
file to run. Note that SQLPlus expects that the filename will end with
the extension ".sql".
-
After the file has run, enter the "SPOOL STOP" command to
close the capture file
-
Edit and print the capture file to turn in.
-
You can also use the SPOOL commands to capture everything
during an interactive SQLPlus session.
Assignment 5: Midterm Personal Database Reports
Due Tuesday, Nov. 13
-
For Access-only projects
-
For those moving personal DBs to ORACLE
This is to be a formal report, printed on a good printer
(no hand-written reports will be accepted). It should include the following
information:
-
Database description -- This
should be 2-5 pages describing the database, the organizational (or personal)
context for which it is being designed, and the uses for it. The description
can incorporate the previous design description from the preliminary design
report, but should be more comprehensive and reflect the ongoing design.
If you are planning to use Access for the final version of the database,
indicate what you plan to add to the current version.
-
Data Dictionary -- Use tools/analyze/documenter
to generate DD for each table. Please use the Options button in the
documenter to
select only the "Names, Data Types, and Sizes" option for fields
and "Names and fields" for indexes
-
Relationships Diagram -- Use
tools/relationships and then file/print relationships
to print relationships diagram.
This will replace the ER Diagram from the preliminary
report, or if you wish, you may also include an ER diagram
-
Sample queries and results --
Include at least 5 queries of your database that demostrate how it can
be used. The report should include the SQL form of the query and the table
result from running the query. HINT -- for the SQL you can also use
the tools/analyzer/Documenter to generate reports on the queries,
use the options button to include only "Names, Data Types, and Sizes"
as with the data dictionary above.
-
Sample forms -- Create forms
for data entry for each of the tables in your database and print the form
(use file/print and pick "print range" in the printing dialog
box as "selected records" to print a single page for each of the
forms)
-
Sample reports -- Create at least
3 reports showing information from tables and queries of your database.
Print the reports and include them.
Final
Project Reports
-
Due Thursday December 6 (last class meeting)
-
For Access-only projects
-
Final progress report will include the same information as
the mid-term report(above), plus additional data and functionality.
-
For those moving personal DBs to ORACLE or other SQL DBMS
-
Final ORACLE or Other report with the information described below.
As with the mid-term reports,
this is to be a formal report, printed on a good printer
(no hand-written reports will be accepted). It should include the following
information:
-
Database description -- This
should be 2-5 pages describing the database, the organizational (or personal)
context for which it is being designed, and the uses for it. The description
can incorporate the previous design description from the preliminary design
report and midterm report, but should be more comprehensive and reflect the ongoing design. In particular, be sure to note any changes since the midterm
report.
If you are using Access for the final version of the database,
indicate what you haved added to the database beyond the mid-term report.
If you are using ORACLE or other DBMS, describe the changes needed in your Access database
to get it running on ORACLE or other DBMS.
-
Data Dictionary
- For Access -- Use tools/analyze/documenter
to generate DD for each table.
- For ORACLE -- Use queries of the system metadata to show the tables,
columns and datatypes. Use the queries "SELECT * FROM TAB;" "SELECT *
FROM COL;" with appropriate formatting commands to produce the data
dictionary information.
- For OTHER DBMS -- Use queries (or client commands) of the system metadata to show the tables,
columns and datatypes. If such queries are not possible, you should write
a document describing the tables, columns and their datatypes for the database.
Relationships Diagram
- For Access -- Use
tools/add-ins/print relationships to print in
Access 2000 use tools/relationships, then file/print relationships
then file/print. This will replace the ER Diagram from the preliminary
report, or if you wish, you may also include an ER diagram
- For ORACLE or Other DBMS -- If the database design has not changed between your
Access and ORACLE versions, you can use the same relationship diagram or ER
diagram as before. Otherwise create an ER diagram for the ORACLE (or Other) database.
Sample queries and results Both Access and ORACLE --
Include at least 8 queries of your database that demonstrate how it can
be used. The report should include the SQL form of the query and the table
result from running the query. In ORACLE use the
SQLPlus formatting
commands to produce readable output. (The SQL-plus reference manual
is under Oracle 8i Server on the documentation web site). If using Other
DBMS, and/or building a web-based interface to the system, please print out
the result pages for this purpose.
Sample forms
- For Access -- Create forms
for data entry for each of the tables in your database and print the form
(use file/print and pick "print range" in the printing dialog
box as "selected records" to print a single page for each of the
forms). Create an Access application that integrates the
forms and reports with an interface.
- For ORACLE and Others -- Show SQL for inserting and updating the database.
If you are building a web-based application with the ability to insert new
data from web forms, please print out those forms along with the PHP, ColdFusion, and/or HTML associated with them.
Sample reports: Both Access
and ORACLE -- Create at least 5 reports showing information from
tables and queries of your database. Print the reports and include
them. For ORACLE, use the SQLPlus formatting commands and queries
to create your reports, include the SQLPlus commands used for each
report. If you are using Other database systems, please attempt to
produce something similar to the Access or ORACLE reports.
Access Applications: Access
only -- Create forms that provide an interface to your reports and
other forms. See the Access example database NorthWind.mdb.
Print the additional forms used and include them.
Web-Based Applications:
For Web-based applications, be sure to print out examples of any pages that
are used to provide an interface to the database. If there are underlying
cgi scripts these should be printed out as well.