This is a small database project, constituting an end-to-end system, with an interface for data input (either from user via GUI forms, the Oracle WWW interface, or Perl-based data-extraction from text or online data sources) and an interface for data output (both through the generation of reports, complex SQL queries, and definitions of views to provide customized perspectives on the database for different users).
Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
1) Say what the target domain is (e.g. a football database)
2) Give a representative list of the English questions you would like your system to be able to answer (minimum 15). For example: "Show All Teams who won by at least X Points against a team with at least Y Wins"
3) Show the relational data model used for the database. This can either be:
(a) A standard table representation, with the header and one tuple of sample values for each relation. Underline primary keys and indicate referential constraints with arrows between foreign keys and the relation/attribute they reference.
(b) A full relational table specification in the SQL Database Definition Language (DDL). The speficifaction should include both the data type of each attribute, the NOT NULL constraint when appropriate and sample data values for each attribute represented as comments. You should also specify the primary keys (e.g., PRIMARY KEY(ssn)) and referntial constraints (e.g., FOREIGN KEY(mgrssn) REFERENCES employee(ssn)).
4) Write SQL statements that will implment a representative sample of your target queries.
5) Tell how the database can/will be loaded with values
- If online sources tell what are the sources (e.g. personal data, or WWW URLs) and what format conversion issues are/were encountered.
- If the input is primarily through a WWW or form-based interface, briefly describe this interfaceand the issues involved.
All this seems like a lot of work, but it really isn't too bad. It's mostly short descriptions (paragraph or so, max).
Any SQL must be SQL-99 compliant.
You can use Perl, Oracle, Java-embedded or C++-embedded code, etc. The language doesn't really matter.
The database must run in a Unix environment.