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 2: Personal Database Preliminary
Due Thursday Sept. 14
The following information should be turned in for the preliminary
proposal for your personal database project:
- A short description of the main idea and purpose for your
- A short general description of the data you will be using for
the database, and what uses you might expect the database to have.
These will be preliminary specifications, so do not feel that
you must follow everything that you describe here in the final database
design. This description should be under one page in length.
Assignment 3: Full Personal Database Specifications and Conceptual Design
Due Tuesday Sept. 26
The following information should be turned in for the preliminary design
of your personal database project. This builds on the previous assignment
with some additions:
These will be preliminary design specifications, so do not feel that you
must follow everything that you describe here in the final database design.
A general description of the data you will be using for the database, and
what uses you might expect the database to have (should be expanded from
the previous assignment).
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.
Assignment 4: SQL
Due Thursday, October 12
- Read Chapter 9 in McFadden
- Turn in the answers for questions 1-10 from the questions and problems section
Assignment 5: Midterm Personal Database Reports
Due Tuesday, October 31
This is to be a formal report, printed on a good printer
(no hand-written reports will be accepted). It should include the following
For Access-only projects
For those moving personal DBs to ORACLE
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
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
Sample reports -- Create at least
3 reports showing information from tables and queries of your database.
Print the reports and include them.
Queries for Oracle
Due Tuesday, November 7
Connecting to Oracle:
Login to the Unix machine "irony"
From the lab:
From a dialup or internet connection:
Login to your lab account as normal.
From the Start menu, choose Programs/Internet/SSH Telnet/SSH
SSH will prompt you for your password for Irony (use your
At the unix command prompt enter "sqlplus" to start interacting
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’;"
To see the fields for a particular table issue the command
"DESCRIBE tablename;" where "tablename" is replace 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.
Use telnet or SSH to connect to irony
Proceed as in steps 4-13 above.
What are the names and addresses of the diveshop customers who are renting
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
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 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 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
select d.name, d.street, d.city,
d.state_prov, d.zip_postal_code from
divecust d where d.name like
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.