Problem
You are maintaining a small library for you and your friends to share so everyone can add books, and check in and out books for their own use. This small library has grown lately, and you would like to create a small database to manage it better. After careful consideration, you think that the database should store the following data (which is not presented in any particular order or structure). You may have additional data not specifically listed below.
Book authors
Book title
ISBN
Publisher
Year when the book was published Number of pages
Friend that donated the book to the library Price paid for the book
Where the book was bought
When the book was bought
Book's subject matter (what the book is about; dogs, technology, cars, etc.) Book category (fiction, nonfiction, horror, etc.)
Friend that borrowed the book
When the book was checked out
When the book was checked in
For how long a book was borrowed by one of your friends
Complete the following steps:
A. Build a list of business needs, rules and assumptions based upon the scenario and information provided.
B. Create a relational schema (introduced in Chapter 4) for each entity following the rules of normalization. Show your progression through each normal form from 1st through 3rd, including an explanation of how you have met each normal form.
C. Create an ER Diagram. Define the relationships between the entities, including optionality and cardinality. Use Crow's Foot notation.