Select a real-world application for which a database system would be needed. Model the domain of the application and define its functionalityDatabase

  1. Select a real-world application for which a database system would be needed.
  2. Model the domain of the application and define its functionality
  3. Design the database
  4. 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

 

  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.
  2. Mission statement.
  3. Mission objectives.
  4. A list of uses cases that include actor and step-by-step descriptions.
  5. 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:

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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:

Instructions Files

Database Experts

expert
Anuja Sharma
Database

30 Answers

View More Experts
Disclaimer

The ready solutions purchased from Library are already used solutions. Please do not submit them directly as it may lead to plagiarism. Once paid, the solution file download link will be sent to your provided email. Please either use them for learning purpose or re-write them in your own language. In case if you haven't get the email, do let us know via chat support.

Get Free Quote!

258 Experts Online