I’m trying to learn for my MySQL class and I’m stuck. Can you help?
Based solely on the description of library operations below (without making up any additional facts/requirements) design a data model that avoids update anomalies. You can use text to describe your model if you want. If so be clear as to what columns have primary and foreign keys, as well as what table a FK refers to. You can sketch it out on paper and scan it. You can use Visio. You can use some other tool if you can export it as a PDF.
If you have to make assumptions to complete the exercise, list the assumptions you are making.
Employees at a library check out books to patrons. Books have an ISBN and a name. The library sometimes has multiple copies of the same book. Books have one or more authors. A patron is an individual who has an active (non-expired) library card. For each library card, we store the person’s first and last names and their address. For each employee, we store their employee ID, current salary, first and last name and their address. We also store the employee ID of their current manager. Each time we check out a book to a patron we need to store the date of the transaction, the employee who checked out the book to the patron, and the library card of the patron. Some employees have library cards. If an employee patron turns in a book late, the fine that they pay is a percentage of their salary. Some employees are authors who have library cards—they are allowed to check out as many books as they like.