Remember to take your time and work through each question diligently! Test your code, make sure it works, and try to find ways to improve. Once you are happy and satisfied with your code, upload it to Github, then turn in your Github link at the bottom of the page!
Don't forget. Make sure this assignment is in it's own repository. Not mixed in with others!
1. Designing and Implementing a Relational Database for a Bookstore
Objective: The aim of this assignment is to apply the concepts of relational database design, normalization, and entity-relationship modeling to create an efficient and structured database for a bookstore management system, "BookHaven."
Problem Statement: "BookHaven" is facing challenges in managing its extensive collection of books, author information, customer data, and transaction records. The current system has issues with data redundancy, inconsistency, and inefficient data retrieval. Your task is to design a relational database that addresses these problems while ensuring data integrity and ease of access.
Task 1: Database Schema Design
Design a normalized database schema for "BookHaven."
Identify and create tables such as
Books
,Authors
,Customers
, andTransactions
.Define columns for each table with appropriate data types and constraints.
Expected Outcome: A well-structured database schema diagram or document outlining tables, columns, data types, primary keys, foreign keys, and any relevant constraints.
Task 2: Entity-Relationship Diagram (ERD) Creation
Develop an ERD to visually represent the relationships between the tables in your schema.
Highlight key relationships such as the link between
Books
andAuthors
, andCustomers
andTransactions
.Use standard ERD notation to illustrate one-to-many and many-to-one relationships.
Expected Outcome: A clear and detailed ERD that accurately reflects the relationships within the "BookHaven" database.