Consider an organization of your choice (e.g., manufacturing company, bank, accounting system, video rental, medical applications, retail store, Online_shopping,…) for which you are assigned to design and develop a database. Note that this is a real world database and therefore all entities, attributes, and relationships, and assumptions must be reasonable.
- Define the information content of your database.
- Define a set of entities and appropriate attributes for each entity. Minimum 10 entities.
- Define a set of relationships that might exist between/among entities and attributes. Such relationships may include one-to-one, one-to-many and many-to-many associations.
- Define a set of constraints that may be imposed on data.
- Define an E-R Diagram for your database design.
- Define a relational schema for your database design.
Make sure that you have both one-to-many and many-to-many associations.
- Define one or more realistic key(s) for every relation scheme. Use both simple and composite keys.
- Define a realistic set of Functional / Multi-Valued Dependencies (when appropriate) for every relation scheme.
- Check whether your relational schema is in 2NF, 3NF, BCNF, 4NF.
- Put your relational schema in the highest normal form that is possible.
Note that, every relation scheme should be in a specific normal form in order to have the relational schema in that normal form.
NOTE: Please provide a detailed explanation for every question when appropriate.
Implementation: Create your database using Oracle, or MySQL, or… to Perform the following operations.
You are required to execute SQL queries that include the following operations. For each query, provide the SQL statements along with the output. For each of the following, try different SQL statements (i.e., using one relation, more than one relations,…).
- insert one tuple into a table
- insert a set of tuples (by using another select statement)
- insert involving two tables
delete one tuple or a set of tuples: from one table, from multiple tables.
update one tuple or a set of tuples: from one table, from multiple tables.
- based on one relation and more than one relation:
- operate on View (i.e., select, insert, delete, update,..)
Also, create at least 4 different practical/useful triggers (written in MySQL) for your database to perform the following tasks:
- enforcing referential integrity
- enforcing attribute domain constraints
- creating database log
- gathering statistics
Use MySQL and ColdFusion to create a Web-based application to enable the user to do the following operations:
- Add a record
- Delete a record
- Update a record
- Query (at least 3 select statements on one relation)
NOTE: - You can define your own hypothetical organization, provided that you give enough information as to what this organization does.
- You can make any assumptions about your database, provided that you define them and give reasons as why these assumptions are being made.
- Please let me know if you have any trouble in finding a suitable practical/operational organization.
- Attach any documents that you use to acquire the data for your database.
- This Project is graded based on accuracy and completeness and its practicality to real world problem.