Create a database for their customers, Database Management System

Assignment Help:

The ABC Bank authority now wants to create a database for their customers. So you are requested to modify your program of Assignment A3 as follows.

The main program first displays a menu to a user as follows in order to select an operation from the menu. 
=====================================
Welcome to ABC Back

Please choose an option from the followings.
<A>dd customers to the database
<S>earch the information for a given Customer ID (CID)
<Q>uit
=====================================

If the user chooses the option <A> then the program sets interest rate individually for all three accounts by reading a file, say "rates.txt" that contains interest rates as follows.

Saving(S)     Current (C)           Fixed Term (F)
=======    =========        ============
   0.08             0.05                       0.12


Note that the bonus interest of all customers will be calculated by using the same interest rates. It then asks the user to enter a 4-digit Customer ID (CID) for a customer in the same as it asked in Assignment A3. The program then passes the parameters (interest rates and CID) to a function called "CalculateBonusInterest()" in order to calculate bonus interest for the customer.

In the CalculateBonusInterest() function, the user needs to enter account information for the customer. But here the account information is a string. For example the string value "111" of the variable SCF indicates that a customer has all three accounts whereas "001" indicates that the customer has only Fixed term account. Note that a customer must have at least one account.

The user also needs to enter the balance of each account, that a customer has, in the function for the customer.

The function then calculates the bonus interest by using the interest rates, the account information and the rules mentioned in the table of the Assignment A2. It then stores the CID, account information, the balance of each individual account, the amount of interest of each individual account, the total interest earned from all accounts, bonus interest, and the total amount for all accounts into the customer database, say "Customer.txt".

A sample example of the "Customer.txt" file with two records is as follows.

CID       SCF  S.Bal.   C.Bal.   F.Bal.   S.Int.   C.Int.  F.Int.  Total Int.  Bonus Int.   Total Amount
====    ===   ====   =====  ====    ====  ====  ====   =====    =======    ==========
0001    111      1000     1000   1000        80     50       120     250           28.5           3278.5
0002    100      2000      -          -             160   -         -          160            15             2175.0


After storing account information, account balance and bonus interest of a customer, the program then prompts the user with the following message, "Do you want to calculate bonus interest for another customer (Y/N)? ". If the user enters "Y" then the whole process will be repeated for the new customer. Otherwise the program displays the menu to choose an operation.


Now if the user chooses the option <S> then the program first asks the user to enter a CID for finding information of a customer. Using the CID and the database "Customer.txt", it then displays the information of the customer.

For example, if the user enters a CID, say 0001, the program should display the following output.

CID    SCF     S.Bal.     C.Bal.    F.Bal.    S.Int.    C.Int.    F.Int.    Total Int.    Bonus Int.   Total Amount
====  ===     ====     =====   ====     ====    ====   ===      =====      ======      =========
0001   111     $1000     $1000     $1000     $80       $50     $120       $250         $28.5          $3278.5

After displaying the customer's account and balance information, the program then prompts the user with the following message, "Do you want to search information for another customer (Y/N)? ". If the user enters "Y" then the program asks the user to enter CID for the next customer. Otherwise the program displays the menu to choose an operation.

Finally, the program quits if the user chooses the option <Q>.

Use multiple functions, instead of using only one function to do everything. Make a good design of the functions to make the best use of the code and avoid duplicate calculations. You also need to design your program so that it has components that can be reused in another program, if needed.


Write an algorithm in structured English (pseudocode) that describes the steps required to perform the task specified.

Implement your program in Python.

Comment your code as necessary to explain it clearly.

Use 1 set of test data that will demonstrate the correct normal operation of your program.

Run your program using the test data you have selected and save the output it produces in a text file.

Submit:
          1. Your algorithm.
          2. The table recording your chosen test data.
          3. Source code for your Python implementation.
          4. Output listings demonstrating the results of using the test data.

It is important that the output listings are not edited in any way.


Related Discussions:- Create a database for their customers

Define check point and its impact on data base recovery, Define check point...

Define check point and its impact on data base recovery.                  Ans:  There could be hundreds of transactions handled per minute, in a large on-line database system.

Whta is the advantage of the database management approach, Whta is the adva...

Whta is the advantage of the database management approach? The advantage of the database management approach is data is integrated and can be accessed by multiple programs.

Authorisation, Authorisation Authorisation is the culmination of the ad...

Authorisation Authorisation is the culmination of the administrative policies of the organisation.  As the name shows, authorisation is a set of rules that can be used to verif

What is relational algebra, What is Relational Algebra? Relational algebr...

What is Relational Algebra? Relational algebra is a Procedural query Language?

Define views in relational algebra, Views in relational algebra:   1. B...

Views in relational algebra:   1. Basic expression contains either  a) A relation in the database. b) A constant relation. 2.  General expressions are madde out of sma

01a_ImportCasting.xlsx, 01a_Broadway_LastFirst_yyyy-mm-dd Capstone Exercise...

01a_Broadway_LastFirst_yyyy-mm-dd Capstone Exercises You work as a production assistant in the office of the Green Man Theatre. One of your duties is to maintain the company datab

Define a relation schema, A Relation Schema represented by R(A1, A2, .....

A Relation Schema represented by R(A1, A2, ..., An) is made up of the relation name the list of attributes and R Ai that it contains. A relation is described as a set of tuples

Consider relational schema and construct algebra query, Consider the follow...

Consider the following relational schema: PERSON (SS#, NAME, ADDRESS) CAR (REGISTRATION_NUMBER, YEAR, MODEL) ACCIDENT (DATE, DRIVER, CAR_REG_NO) OWNS (SS#, LICENSE) Constru

What is the purpose of storage manager, What is the purpose of storage mana...

What is the purpose of storage manager? The storage manager is responsible for the following a) Interaction with the file manager b) Translation of DML commands in to low

Chapter 1 - Profile for the Organization, Chapter 1 - Profile for the Organ...

Chapter 1 - Profile for the Organization You have to select an organization of your choice and assume that you work for that organization. Now you must prepare a brief profile of t

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