CMIS Project

1 Project 3 In this assignment you will be performing some additional queries against your Online Vehicle Sales (OVS), Inc. online transaction processing (OLTP) database and also creating some simple anonymous PL/SQL blocks . You will also begin the creation of a data warehouse database for Online Vehicle Sales (OVS), Inc. The full data warehouse is comprised of 4 dimension tables and a fact table based on the Star Schema diagram posted in LEO’s Week #6 area. Your OLTP database tables and star schema tables will resi de in the same Oracle schema. This assignment is based on the fully populated tables from Homework #2 so it assumes you’ve completed all work for that assignment. You can perform this assignment based on a database on Nova or any other Oracle system you wi sh, but you must use the Oracle RDBMS. You should use one or more SQL script files to complete this assignment. Your script files should contain all your SQL and PL/SQL code. Do NOT submit your SQL script files. Doing so may result in confusion and will result in lost points. Everything for this assignment must be in a single file. If you are using SQL*Plus you must put all your SQL, PL/SQL, and results together in a single SPOOL file. If you are using SQL Developer or other GUI, put all your screen sn apshots in a single file for both your SQL statements and PL/SQL as they executed and the results. Failure to include all your SQL, PL/SQL, and all your results along with them will result in lost points. Do NOT submit additional files as this only compli cates the grading, and will result in lost points. Here are the specific assignment steps. In order to earn full credit you must keep your steps in order, number your steps, and put everything in a single file. 1) Execute SELECT COUNT(*) FROM ; statements for all 6 of your OVS, Inc. OLTP tables. You should have at least the following counts: CUSTOMERS table – 100 rows, VEHICLES table – 50 rows, SALESPERSONS table – 10 rows, FINANCING_PLANS - 5 rows, SALES table – 200 rows, and SALES_FINA NCINGS table - 200 rows. 2) Via a single SELECT query display the zip code, make, and count with the largest total car purchases for a zip code and make combination (there may be a tie with two or more). Show the SQL statement you used and the results returned by Oracle from executing your SQL statement right after the statement. 3) Develop a PL/SQL anonymous block that displays the total sales for a zip code for a specific zip code. You may use any of your zip codes you wish. Show the PL/SQL stat ements in your block , the actual execution of your block , and the results returned. 2 4) Develop a PL/SQL anonymous block that displays the zip code with the largest total car purchases. Since there can be a tie with two or more zip codes, ensure that t he lowest numeric zip code is displayed . The zip code displayed should correlate to the results of Step #2. Show the PL/SQL statements in your block , the actual execution of your block , and the results returned. 5) This step begins the creation of you r data warehouse. Ensure that your FINANCING_PLANS table has already be en created and populated via a “SELECT * FROM financing_plans;” SQL query . This table is used by both your OLTP database and serves as a dimension table in the star schema of your dat a warehouse database. Your Plan_ID primary key is the Plan_Code column. Don't worry about changing this to Plan_Code or changing any other column names you already have. Show the SQL you used and executed and the results. 6) Create the DEALERSHIPS s tar schema dimension table via SQL. Add at least 2 rows of data via INSERT statement(s). After populating your DEALERSHIPS table execute a "SELECT * FROM dealerships;” SQL statement to display the entire contents. Show all your SQL code for this step an d the Oracle results from executing it. 7) Create the VEHICLES star schema dimension table via SQL. Change your existing OLTP VEHICLES table to OLTP_VEHICLES via the SQL RENAME command and change your SALES table’s foreign key to reference this new table name. For the Vehicle_Code primary key column use an Oracle sequence to populate the values. For the Description column use all concatenated combinations of Make and Model of vehicles you have. Use a PL/SQL block to populate the Description column by SELECTing the combinations from your O LTP_VEHICLES table and then INSERTing the combinations into your new VEHICLES table, which would best be performed via a cursor in a loop. After populating your VEHICLES table execute a "SELECT * FROM vehicles ORDER BY vehicle_code" SQL statement to displ ay the entire contents. Show all your SQL and PL/SQL code for this step and the Oracle results from executing it. Your submission MUST be in a single text, Word, or PDF file with all steps numbered and in order. Project 3 grading rubric Attribute Meets Does Not Meet CREATE TABLE SQL statements 20 points Uses an SQL script file. Create s the DEALERSHIPS s tar schema dimension table . Create s the VEHICLES star schema dimension table . Change s your existing OLTP VEHICLES table to OLTP_VEHICLES via the SQL RENAME command and change your SALES table’s foreign key to reference this new table name . 0 points Does not u se an SQL script file. Does not c reate the DEALERSHIPS s tar schema dimension table . Does not c reate the VEHICLES star schema dimension table . Does not c hange your existing OLTP VEHICLES table to OLTP_VEHICLES via the SQL RENAME command or change your SALES table’s foreign key 3 Uses an Oracle sequence to populate the Vehicle_Code values. Uses all concatenated combinations of Make and Model of vehicles for the Description column. Uses an Oracle RDBMS. All SQL statements are syntactically correct and execute without error. to reference this new table name . Does not u se an Oracle sequence to populate the Vehicle_Code values. Do es not use all concatenated combinations of Make and Model of vehicles for the Description column. Does not u se an Oracle RDBMS. All SQL statements are not syntactically correct or execute without error. INSERT SQL statements 25 points Add s at least 2 rows of data via INSERT statement(s) to the DEALERSHIPS Star schema table . All SQL statements are syntactically correct and execute without error. 0 points Does not a dd at least 2 rows of data via INSERT statement(s) to the DEALERSHIPS Star schema table . All SQL statements are not syntactically correct or execute without error. SELECT SQL statements 5 points Execute s SELECT COUNT(*) FROM ; for all OLT tables resulting in expected counts. Via a single SELECT query display the zip code, make, and count with the largest total car purchases for a zip code and make combination . Ensure s that your FINANCING_PLANS table has already be en created and populated via a “SELECT * FROM 0 points Does not e xecute SELECT COUNT(*) FROM ; for all OLT tables resulting in expected counts. Does not , via a single SELECT query , display the zip code, make, and count with the largest total car purchases for a zip code and make combination . Does not e nsure that your FINANCING_PLANS table has already be en created and 4 financing_plans . After populating your DEALERSHIPS table execute a "SELECT * FROM dealerships;” After populating your VEHICLES table execute a "SELECT * FROM vehicles ORDER BY vehicle_code" . All SQL statements are syntactically correct and execute without error. populated via a “SELECT * FROM financing_plans . Does noW , After populating your DEALERSHIPS table execute a "SELECT * FROM dealerships;” Does not H after populating your VEHICLES table execute a "SELECT * FROM vehicles ORDER BY vehicle_code" . All SQL statements are syntactically correct and execute without error. All SQL statements are not syntactically correct or execute without error. PL/SQL anonymous blocks 40 points Develop s a PL/SQL anonymous block that displays the total sales for a zip code for a specific zip code. Develop s a PL/SQL anonymous block that displays the zip code with the largest total car purchases. Ensure s that t he lowest numeric zip code is displayed . The zip code displayed should correlate to the results of Step #2 above. Use s a PL/SQL block to populate the Description column by SELECTing the combinations from your O LTP_VEHICLES table and then INSERTing the combinations into your new VEHICLES table, which would best be performed via a cursor in a loop. 0 points Does not d evelop a PL/SQL anonymous block that displays the total sales for a zip code for a specific zip code. Does not d evelop a PL/SQL anonymous block that displays the zip code with the largest total car purchases. Does not e nsure that t he lowest numeric zip code is displayed . The zip code displayed does not correlate to the results of Step #2 above. Does not u se a PL/SQL block to populate the Description column by SELECTing the combinations from your OLTP_VEHICLES table and then INSERTing the combinations into your new VEHICLES table, which would 5 best be performed via a cursor in a loop. SQL script file and SPOOL file 10 points Submits either an SQL*Plus SPOOL file or screen snapshots of the output if using SQL Developer or another GUI. Demonstrates DROP TABLE, CREATE TABLE, and ALTER TABLE SQL statements as they executed and the Oracle responses. Demonstrates INSERT SQL statements as they executed and the Oracle responses. Displays the contents of all tables from SELECT * FROM tablename; statements. Displays all single SELECT statements queries. Displays all PL /SQL code and execution . Does NOT submit a SQL script file. Includes a SET ECHO ON SQL*Plus statement in your SQL script file to ensure that all the SQL that is executed is displayed in your SPOOL file. 0 points Does not s ubmit either an SQL*Plus SPOOL file or screen snapshots of the output if using SQL Developer or another GUI. Does not d emonstrate DROP TABLE, CREATE TABLE, and ALTER TABLE SQ L statements as they executed and the Oracle responses. Does not d emonstrate INSERT SQL statements as they executed and the Oracle responses. Does not d isplay the contents of all tables from SELECT * FROM tablename; statements. Does not display all sing le SELECT statements queries. Does not d isplay all PL /SQL code and execution . Submit s a SQL script file. Does not Include a SET ECHO ON SQL*Plus statement in your SQL script file to ensure that all the SQL that is executed is displayed in your SPOOL file.