Generally, a bookstore application is a database system that has the capability of storing and retrieving information about books, customers, and orders. In this project, we are considering developing a sample centralized relational Bookstore application database for the clerks and managers at a bookstore. Here, for a sample bookstore named Bookland. The overview of this application is given in Figure 1. This application may be further used for additional developments. This database can be used to store the records of customers and their preferences, the technical/nontechnical books, and the customer orders to the shop through its online shop, to be sent to their address for example, by regular mail.
Our bookstore application is a typical e-commerce application. In the future, it can be used for data mining. The bookstore application can be extended with an advertisement module. The advertisements send to customers can be generated by data mining processes. Data mining can do this by finding relationships between the books that someone ordered in the past and forecast what books someone would like in the future and send the customer a personalized advertisement about those books (Laura Squier, What is data mining, 2001).
DATABASE DESIGN FOR BOOKLAND BOOKSTORE
ERD FOR BOOKLAND BOOKSTORE
Data Requirements for Bookland Bookstore:
Customers have a unique customer ID, a phone number, an email, an address and a name which is divided into two parts, first name and last name.
N.B.
MAPPING ERD INTO RELATIONS
CUSTOMER {cust_id, first_name, last_name, phone_num, email, state, city, street, postcode}
ORDER {order_id, order_date, order_status, cust_id}
ORDERLINE {order_id , ISBN , ordered_book_quantity}
BOOK {ISBN, title, price, language, supplier, publisher, publish_year, stock_quantity}
PERFORMING NORMALISATION ON MAPPED ERD RELATIONS
1st Normal Form
CUSTOMER {cust_id, first_name, last_name, phone_num, email, state, city, street, postcode}
ORDER {order_id, order_date, order_status, cust_id}
ORDERLINE {order_id , ISBN , book_quantity}
BOOK {ISBN, title, price, language, supplier, publisher, publish_year, stock_quantity}
Direct Mapping relations from ERD are already in 1st normal form because there is no multivalued attribute and no repeated row.
2nd Normal Form
CUSTOMER {cust_id, first_name, last_name, phone_num, email, state, city, street, postcode}
ORDER {order_id, order_date, order_status, cust_id}
ORDERLINE {order_id , ISBN , book_quantity}
BOOK {ISBN, title, price, language, supplier, publisher, publish_year, stock_quantity}
Direct Mapping relations from ERD are already in 2nd normal form because there is no partial functional dependency.
3rd Normal Form
CUSTOMER {cust_id, first_name, last_name, phone_num, email, street, postcode}
ORDER {order_id, order_date, order_status, cust_id}
ORDERING {order_id , ISBN , ordered_book_quantity}
BOOK {ISBN, title, price, language, supplier, publisher, publish_year, stock_quantity}
LOCATION {postcode, city, state}
So, the relations are in 3rd normal form because there is no transitive dependency.
CS 340 Milestone One Guidelines and Rubric Overview: For this assignment, you will implement the fundamental operations of create, read, update,
Retail Transaction Programming Project Project Requirements: Develop a program to emulate a purchase transaction at a retail store. This
7COM1028 Secure Systems Programming Referral Coursework: Secure
Create a GUI program that:Accepts the following from a user:Item NameItem QuantityItem PriceAllows the user to create a file to store the sales receip
CS 340 Final Project Guidelines and Rubric Overview The final project will encompass developing a web service using a software stack and impleme