Question
John works for an IT service company as a senior database designer. His company just won a few contracts to serve several public library systems
John works for an IT service company as a senior database designer. His company just won a few contracts to serve several public library systems within the state of Maryland. Each library system operates independently though John is in charge to design a single database to store information needed for all libraries. Below are some of the data that need to be kept track of.
For each library system, the database needs to store library name (e.g. City of Baltimore Public Libraries and City of Annopolis Public Libraries), phone, and mailing address.
Need to store customer information including name, phone, and address.
Each library issues its own library card to its customers. A customer can have multiple library cards, one for each library system. For example, a customer can have both Baltimore library card and Annopolis library card. Need to store library card number (different library systems may issue cards with the same number), PIN, issue date, expiration date, and current balance due if any.
A library has many branch locations. Customers visit a branch to check in/check out items. Need to store branch name, phone, address.
Different libraries share generic catalog information. A catalog item has general information such as title, description, release/publishing date, edition, publisher. Currently there are two types specific catalog items book and DVD. Need to track ISBN, total pages, and hardcover/softcover for books. Need to track length and genre for DVDs.
Each branch stores and maintains physical items. General information about each physical item can be found by checking catalog. There could be multiple copies for the same title so each copy needs to be stored separately. For each item the database will store copy number, purchase date, and vendor name purchased from.
A library card can check out multiple items. Need to keep check of check out date, due date, and return date. A item can be checked out and returned the same day, but cannot be checked out again using the same library card on that day.
Please complete the following tasks to design the database to meet requirements specified. State any relevant assumption you make, but do not add any additional data requirement unless really necessary.
2. Identify relationships among entities. List relationship type in terms of cardinality and specify business rules (e.g. 1:M between Library and Branch: a library has many branches; a branch belongs to one and only one library). For each entity, identify primary key and foreign key if applicable. If you use surrogate key for PK, also specify business unique key (natural key). For FK, also specify parent entity and the matching attribute in parent entity.
Library LIB NAME LIB PHONE LIB ADDRESS LIBID Card CARD ID CARD LIBNAME CARD CUST NAME LIBRARY ENTITIES AND ATTRIBUTES Customer CUST NAME CUST PHONE CUST ADDRESS CUST ID Check in out CHECKOUT DATE DUE DATE RETURN DATE Catalog CAT ID TITLE DESCRIPTION REL PUB DATE EDITION PUBLISHER TYPE PURCHASE DATE VENDOR NAME PURCHASE FROM Library LIB NAME LIB PHONE LIB ADDRESS LIBID Card CARD ID CARD LIBNAME CARD CUST NAME LIBRARY ENTITIES AND ATTRIBUTES Customer CUST NAME CUST PHONE CUST ADDRESS CUST ID Check in out CHECKOUT DATE DUE DATE RETURN DATE Catalog CAT ID TITLE DESCRIPTION REL PUB DATE EDITION PUBLISHER TYPE PURCHASE DATE VENDOR NAME PURCHASE FROMStep by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started