Problem Domain This case study deals with a system used by a bookshop chain, known as Sydney Book House (SBH). The information to be stored in the system includes four major categories of data: branch information about SBH, author information, book information, and publisher records. Information about employees of SBH and other relevant data are also stored in the system.
A. Branch Information: SBH has several branches all over Sydney. The system shall contain a branch name, an ID number, address and number of employees working at that branch.
B. Author Information: The system shall contain a list of author identifiers along with author name and author email address.
C. Book Information: The system shall contain a list of unique book identifiers including book title, book type (e.g. fiction, history, education), price of that book and whether it is paperback or not (yes/no). The following business rules are operative: 1. Each book is published by a publisher who is listed in the system. A publisher may or may not have published any books. 2. Each book must be written by at least one author. There may exist multiple authors for a book, in which case, the author sequence must be maintained as in the cover page of the book. Of course, an author can write many books or she might be waiting to publish her first work. 3. In addition, the system must keep track of the number of copies available of each book per branch of SBH. A branch may have many copies of a particular ISYS224, 2017.S2 Page 3 book in stock (possibly none).
D. Publisher Information: The system shall contain information about publishers. Each publisher must have an identifier which is a unique code of three alphanumeric characters, publisher name, city and contact number. As noted earlier, a publisher may have published many books (possibly none).
E. Employee Information: The system shall contain a record of all employees who work at SBH. Each employee has a unique eight (alphanumeric) character long identifier, name, employee-type (e.g. permanent, contractual, casual etc.). Each employee must report to a supervisor who is also an employee of SBH. F. Working Shift Information: The system shall contain a list of working shift identifiers including the week day (Monday-Sunday), start time, end time and type of duty (e.g. cleaning, sales, security). The management maintains a duty roster for employees specifying who works on which working shift each week. Since employees prefer to have weekends off, SBH has a policy that no employee is allocated working shift for consecutive weekends.
G. Auxiliary Information: Some branches of SBH are located at more popular locations in the city and attract more customers than others. Therefore, the management has decided to roster employees to work at different branches so that workloads of different employees are better balanced. However, the standard hours of work for an employee are 7 hours a day (35 hours a week). Also, no employee is scheduled to work in more than one branch in a given week.
Construct an ER diagram in Workbench (starting with the incomplete sample provided) for the SBH database. You may need to introduce additional entities and relationships to capture the data requirements of SBH. You must include attributes, their appropriate data types and define identifiers for each entity in the process. You will also need to implement appropriate referential integrity constraints.