Sql query for testing triggers and stored procedures , PL-SQL Programming

Assignment Help:

Description:

Demonstrate your knowledge of PL/SQL programming by writing and thoroughly testing triggers and stored procedures associated with an e-commerce application that provides security logs for all transactions by user, product, and date. I will provide specific requirements and design details for this project below and we could have more discussion about the project in the Conferences area. Submit the scripts with all of your function SQL and PL/SQL code, and provide the results of running your scripts with the SQL*Plus spool command.

You MUST name your file to include your first initial of your first name and last name.
Total is 15 points or 15% to your final grade

Functional requirement:

We will develop a small online transaction application supported by our database, movie distributing and renting system. In the application, we should meet three functional requirements:
1) Track transaction events, and track runtime errors.
2) Handle movie distributing business process.
3) Application interface which allows users to process orders.
4) No additional database tables are required unless you think it is necessary to enhance your application.

Track transaction events, and track runtime errors: 3/15 points

The link below provides a script which allow you to create two tables for tracking purposes One table for tracking events and the other for errors.

Script to create logs tables

Track errors or exceptions during runtime.
Track any error or exception occurs during your application execution. this means that you should include tracking code in every program unit you develop.
Take a look of the table for error logging and see what data should be inserted into the table when error occurs. The code should be part of error handling in exception handle section.
Track event or application process during runtime.
This type of logs for recording the events during the code execution. Content of the log may contain part of the data being changed and who changed it. The code to track events should be located at the end of a process. It is not necessary to log any event that does not alter the database, such as query table and display the content.
Take a look of the table for event logging and see what data should be inserted into these tables after event occurs.

Handle movie distributing business process.
In this part of the project, you are asked to design a few stored procedure or functions to handle online movie distribution.
These procedures or functions should be able to

1)process orders for distributors. When a customer (movie store) places order, ordering information should be stored in database tables.

Customers provide movie title, number of copies they want, the distributed type they prefer(DVD or Video) and store name. Customers do not know movie_id or store_id, therefore, these cannot be used as input parameters for your procedure as customer data.

2)allow customers (movie stores) to check movie availability. if it is available, provide number in stock and unit price. If it is unavailable message the customer the movie requested is not available.

3) if the order has been filled, generate an invoice to send to the customer.

Note: This is one of the place where tracking event is necessary.

Errors and events should be both tracked as described before. Events that cause database change need to be tracked. Any other events which do not cause any database changes are not necessary to be tracked. For example, procedure contains only query activities, tracking event could be ignored.

Application interface which allows users to process either orders: 3/15 points

In general, the interface should provide GUI to users. However, PL/SQL does not have that feature. What we are going to do is to develop script which performs the similar functionality. Essentially calling the procedures and functions you created to complete order.

Script should be able to

1) take an order (ordering data)
2) place an order by calling all the procedures used to process order.
3) generate and print invoice based on order, the invoice should include order id, distributor name, movie title, number of copies, and unit price, and total payment and order completed date.
4) query event_logs and error_logs to show the result of the order transaction and/or any potential issues within the order.

Submit requirement:
The scripts to create procedures and function.
The script to execute the procedures to place orders
The text file for output of execution results.


Related Discussions:- Sql query for testing triggers and stored procedures

Renaming columns - sql, Renaming Columns - SQL SQL has no direct count...

Renaming Columns - SQL SQL has no direct counterpart of RENAME. To derive the table on the right in Figure 4.4 from the table on the left, Tutorial D has IS_CALLED RENAME ( St

Creating and destroying base tables, Creating and Destroying Base Tables: ...

Creating and Destroying Base Tables: Example shows an SQL command to create the base table counterpart of the ENROLMENT variable Example  Creating a base table. CREATE T

Existential quantification - sql, Existential Quantification - SQL Ex...

Existential Quantification - SQL Existential quantification-stating that something is true of at least one object under consideration-can be expressed by OR(r,c), meaning tha

Sql pseudocolumns, SQL Pseudocolumns The PL/SQL recognizes the followin...

SQL Pseudocolumns The PL/SQL recognizes the following SQL pseudocolumns, that returns the specific data items: LEVEL, NEXTVAL, CURRVAL, ROWID, & ROWNUM. The Pseudocolumns are n

Implement a new discount for return shoppers, Brewbean's is implementing a ...

Brewbean's is implementing a new discount for return shoppers - every fifth completed order receives a 10% discount. The count of orders for a shopper is placed in a packaged varia

Data types and representations, Data Types and Representations This ex...

Data Types and Representations This explains the concept possible representation, abbreviated possrep, and explains how these can be used in conjunction with constraints to de

Rowid - sql pseudocolumns, ROWID The ROWID returns the rowid (binary a...

ROWID The ROWID returns the rowid (binary address) of a row in the database table. You can use the variables of the type UROWID to store rowids in a readable format. In the il

Implicit rollbacks, Implicit Rollbacks Before execute the INSERT, UPDA...

Implicit Rollbacks Before execute the INSERT, UPDATE, or DELETE statement, the Oracle marks an implicit savepoint . When the statement fails, the Oracle rolls back to the save

Scope rules - user-defined exceptions, Scope Rules You cannot declare ...

Scope Rules You cannot declare an exception twice in the similar block. Though, you can, declare the similar exception in 2 different blocks. The Exceptions declared in a bloc

Cartesian product, Using a Join on 2 tables, select all columns and all row...

Using a Join on 2 tables, select all columns and all rows from the tables without the use of a Cartesian product. Query: SELECT * FROM EMPLOYEE1 JOIN CONTRACT ON EMPLOYEE

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd