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.
DescriptionIn this final assignment, the students will demonstrate their ability to apply two ma
Path finding involves finding a path from A to B. Typically we want the path to have certain properties,such as being the shortest or to avoid going t
Develop a program to emulate a purchase transaction at a retail store. Thisprogram will have two classes, a LineItem class and a Transaction class. Th
1 Project 1 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of
1 Project 2 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of