Assignment/Lab 9 In this lab, your task is to develop a simple address book tool. The tool maintains contact information of people. For each person, the tool maintains name and date of birth. Contact information consists of physical address and phone number. For physical addresses, the system must be able to maintain current and previous addresses. Current/active address information should have starting date and no end date, previous addresses must have a starting date and an ending date. A person cannot have multiple active physical address. For phone number, the system must maintain active phone numbers only, no previous phone numbers. For implementation, use MySQL database system. MySQL is open source and is available for Linux as well as Windows. For software application, use Python. The tool/application must support the following functionality: 1- Search current contact information by last name, the user enters last name, the system must locate active physical address and phone number and display the information back to the user. 2- Search current contact information by prefix, the user enters a name prefix, the system must locate and display all active contact information to the user, one per line. 3- Create new contact, there are two possible scenarios - Contact name already exists – the system must create a new physical address and make it the active one, previously active physical address becomes part of historical ones (simply by adding ending date to it). As for phone number, the system should simply update/override the active phone number. - Contact name does not exist – the system must create a new physical address and phone number records and associate them with the new name. 4- Search active contact information by age, the user inputs an age range, and the system must find all active contact information for people whose age falls in that range, one contact per line.   The following is a database design that should accommodate above requirements: Table – people_master (person_id, person_name, person_DOB, active_phone_number). Table – addresses (address_id, street_address, city, state, zip_code) Table – people_address (person_id, address_id, start_date, end_date) For the application, you can simply use a Python program that displays a menu with four possible commands as listed above, program sits in a loop, gets a command option, collect necessary input, performs needed SQL queries against the MySQL database, and displays result back to user. A QUIT option can added to above commands for user to exit.

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Topic Video
Question

Assignment/Lab 9

In this lab, your task is to develop a simple address book tool. The tool maintains contact information of people. For each person, the tool maintains name and date of birth. Contact information consists of physical address and phone number. For physical addresses, the system must be able to maintain current and previous addresses. Current/active address information should have starting date and no end date, previous addresses must have a starting date and an ending date. A person cannot have multiple active physical address. For phone number, the system must maintain active phone numbers only, no previous phone numbers. For implementation, use MySQL database system. MySQL is open source and is available for Linux as well as Windows. For software application, use Python. The tool/application must support the following functionality:
1- Search current contact information by last name, the user enters last name, the system must locate active physical address and phone number and display the information back to the user.
2- Search current contact information by prefix, the user enters a name prefix, the system must locate and display all active contact information to the user, one per line.
3- Create new contact, there are two possible scenarios
- Contact name already exists – the system must create a new physical address and make it the active one, previously active physical address becomes part of historical ones (simply by adding ending date to it). As for phone number, the system should simply update/override the active phone number.
- Contact name does not exist – the system must create a new physical address and phone number records and associate them with the new name.
4- Search active contact information by age, the user inputs an age range, and the system must find all active contact information for people whose age falls in that range, one contact per line.
 
The following is a database design that should accommodate above requirements:
Table – people_master (person_id, person_name, person_DOB, active_phone_number).
Table – addresses (address_id, street_address, city, state, zip_code)
Table – people_address (person_id, address_id, start_date, end_date)
For the application, you can simply use a Python program that displays a menu with four possible commands as listed above, program sits in a loop, gets a command option, collect necessary input, performs needed SQL queries against the MySQL database, and displays result back to user. A QUIT option can added to above commands for user to exit.
 
Expert Solution
steps

Step by step

Solved in 2 steps

Blurred answer
Knowledge Booster
Instruction Format
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-engineering and related others by exploring similar questions and additional content below.
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY