Utility company to manage customers monthly bills

Assignment Help Database Management System
Reference no: EM131239973

Overview

Your assignment is to design adatabase for a utility company to manage customer's monthly bills. You will design the database, insert some sample data, and implement a set of required features. Each feature will be implemented as one Oracle PL/SQL procedure (you can create sub-procedures that will be called by the main procedure for that feature). You do NOT need to write a graphic user interface. You also need to provide statements to execute your procedures. The instructor and TA will run the statements you provided to test your program.

Assumptions (Please read carefully)

You can make the following assumptions in this project.

1. The system needs to store data about customers (you can assume that each customer needs to register with the system) and customer's monthly bills.

2. The customer table stores customer's name, address (including street, city, and zip), phone number, email address, account number, and account balance.

3. The Monthly bill table stores monthly bills for each customer. The table stores account number, year and month, electricity usage (in kw), gas usage (in therm), and a total charge.

4. The system also stores a rate table that contains the unit charge for electricity ($ per kw) and gas ($ per therm) and a flat fee. These charges may change over time so you need to store the year and month of these charges.

5. You can assume that some rows have already been inserted into customer and rate table.

Required Features: please implement each of these features as a PL/SQL procedure. You should also test them by calling these procedures.

1. Generate monthly bill for customer. The input includes: account number, year, month, electricity usage, gas usage. Please first compute the total charge for that month (explained in assumption 4), then update the account balance (in the customer table) to the new total charge, and print out customer's name, address, account#, previous balance (before the update), electricity usage and charge, gas usage and charge, and total charge.

2. All a customer to pay for a monthly bill. The input includes: account number, year, month, the amount paid. Please update the customer table to compute a new balance as old balance - the amount paid.

3. Allow a customer to look up the monthly bill of a given year and month. The input includes account number, year, and month. Print out customer's name, address, account#, previous balance (before the update), electricity usage and charge, gas usage and charge, and total charge. Hint: the procedure is similar to feature 1 but you don't need to update or insert.

Deliverables

There will be 2 deliverables:

- 30%. Due 10/14. Design Document which includes the following:
o ER diagram of the database. You don't have to follow exact notations of ER diagram, but need to show tables, columns, primary keys, and foreign key links.
o SQL statements to create database tables and to insert some sample data (at least 5 rows per table).
o Specification for each required feature. The specification should include a description of input parameters and output (usually screen outputs). You don't need to implement any of these features at this point.

- 70% Due 12/17.

o Software code of your project, properly documented. The code should include:
- Drop table statements
- Create table statements
- Insert statements
- Create procedure statements (with code for the procedures). Each feature can be implemented as one PL/SQL procedure. Please include some comments in your code explaining the major steps.
o Demo script to show that all your features work correctly.
The script shall include:
- Drop table statements to drop tables if they exist (remember the order of drop should be inverse of create).
- Create table statements and insert statements.
- Some examples for each feature. This should include:
• PL/SQL script to call the appropriate PL/SQL procedure for this feature. E.g., exec procedure-name(parameter values)
• Explanation of what should be the correct output. The output could be updated tables (you can have some select statement to show the updated tables), some print out, etc.
- Make sure you have tested your examples from beginning to end. Remember that database tables may have been changed in the process. So you may need to start with a clean database (i.e., right after you execute all the drop table, create table, and insert statements).

Every deliverable is due midnight (Eastern time) on the specified date. Late submission will lead to 30% penalty in the first week and 50% penalty afterwards except for the last deliverable. No late submission is allowed for the last deliverable.

Grading Guidelines

What I look for while grading software code (deliverable 3):

1. Existence of code

2. Comments: Both descriptive and inline for every procedure/function

3. Software quality

a. Whether it is correct.

b. Whether it is complete and clear.

c. Efficiency of code. You shall not use too many SQL statements, and you shall put as much work as possible in SQL. For example, if you can do a join, do not use two select statements and then do a join in your program.

d. Whether it has considered all special cases such as a username already exists when registering a customer.

Verified Expert

The solution file is prepared in Ms word and designed a database for a utility company to manage customer’s monthly bills, inserted sample data and also created Oracle PL/SQL procedure to Generate monthly bill for customer, All a customer to pay for a monthly bill , Allow a customer to look up the monthly bill of a given year and month in My SQL. The Solution contain the statements to execute Pl/SQL procedures and screen shots.

Reference no: EM131239973

Questions Cloud

Describe three different algorithms you use in everyday life : Describe three different algorithms you use in everyday life. Write them as lists of instructions in human-readable form. What changes would need to be made for these instructions to be specific enough for a machine to follow?
Hand simulation of the multilevel feedback : Perform a hand simulation of the Multilevel feedback queue simulation lab to ensure that you understand the algorithm. your output should agree with the partial output provided in the lab document.
Encrypt the message purple cow using atbash : Decrypt the message wwrfw aiw wowl, which was encrypted with a standard Vigen`ere cipher using key word ears.
Explain in what ways does the person inspire leadership : In what ways does the person inspire leadership while building his or her own character and integrity? How does this leader exemplify the moral obligation to lead through kindness, compassion, and justice?
Utility company to manage customers monthly bills : Your assignment is to design a database for a utility company to manage customer's monthly bills. You will design the database, insert some sample data, and implement a set of required features.
Encrypt the message lemon drops using a caesar cipher : Decrypt the message bdpja lxxtrnb, which was encrypted using a shift of 9.
Explain how a cable modem works : Explain how ADSL works. - Explain how a cable modem works. What is an OE converter? A CMTS? Which is better, cable modem or DSL?
Add the ability tol calculate the cost : Add the ability tol calculate the cost for three types of fish. The user should be able to select which type of fish they want to stock in the aquarium..
Would it work for n overlapping squares : Challenge: Analyze the proof you gave for the previous problem. Would it work for n overlapping squares? Triangles? What about for spheres in space?

Reviews

inf1239973

10/21/2016 8:49:30 AM

You are unbelieveable, such a great work, thanks a lot also thanks for providing me the solution before the deadline which helped me to understand the task. i have completely gone through the work, now i am able to explain how it is done, just because of you. :)

len1239973

10/12/2016 6:07:07 AM

1. Start early. Do not wait until last month to start coding. 2. Learn how to debug SQL and PL/SQL code. You can insert screen output statements to check intermediate results. Oracle also returns error messages and error code. You can google the error messages and error code to find possible causes. You may also use Oracle SQL Developer which allows you to insert break points during debugging. 3. Use homework, in class exercises, and programs in slides as templates of your PL/SQL program. For example, if you need to write a cursor, find a cursor example and use it as a starting point.

Write a Review

Database Management System Questions & Answers

  Questions based on activity-based costing system

predetermined overhead rate under the traditional costing system is closest and the activity-based costing system

  Create a simple form for the sales rep table

Determine whether changes to the format of a datasheet are desirable - Determine whether validation rules, default values, and formats are necessary.

  State the rule applied to place a class into second form

The system development team at Wilson Company is working on developing a new customer order entry system.

  How much wages and salaries cost would be allocated

What would be the total overhead cost per customer according to the activity based costing system? In other words, what would be the overall activity rate for the customer support activity cost pool?

  Create a table with headers

In the lookup workbook, create a table: with headers: Region, Metro, University, Employment, Enrollments 2. Build the table using direct sourcing from the appropriate tables to create this chart:

  Explain steps of process in increasing cardinalities

When increasing cardinalities from 1:N to N:M, which of the given steps are included in process the order of steps listed below is not relevant, only steps themselves?

  Write a pl/sql program to compute the sum of even number

Write an anonymous PL/SQL program to print out the GPA of John - write a PL/SQL program to compute the sum of even number

  Design of a data warehouse

Enterprises are accumulating substantial amounts of data that are necessary for their business operations.

  How to make an xml file with markup tags

Create an XML file with markup tags and some sample data to represent a list of invoices. Include the XML tags for two invoices in the list. Also, assume the invoices are created from a database whose tables are shown in the following database re..

  Designing and documenting your system

Create a document named: surnameStudentIDAssign1.doc .  In your document, you must include the following section headings:  System Overview, Class Diagram, Class Descriptions, Testing.

  Explain what is the method that you use to store files

What is the method that you use to store files on your computer for your classes

  Explain your experiences related to your setup of mysql

write a one to two 1-2 page paper in which youq1. describe your experiences related to your setup of mysql. include any

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