End-to-end relational database design for a multi-department international agricultural import company. Deliverables include a fully normalised 3NF MySQL schema (7 tables, 5 analytical queries), seed data, ERD documentation, and a DFD-driven design process.
Designed a 7-table 3NF MySQL schema: Suppliers, Categories, Products, Customers, Orders, Order_Items, Shipments — with proper FK constraints and indexes.
Built Order_Items as a junction table with a GENERATED subtotal column (MySQL 5.7+) to avoid update anomalies and enforce data integrity.
Applied full normalization pipeline: 1NF (atomic attributes) → 2NF (full functional dependency) → 3NF (no transitive dependencies).
Wrote 5 analytical SQL queries: revenue by product, customer order history, supplier performance, monthly trend, and low-stock alerts.
Executed ERD and DFD design phases to map 5-department requirements (procurement, sales, logistics, finance, operations) into a logical data model.
Created seed data with realistic international suppliers (India, Brazil, Australia, Sri Lanka, Canada) and customers across 5 countries.
Full requirements → production-ready schema pipeline for a multi-department international import company.
schema.sql — 7 CREATE TABLE statements, FK constraints, performance indexesseed_data.sql — realistic data: 5 suppliers (4 countries), 7 products, 5 customers, 5 ordersqueries.sql — 5 analytical queries: revenue ranking, supplier performance, monthly trends, low-stock alerts, customer historyerd_notes.md — entity list, relationships, normalization rationalesubtotal in Order_Items is a GENERATED column — computed automatically, no update anomaly possiblepending → confirmed → shipped → delivered → cancelled) enforces valid state machine(order_id, product_id) prevents duplicate line items