Introduction to Database Applications
Part 1
Jonas Spacely owns a comic book and collectables shop in Denton. He approaches you to design a
database for his business to help him track purchases for his new loyalty program. Specifically, Jonas
wants to be able to track the purchases a customer makes and the points they earn on each purchase.
The way the points system is configured, customers get an identification number they give the cashier
when they check out. They then earn 10 points for each pre-tax dollar they spend in his store. Jonas
also wants to track the points that customers redeem as well as what they redeem the points for.
Below is an example of a sales receipt from the store:
Spacely Comics
Customer No:
SKU Description Qty Price Total
000000001 Amazing Spider Man No.73 1 $10.00 $10.00
222222222 Cayde-6 Bobble Head 1 $19.99 $19.99
Total: $29.99
Here are the items the customers can redeem points for and the number of points required for each:
Award Points
$5 Store Credit 1000
$10 Store Credit 1500
$20 Store Credit 2500
Jonas also wants to be able to gather customer information for marketing. Specifically, he wants their
address, phone, and email. He also wants to know their birthday to send special promotions out (if they
want to share).
Based on the information given here, start the design of a database for Jonas by constructing a Crow’s
Foot ERD. There are a few ways you can do this. That is by design. You will need to learn to start make
some design choices for yourself (I am taking the training wheels off!). Make sure that all attributes are
broken down to the appropriate level of atomicity and that your design is in at least 3rd NF.