Final Project
- Due Dec 12, 2019 by 11:59pm
- Points 1,200
- Submitting a text entry box or a file upload
- Available Oct 28, 2019 at 12am - Dec 12, 2019 at 11:59pm
Very Important Requirement of this Final Project Assignment. You should work together designing the database and creating the sample data. However the DML SQL statements must be reflect your individual coding.
Review the requirements in the attached document. You may do this project as a group of two to four people. It is recommended to do the project as a team of two or three people in a group.
If you are having problems finding a someone to work with in a group, notify me immediately. I will facilitate the problem and assist connecting people to a group or connecting you to another person in the class to work with as a team. One your group is formed, meet as a group and select a topic to create a database for. Forward me your topic and list of people in your group. I will provide a drop box for you to submit your first round of group material.
CIS 205 Final Project Fall 2019
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:
PART 1 Group Database Development and Implementation
Part I of the assignment can be a Group Collaboration Project or it can be an Individual Project of designing and creating the database, its tables and test data
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.
5. Providing a framework testing the physical design. This is creating sample data that will be used for testing the final physical design of the data base. This includes making sure that a combination of single and multiple table queries will work properly in the design.
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. This is what queries would you like to creates to extract meaningful information from the database. This is a collection of single and multiple table queries that the group will create to test the basic functionality of the database.
In summary this is what must be created for Part I.
1. Create the EAR diagram from the information gathered in parts 1
2. Write out the schema and metadata of the database, including:
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. 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.
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.
2. 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. Write the SQL statement that will create the the database
2. Create Entity Tables
. Write the SQL statements that will create the primary key tables described in the Schema and Metadata
3. Create Relationship Tables
. Write the SQL statements that will create the Foreign Key Tables. These are the tables that on the many side of the 1 to many relationships and the mapping tables that are apart of the many to many relationships.
4. Insert Test Data. This is the fictitious data that you created that will be used in your INSERT INTO statements to create you sample test data for the database
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
Part II of the Assignment
Project Overview
Group Assignments
Possibly as a group you collaborated and created a Database to support sometime of business activities. You are to created the ER Diagram, Relational Schema, Metadata and Test Data for the Database you have chosen. You are to created 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. You are to inserted the initial test data representing a current state of the test organization. If you are working a team, 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.
PART II Individual Database Information Extraction
Part II of the Assignment
Individually, you are to take ownership of one of the primary key Entities of the database. 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 segment of Part II of the assignment is write SELECT Queries for 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. These will typically be the tables on the side of the 1 to many relationships that we have been studying this semester. Each group member will create their own individual set of tables and data test data for this segment of the individual activity.
Individual Relational Algebra Contributions
If you are working in a team, each group member will take the entity table that have chosen and mirror it. In class, we have reviewed a couple of techniques on how to mirror one of the entity tables in the database. Once the entity table has been mirrored, you will copy a few of the instances in the entity table that you have chosen into the mirrored table.
1. Write a query that performs a other Union on you main table and another table
Write an SQL statement that will combine the instances in both tables as a relational algebra union operation
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:
2. Write a query that performs an intersection on your main table and another table.
This will produce a result set containing the instances that match in both the table that you took ownership of and the table that mirrors it.
3. Write two queries that performs an Difference on you main table and another table
This will produce a result set containing the instances from the main table that you took ownership of that do not match instances in the mirrored table
It will also produce a result set hat contains the instances from the mirrored table that do not match instances in the entity table you took ownership of
.
4. You are to write a join 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.
5. Create two queries 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
6. Write two queries that will update two different categories of rows 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
7. Write a Query that will delete two different categories of rows in your entity table
To demonstrate that you have an understanding of delete queries, create an delete process to delete one or more existing records in your chosen table.
8. Write a Two queries that perform aggregate functions on at least your Primary Table
9. Write Two Queries that uses a HAVING and or GROUP BY clause on different categories of rows in your entity table or a combination of your entity table and other tables
10. Write two Queries that sorts the results in Ascending and Descending order
11. Write a Stored Procedure
Create a Stored Procedure that describes the structure of the tables that you took responsibility for and also lists all of the tuples in the tables
12. Write Stored Procedures
Create a set of Stored Triggers that will automatically backup a tuple when it is deleted or updated. This will involve writing two triggers. One that inserts the older version of the tuple into a backup table before it was updated. Another trigger that will insert the tuple that was deleted into the same backup table that the update trigger uses. Both stored triggers should be linked to the one table that you took individual responsibility for in the project.
In Conclusion, the Requirements for your Individual Segment of the Assignment
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 individually, two identical tables submissions will not be accepted. 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 including the following documents:
Two SQL Script Files should be submitted in a Text Format, not a Word Processing Format. One of the text files should contain the code the group worked on to create the test database environment. A second text file should contain the code you individually worked on for the segment of the assignment. Once again, this file must be in a text file format, not in a word document, or copied and pasted into Canvas. The file or files must have a SQL extension.
The document containing the Metadata and Relational Schema that the group worked on to create. This file must be in either an Excel Spreadsheet format, Microsoft Word format or a PDF format
Each Student Should their versions of the following documents
- Copy of the EAR Diagram and Schema that the group developed. The ER Diagram should be submitted in PDF Format
- The Metadata for the database
- The SQL script file to create the database, tables and insert the data that the group created
- The SQL script file containing your individual queries. This can be combined with the SQL Script from Group Assignment
Upload Each Component as a Separate File. Canvas Permits Multiple Attachments with one submission
Two SQL Script Files should be submitted in a Text Format, not a Word Processing Format. One of the text files should contain the code the group worked on to create the test database environment. A second text file should contain the code you individually worked on for the segment of the assignment. Once again, this file must be in a text file format, not in a word document, or copied and pasted into Canvas
The document containing the Metadata and Relational Schema that the group worked on to create. This file must be in either an Excel Spreadsheet format, Microsoft Word format or a PDF format