Select a real-world application for which a database system would be needed. Model the domain of the application and define its functionality
INSTRUCTIONS TO CANDIDATES
ANSWER ALL QUESTIONS
- Select a real-world application for which a database system would be needed.
- Model the domain of the application and define its functionality
- Design the database
- Implement it using an RDMS (MySQL or Microsoft SQL Server) ― Populate the database, write statements to manipulate the database, write queries to retrieve information, explore other aspects such as constraints and triggers.
In selecting the application domain for your project, we suggest that you choose an application that you enjoy working with and are interested in - e.g. a hobby, a student organization you're involved in, a business that interests you. It's especially nice if you pick an application where you can populate your database using real, as opposed to fabricated, data.
The following link (http://infolab.stanford.edu/~ullman/dscb.html#projects) points to some sample projects. The list is meant to give you an idea as to the type and complexity of application that is appropriate for this course. Do not pick identical projects. If you are unsure whether your chosen application is appropriate consult with the professor ahead of time.
Phase 1
- Abstract: a short (approximately one paragraph) description of the database application you propose to work with throughout the course. Your description should be clear and concise. It should also include any constraints that need to be imposed based on the application being modeled.
- Mission statement.
- Mission objectives.
- A list of uses cases that include actor and step-by-step descriptions.
- An E/R diagram for your proposed database. Underline key attributes for entity sets, specify relationships with arrowheads.
Your E/R diagram must have at least 5 entities, in order to guarantee the sufficient database operations. When defining entities, you should avoid two common mistakes: splitting one entity into multiples ones, or mixing multiple entities into one.
A draft report of the above will help you to identify the development objectives and implementation details. The draft can be refined and augmented in the next stage.
Phase 2
At the second phase, you will finish the following tasks:
- Complete E/R diagram from Phase 1: on you E/R diagram, clearly describe each entity (including, list of entity attributes, the entity primary key, and any foreign keys) and each relationship with its multiplicities. You can modify and improve the previous E/R diagram if necessary.
- Relational Model: using the method for translating an E/R diagram to relations, produce a set of relations for your database design. As usual, please be sure to underline key attributes in your relations.
- Normalization: perform normalization process on your relational model. Go through each relation in your schema and verify they are in 3NF. If not, decompose the relation into smaller relations so that each relation is in 3NF. Be sure to underline key attributes in your new relations.
- Based on the list of uses cases that include actor and step-by-step descriptions from the first stage, complete corresponding database functionalities. For each entity, you must have use cases that perform at least one aggregate query, one insert operation, one delete operation, and one update operation; for each relationship, you must have use cases that perform at least one joint query.
- Use case Realization: provide the complete SQL statements or relational algebra operations, for every use case.
Phase 3
The report must be singled spaced and using 12 point font. The report must have at least 10 pages long. Diagrams are allowed.
The report must contain at least the following sections:
-
- Mission statement.
- Mission objectives.
- An E/R diagram for your proposed database. Specify primary keys, relationships and their multiplicities.
- Relational model after normalization. For each table, show the attribute dependencies, and explain why it is in 1NF, 2NF, or 3NF;
- A complete list of uses cases that include actor and step-by-step descriptions.
- Use case realization (include the SQL statements that implement every use case). Once again, be sure to have: for each entity, at least one insert, one delete, one update, and one aggregate query; and for each set of entities that have a direct relationship, one joint query.
- Test plan and records. For every use case, specify the input data, the expected output, and the actual output. Correct any bugs you find.
-
-
Attachments:
Related Questions
. Introgramming & Unix Fall 2018, CRN 44882, Oakland University Homework Assignment 6 - Using Arrays and Functions in C
DescriptionIn this final assignment, the students will demonstrate their ability to apply two ma
. The standard path finding involves finding the (shortest) path from an origin to a destination, typically on a map. This is an
Path finding involves finding a path from A to B. Typically we want the path to have certain properties,such as being the shortest or to avoid going t
. Develop a program to emulate a purchase transaction at a retail store. This program will have two classes, a LineItem class and a Transaction class. The LineItem class will represent an individual
Develop a program to emulate a purchase transaction at a retail store. Thisprogram will have two classes, a LineItem class and a Transaction class. Th
. SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of Sea Ports. Here are the classes and their instance variables we wish to define:
1
Project 1
Introduction - the SeaPort Project series
For this set of projects for the course, we wish to simulate some of the aspects of a number of
. Project 2 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of Sea Ports. Here are the classes and their instance variables we wish to define:
1
Project 2
Introduction - the SeaPort Project series
For this set of projects for the course, we wish to simulate some of the aspects of a number of