Final Project
- Due Dec 11, 2014 by 11:59pm
- Points 100
- Submitting a text entry box or a file upload
- Available until Dec 11, 2014 at 11:59pm
Review the requirements in the attached document. You may do this project as a group of two people or you may do it individually. It is recommended to do the project as a team of two or three people in a group.
CIS 205 Final Project Fall 2014.pdf Download CIS 205 Final Project Fall 2014.pdf
CIS 205 Final Project Fall 2014
The final assignment consists of separating a database project into the phases that were outline during the semester. The project should be completed with the combination of group collaboration and individual effort. The project should follow the development process that was outlined during the semester. It will consist of the following activities:
1. Describe the requirements for a database that will support a small online business. Makeup a small business scenario or use a real life scenario familiar to one of your group members. In this section you should also try to formulate the queries that you that you want to write for the database.
2. Design the conceptual database behind the described requirements. This is the ER Diagram for the small database.
3. Convert the conceptual design to a physical design. This is translating the ER Diagram into the relational schema and metadata describing the tables, attributes and relationships.
4. Implement the Physical Database from the physical design. This is transposing the relational schema and metadata into the a series of CREATE TABLE statements with the appropriate CONSTRAINT modifiers.
Here are some helpful hints to get started with your design
You need to describe at least the following aspects of the Database:
- What products and/or services will the database hold, the categories of products/services, approximate number of product titles in each category, what (approximately) is the product information that the customers will be able to access
- What information is need from the database
1. Create the EAR diagram from the information gathered in parts 1
2. Write out the schema and metadata of the database, including:
a. All the database tables.
The Metadata
For each table column please specify: the name and the type of the column, whether the value can be null or not, and whether the values are required to be unique.
For each table please specify which column (or columns) forms its primary key.
In the ER Diagram, show all relations between columns, specify the type of the relations (one-to-one or one-to- many), and what is the foreign key by which the tables are related. You can do this in the diagram by placing an FK suffix at the end of the attribute that is a foreign key.
A few things to keep in mind when creating and finalizing the design
1. Don't try to be, too ambitious in planning your database. As much as you would want to have a lot of features in your database, you have to keep in mind that they will be implemented later in the project! So please try to create a minimum design that will be easy to implement and test.
You may need to reduce the scope of the project to get a working version completed within the remaining time in the schedule of this course. In IT, if you cannot deliver a list of features within a given schedule, you have two choices. You can either reduce the features in order to deliver on time, or you can extend the time of the project. We are at the end of the semester, so we cannot extend the time, we can only reduce the activity in the project. In a Database Project, reducing the scope means removing tables, data, and queries from the project.
1. Create the database Container
2. Create Entity Tables
3. Create Relationship Tables
4. Insert Test Data
Designing the ER Diagram, creating the Relational Schema, creating the Metadata and inserting the Test Data is part of the group assignment. Once the database structure is created and the test data has been inserted, the projects turns into individual assignments. Individually the group members of a group are to write queries to test separate segments of the database
Project Overview
Group Assignments
As a group you are to collaborate and create a Database to support sometime of business activities. As a group you are to create the ER Diagram, Relational Schema, Metadata and Test Data for the Database you have chosen. As a group you are to create the physical database in MySQL using the appropriate Create Database and Create Table DDL statements to create the database container and create the tables for the database. Finally as a group you are to insert the initial test data representing a current state of the test organization. You should divide and assign these tasks to members of the group. I recommend choosing a group leader to assist in coordinating activities and roles that the group members will assume.
Individual Group Assignments
Individually, you are to perform the following types of queries using tables of the segment of the database that you are testing in your group’s database project.
One part of the individual assignment is to practice a Union, Intersection and Difference operations on one entity table in the database. For this part of the assignment, each group member will choose a single table from the entity tables of your database project to work with. Each group member will create their own individual set of tables and data test data for this segment of the individual activity.
The pretense of this part of the assignment is each group member is simulating being a part of an integration project that will merge the data from two databases. To prepare for the merger of the two databases, a number of tests have to be performed on similar data sets from both databases. Create a duplicate table to mirror the entity table you are testing. This is similar to how we created the employee table with the same structure as the student table during in class practice. Insert a few rows from the test data of your entity table into the duplicate table mirroring it. This is similar to how we copied three of the rows from the student table into the employee table, we were asserting that some employees were students. You should then insert one or two unique rows into the duplicate table mirroring your entity table. The in class example provided an example of inserting John Jones into the Employee Table. Once you get this type of environment setup in your database for this assignment, you will be able to perform varying relational algebra operations just as we did in the in class example. You will be able to perform an intersection finding common records in both tables. You will be able to perform a difference operation from both directions. You will be able to perform a Union combining both tables into one result set. That is exactly what you are to do:
Write a query that performs an intersection on you main table and your duplicate mirroring table
Write a query that performs an Difference on you main table and your duplicate mirroring table
Write a query that performs an Union on you main table and your duplicate mirroring table
For the union, difference and intersect query, the other database table is a table structure made from the table that you have chosen to work with in your project. It represents the data from another company merging with the data in your company.
You are to write a query using your table and a table that it has a relationship with:
Remember a relationship is established when two table share a common attribute. One is the primary key table the other is the foreign key table. For the multi-table select query, use the entity table as the one side of a 1-M relationship. Use one of the relationship tables created in the group segment as the many side of a 1-M relationship.
Create a query that will alter the structure of your entity table:
Normally when integrating systems, there are a few data type compatibility issues and data alignment issues that need resolution. To prepare for handling such problems, create an Alter Table command to demonstrate that you can handle these types of situations should they arise
Write a query that will update a row in your entity table
To demonstrate that you have an understanding of update queries, create an update process to update one or more existing records in your chosen table. This could be accomplished by populating the new attributes added to the table
Each individual’s query assignment submission should be unique from the submissions of your other group members. Each group member should choose one unique entity table from the group schema to work with. You should negotiate between your group members to determine what data tables each member is going will work with. Each group member must stick with only one entity table to mirror for the union, intersection and difference operations. Each group member should include in their final project submission the following documents:
- Copy of the EAR Diagram and Schema that the group developed
- The Metadata for the database
- The SQL script file to create the database, tables and insert the data
- The SQL script file containing your individual queries