This project involves designing and implementing a relational MySQL database for managing a bookstore's operations. The system handles data related to books, authors, customers, orders, shipping, and more. It offers efficient data storage and retrieval capabilities through a well-structured schema.
- MySQL – For database creation and management
- Draw.io – For creating the database schema diagram
- Create a fully normalized and relational database schema
- Implement tables with appropriate data types and constraints
- Set up access roles and permissions
- Enable querying for meaningful insights
- Visualize schema structure with an ERD
country– Stores country information.address– Stores address details linked to a country.address_status– Status of an address (current, old, etc.).customer– Stores customer details.customer_address– Links customers to multiple addresses.publisher– Stores publisher information.book_language– Lists available languages for books.book– Stores book metadata.author– Stores author details.book_author– Links books to multiple authors.shipping_method– Lists available shipping options.order_status– Tracks order status (pending, shipped, etc.).cust_order– Captures customer orders.order_line– Lists the books in each order.order_history– Tracks status changes over time.
- Clone this repo.
- Import the
bookstore_db.sqlfile into your MySQL server. - Use the
USE bookstore_db;command to select the database. - Run queries to insert, update, or retrieve data as needed.
The ERD (Entity-Relationship Diagram) visually illustrates the relationships between all tables in the database.
- Group Leader: Calvin Wanyama.
- Team Members: Nicole Akeyo, Bongani Nyawose.
This project is intended for academic use only.
Deadline: 13/04/2025 - 11:59 PM EAT
Submission Format: GitHub Repository link
