Project Step #4: Data Manipulation Language (DML), 20 Queries, and Consolidated Final Report Submission
Create and submit your final consolidated technical report which will include the new requirements outlined below that are from project step 4 as well as all of the previous project steps (1-3). From project step 4, you must create and submit a SQL script containing your data manipulation language (DML) statements to insert your sample data into your database and your twenty queries (12 basic, 8 advanced). Within the consolidated technical report, you must include the complete textual output from running your DDL, DML, and queries successfully. You will also include a literature review of similar systems in your report. Your final score will include the evaluation of the collection of output as well as a live, error-free expected run of your script in the environment. Within your DML and query scripts, the following minimum requirements must be met:
Data Manipulation Language (DML) SQL Script Minimum Requirements:
1. All Tables Populated with Minimum of 10 Rows
Unless a valid and approved exception exists within your requirements definition document, all tables must have at least 10 rows of sample data.
2. All Surrogate Keys Populated Automatically
All of your project sequences and triggers must be used to automatically populate your surrogate keys.
3. Separate DML for Different Tables with Comments
For readability, each block or grouping of DML statements for each table must be separated with an appropriate comment header with a blank line after the last statement in the group. Note: the last group does not require a blank line afterwards.
4. Executable, Error-Free Script
The script you submit must fully execute and be error-free.
20 SQL Queries (12 Basic, 8 Advanced) Minimum Requirements:
1. Query 1: Select all columns and all rows from one table
2. Query 2: Select five columns and all rows from one table
3. Query 3: Select all columns from all rows from one view
4. Query 4: Using a join on 2 tables, select all columns and all rows from the tables without the use of a Cartesian product
5. Query 5: Select and order data retrieved from one table
6. Query 6: Using a join on 3 tables, select 5 columns from the 3 tables. Use syntax that would limit the output to 10 rows
7. Query 7: Select distinct rows using joins on 3 tables
8. Query 8: Use GROUP BY and HAVING in a select statement using one or more tables
9. Query 9: Use IN clause to select data from one or more tables
10. Query 10: Select length of one column from one table (use LENGTH function)
11. Query 11: Delete one record from one table. Use select statements to demonstrate the table contents before and after the DELETE statement. Make sure you use ROLLBACK afterwards so that the data will not be physically removed
12. Query 12: Update one record from one table. Use select statements to demonstrate the table contents before and after the UPDATE statement. Make sure you use ROLLBACK afterwards so that the data will not be physically removed
13. Perform 8 Additional Advanced Queries
NOTE: each query should have comment to describe the purpose of that query
These queries are open for you to design but must be complex in nature such as including multiple (3 or more) table joins, sub-queries, aggregate functions, etc. These queries will not only be evaluated on their design and execution but also on their depth of complexity. Challenge yourself and leverage the techniques learned throughout the course to design your advanced queries.
3. Literature Review
5. Design Decisions
6. Statement of Work (SOW)
o Revised, updated, and expanded as needed to include incorporation of all feedback given as part of the project part 1 evaluation.
7. Requirements Definition Document
o Revised, updated, and expanded as needed to include the incorporation of all feedback given as part of the project part 2 evaluation.
8. Detailed Database Design
o Entity Relationship Diagram (ERD)
Revised, updated, and expanded as needed to include the incorporation of all feedback given as part of the project part 2 evaluation.
o DDL Source Code Embedded
Ensure that all source code embedded in your report is formatted professionally and legibly.
o DML and Query Source Code Embedded
Project Part 4 DML script + 20 SQL queries assignment; see above. Ensure that all source code embedded in your report is formatted professionally and legibly.
o DDL, DML, and Query Output
Show output from the execution of all DDL, DML, and SQL queries. Ensure that all output is formatted professionally and legibly.
9. Database Administration and Monitoring
Project Step #4 Deliverables
1. Technical Report in Word or PDF: LastName_FirstName_final_project.[doc|pdf] 2. Updated DDL Script in SQL or TXT: LastName_FirstName_DDL.[sql|txt] 3. DML Script in SQL or TXT: LastName_FirstName_DML.sql
To clarify, you are required to submit your final scripts (DDL and DML to include your queries) as embedded into your consolidated lab report along with their output as well as separately in SQL or TXT format to be executed and verified as error-free.
For those struggling with triggers, here are a few resources.
http://razorsql.com/features/oracle_add_sequence_trigger.html has a good setup for how to use triggers to populate keys from a sequence. https://www.techonthenet.com/oracle/triggers/before_insert.php has some more information on how to use a BEFORE INSERT trigger (which is typical for manipulating a table row before the actual data is written into the table.
http://plsql-tutorial.com/plsql-triggers.htm has some information on how various types of triggers interact hierarchically.
https://docs.oracle.com/database/121/LNPLS/triggers.htm#LNPLS723 is the official Oracle 12 guide to PL/SQL triggers, but it might be a bit dry/technical for novice users.
See Project Learning Demonstration posted under Course Content/Hands-on Resources for step-by-step instructions.