This assignment can be completed by 2-member teams.
There are two parts to this assignment.
I) The first part will involve a table that is partially of your own design. Use a report such as a sales summary, a telephone bill, a credit card invoice, etc. to build a single table. Extract the fields represented on the report and build a single table from these fields. Next, identify the dependencies between these fields. Finally, if appropriate, normalize the table into BCNF. (50%)
II) For the following description of an airline reservation system, identify the functional dependencies between each field and build normalized tables based on these dependencies. (50%)
Symba Airlines is a new airline that seeks to hit the market strong because of its advanced reservation system. Based on the success of Southwest, Symba will be taking a similar approach with regards to fun flights, unassigned seating, and standardized aircraft. Some of the information that are of particular importance for the reservation system include the following:
In the process of completing this assignment, perform the following steps for each of the two problems discussed above.
Throughout the normalization process, make certain that you identify the primary key by underlining the field(s) that constitutes the primary key (when you build new tables, also italicize any foreign keys that you identify -- this will help you verify that you are completing the normalization process properly). It is also important that you show and explain your work and the logic that helps me to understand why you made the changes that you made for each stage of normalization (see the examples). Make certain that you show the progression from lower levels of normalization to the higher levels. In other words, do not jump from an unnormalized table to the highest level of normalization (I want to see the logic and stages that you progressed through in completing the project).
What to turn in: Turn in documentation showing your work for each step of the process. In other words, show each table at each stage of normalization. Make certain that you label the stage of the process that you are showing. In addition, label each table and provide a description of the assumptions that you made in bringing the table(s) to the specified level of normalization. It is critical that you show not only the tables, but also the description of your assumptions and related logic. All elements should be neatly typed on plain white paper. You should include a cover sheet that includes your name, the assignment number, and the date. I find it useful to use a spreadsheet to document these processes because you can easily copy and paste cells representing fields; however, use whatever documentation tools that you find useful for this exercise. Staple all components together.
You will be graded on the correctness, completeness, and quality of your effort. Spelling, punctuation, grammar, neatness, and all other elements related to good written communication will be considered in assigning grades.