Party Kids is a company that rents out inflatables, tables, and chairs for children's parties.
It is owned Ms Donta Pop and she has been very happy to see her business grow rapidly over the past 2 years. She has recently purchased dozens of new tables, a number of new types of inflatables and dozens of chairs.
To store it all, Ms Pop has rented out 2 new storage facilities, so that she now has one location on the east side of town, one central, and one in the west.
Ms Pop has been finding it impossible to keep track of customer details, bookings, and the storage location of her assets. She has been trying to manage with a paper system but has been making mistakes like hiring out an item twice for the same day. So, she has now hired you to shift her records into database.
You have interviewed Ms Pop and you believe you have enough information to begin planning the database. This is what you know:
1. Create an MS Word document named "Your Given Name - Your Student Number Party Kids.docx" e.g. Harpreet 123456 Party Kids.docx.
2. Create an ER Diagram from the above scenario, being sure to:
a) Use Crow's Foot Notation
b) Mark cardinality, existence, primary keys (with an underline), and foreign keys (with the letters "FK" in brackets).
c) Ensure the entities are in a normalised state
d) Write any assumptions you make if you think it important to clarify the reasons for building particular relationships, creating particular attributes, or leaving something out.
e) Place your name and student number within the drawing
f) Insert that ER Diagram into your Word document. If you use Lucidchart or similar you could take a screenshot.
Create your solutions for following tasks in Microsoft SQL Server and:
1. Write two CREATE statements. One to build a database named "PartyKids" and one to build within it a table named Customer which will store details about PartyKids customers. The columns should match the attributes listed in your ER Diagram. All columns should be required columns (that is, don't allow NULL values).
2. Use a single INSERT statement to create the details of 7 customers. Name one of the customers "John P Smith" and record his address as 12/1 Flinders St, Melbourne 3000. [Note: If you didn't include address details in the Customer entity in your ER Diagram, do so now and then redo task 2a.1]
3. Use a SELECT statement to display full details of all customers
4. Change the address of John Smith to 15/1 Flinders Street and then display the name and address only of all customers
5. Display the details of all customers whose first name that starts with the letter "J"
6. Display the details of all customers who live in Victoria. Note that all Victorian postcodes are in the 3000's and no other states use the 3000s.
7. Delete John P Smith from the database
8. Add a 2nd table to your database.
9. Use a DELETE statement to try to delete a customer who has a booking. It should not be possible.
10. Display all bookings grouped by customer. Display full booking details, but don't show any customer details.
11. Display the customer names and booking dates of all customers who have made a booking and sort them from the most recent booking to the least recent.
12. Display the names of customers who have not yet made a booking.
13. Create all the tables you have drawn up in your ER Diagram and build the relationships between them. Choose your data types carefully. Note that you will need to buid the tables on the "one" side before the tables on the many side.
14. Add at least 3 records to every table and then display them all. Note that you will need to insert records into the tables on the "one" side before inserting into tables on the many side.
15. Display the names of all customers who have rented inflatables
16. Display the names of all customers who have rented chairs or inflatables
17. Display a count of the number of booking days of each customer
18. Display the total amount of money received from each customer. That is, display one one value per customer.
19. Ms Pop is curious to know why a computer expert like you would draw a diagram before using database software. Write 200 to 250 words explaining the purpose of creating your ER Diagram before building the database
20. Ms Pop is thinking about accepting credit card payments from customers and keeping a record of the payments in her database. She is concerned about storing personal details such as credit card numbers and customer addresses. Write 150 to 200 words naming the main legal issue at play and the techniques you could use to help secure her database.