Microsoft Office Tutorials and References
In Depth Information
PRACTICE DATABASE DESIGN PROBLEM
PRACTICE DATABASE DESIGN PROBLEM
Imagine that your town library wants to keep track of its business in a database, and that you have been
called in to build the database. You talk to the town librarian, review the old paper-based records, and watch
people use the library for a few days. You learn the following about the library:
1. Any resident of the town can get a library card simply by asking for one. The library considers
each cardholder a member of the library.
2. The librarian wants to be able to contact members by telephone and by mail. She calls
members when their books are overdue or when requested materials become available. She likes to
mail a thank-you note to each patron on his or her anniversary of becoming a member of the
library. Without a database, contacting members efficiently can be difficult; for example,
multiple members can have the same name. Also, a parent and a child might have the same first and
last name, live at the same address, and share a phone.
3. The librarian tries to keep track of each member
s reading interests. When new books come in,
the librarian alerts members whose interests match those books. For example, long-time
member Sue Doaks is interested in reading Western novels, growing orchids, and baking bread.
There must be some way to match her interests with available books. One complication is that,
although the librarian wants to track all of a member
s reading interests, she wants to classify
each book as being in just one category of interest. For example, the classic gardening book
Orchids of France would be classified as a book about orchids or a book about France, but not
4. The library stocks thousands of books. Each book has a title and any number of authors. Also,
more than one book in the library might have the same title. Similarly, multiple authors might
have the same name.
5. A writer could be the author of more than one book.
6. A book will be checked out repeatedly as time goes on. For example, Orchids of France could
be checked out by one member in March, by another member in July, and by another member
7. The library must be able to identify whether a book is checked out.
8. A member can check out any number of books in one visit. Also, a member might visit the
library more than once a day to check out books.
9. All books that are checked out are due back in two weeks, with no exceptions. The late fee is
50 cents per day. The librarian would like to have an automated way of generating an overdue
book list each day so she can telephone offending members.
10. The library has a number of employees. Each employee has a job title. The librarian is paid a
salary, but other employees are paid by the hour. Employees clock in and out each day.
Assume that all employees work only one shift per day and that all are paid weekly. Pay is
deposited directly into an employee
no checks are hand-delivered. The
database needs to include the librarian and all other employees.
s checking account
s database, following the rules set forth in this tutorial. Your instructor will specify the
format of your work. Here are a few hints in the form of questions:
Design the library
A book can have more than one author. An author can write more than one book. How would
you describe the relationship between books and authors?
The library lends books for free, of course. If you were to think of checking out a book as a sales
transaction for zero revenue, how would you handle the library
s revenue-generating event?
A member can borrow any number of books at one checkout. A book can be checked out more
than once. How would you describe the relationship between checkouts and books?