You will build your project incrementally, throughout the semester. Unless otherwise noted, each of these project deliverables is due at the normal assignment due time, one week after it is assigned. Be sure to upgrade previous submissions as you proceed through the semester.
Vision — Write a one-to-two-paragraph description of a non-trivial information system project. The domain of application is up to you. You don’t need to give a full description of the database structure at this point, but you should describe the stakeholders for your database (give a short list of potential users) and your domain should be complex enough to support the following requirements.
Talk to me if you have any questions about whether your idea fits these requirements or if you need suggestions on where to start.
Submit your vision as a text file in vision.txt
by the end of unit 2. See
the policies page for submission details. We’ll
grade on the quality and novelty of your idea and on the level of domain details you
give.
Design — Design an ERD for your domain and then translate it into a relational database.
Talk to me if you have any questions about how complex your database needs to be or how
much data you need to generate. Submit the following materials in project/*
by the end of unit 5.
erd.*
- your ERD model, potentially a powerpoint file or a scanned
version of a hand-drawn model (e.g., erd.pptx
or erd.png
)
create.sql
load.sql
) that includes calls
to rebuild the schema (drop.sql
& schema.sql
),
load sample data (data.sql
) and add constraints as needed
(constraints.sql
).
create.sql
and load.sql
scripts. For examples, see the readme overview and the CPDB and GRDB command files
in https://github.com/cs342/code/databases
.
data.txt
We’ll grade on the quality and completeness of your model and implementation, and on the correctness of your analysis.
Queries — Build a set of queries for your system that would serve the users/stakeholders you identified in your vision statement and test those queries on your representative data. The nature and complexity of your queries is up to you, but they should satisfy the following requirements.
You may need to modify your schema (and ERD) or your database instance to support these queries. The information “value” of your queries matters here, so don’t just pick simple queries; pick queries that would matter to your stakeholders. Talk to me if you have any questions about the appropriate nature and/or complexity of your queries.
Submit your solution as a commented SQL command file in queries.sql
by the
end of unit 8. We’ll grade on the utility, complexity and correctness of your
queries.
Application — Add appropriate stored procedures, triggers, tuning features and transaction processing.
procedures.sql
.
triggers.sql
.
optimizations.txt
.
C:\Users\yourCalvinLoginId\Documents\project\
This is important because DataPump is sensitive to the location in which you
created the *.dmp file. It’s also important that this be on the C: drive
in the lab because the Oracle user doesn’t have write permission to your
P: drive. For simple instructions on Datapump, see how it is used for the
imdbLarge database (in the imdbLarge readme file). For
more details, see Oracle Data Pump Quick Start. Store the
script for building a DBMS user and defining the dump directory in create.sql
and the Datapump parameters settings in
databaseName.par
and the actual database dump in
databaseName.dmp
.
Commit your par file and create script, and, for the purposes of grading, the LOG file as well.
Submit your solution as specified above by the end of unit 11. We’ll grade on the utility, complexity and correctness of your upgrades.
Extensions — Add an appropriate enterprise web service and a separate NoSQL version for selected parts of your system.
project/j2ee/
.
project/nosql/
.
Submit your code by the end of unit 14. We’ll grade on the completeness and soundness of your new implementations.
Final Deliverable — There are no additional features to
add for this deliverable. Address all the comments made on earlier project deliverables,
modify your proposal so that it can serve as a vision statement for the project, modify the
ERD so that it accurate reflects the table structure and include a readme.txt
file that explains how to use the scripts.
This final deliverable is due by the end of the day of the final exam. We’ll grade on the overall quality of your app, including its vision, design and implementation.