CMIS420 Project 2 Star Schema for OVS Database
In this assignment you will complete the creation and population of the Star Schema tables for the OVS, Inc. data warehouse database. In the Authentic Assessment (i.e. Final Project) you will be performing a number of decision support queries against this database.
1) Complete Homework #5 by ensuring that the FINANCING_PLANS, DEALERSHIPS, VEHICLES, and TIME (or TIMES if you desire) dimension tables are created and populated.
2) Create the SALES_FACTS fact table via SQL. Ensure that you have declared foreign keys of Sale_Day, Vehicle_Code, Plan_Code, and Dealer_ID to reference your TIME(S), VEHICLES, FINANCING_PLANS, and DEALERSHIPS tables, respectfully. Ensure that you have a primary key for the SALES_FACTS table that is a composite of the Sale_Day, Vehicle_Code, Plan_Code, and Dealer_ID columns. Do a DESC (i.e. DESCRIBE) of your SALES_FACTS table after it’s created.
3) Using PL/SQL populate the SALES_FACTS table. One way to do this is to use a cursor to go through all of your SALES table rows, joined with other tables as necessary, to determine each combination of Sale_Day, Vehicle_Code, Plan_Code, and Dealer_ID. Then for that combination of the four columns, calculate the total Vehicles_Sold and the Gross_Sales_Amount. If these values are zero then don’t INSERT a row into the SALES_FACT table. Only insert rows for combinations of the four foreign key columns where there were some vehicles sold. After populating your SALES_FACTS table execute the query “SELECT COUNT(*) FROM sales_facts;” to show the row count. Also execute the query “SELECT SUM(vehicles_sold) FROM sales_facts;” to ensure that you have included all of your 500 or more sales.
All SQL and PL/SQL should be executed via one or more SQL script files. The best approach is to have separate SQL script files for each step and then an SQL script file that calls all of them in sequence. Submit SQL*Plus SPOOL files produced by your SQL and PL/SQL showing all your SQL and PL/SQL code and the results, or if using iSQL*Plus or other GUI (e.g. SQL Developer), a single Word or PDF file of screen snapshots showing both your SQL and PL/SQL and the results. Do NOT submit your SQL script file.