05Database Design

Global Harvest Imports

Collaborated with domain specialists to design a relational database system using ERDs and DFDs, transforming multi-department requirements into a normalised logical schema.

SQLERDDFDSchema DesignNormalizationMySQL
View on GitHub
3NF
Normalization
ERD
Design Tool
5+
Departments
Drag to rotate scene
type
Database Design
status
Completed
year
2024
role
Database Architect
01

System Architecture · 3D View

02

Architecture Diagram

Requirements
Stakeholder Input
DFD
Data Flow Diagram
ERD
Entity Relationships
Normalization
1NF → 2NF → 3NF
Logical Schema
Tables · Constraints
MySQL Database
Deployed Schema
03

Screenshots & Output

terminal
$ mysql -u root -p global_harvest
mysql> CREATE TABLE Orders (
  order_id INT PRIMARY KEY AUTO_INCREMENT,
  customer_id INT NOT NULL,
  product_id INT NOT NULL,
  FOREIGN KEY (customer_id) REFERENCES Customers(id),
  FOREIGN KEY (product_id) REFERENCES Products(id)
);
Query OK — Schema in 3NF ✓
Tables: Orders, Products, Suppliers, Customers, Shipments
$
SQL Output
Schema creation statements
Table Scores
1NF Compliance100%
2NF Compliance100%
3NF Compliance100%
FK Integrity100%
Query Perf.88%
Table Scores
Normalization compliance per table
Data Output
{
"tables": ["Customers", "Products", "Suppliers"],
"normalization": "3NF",
"relationships": [
  {"from": "Orders", "to": "Customers"}
],
"constraints": "FK + UNIQUE + NOT NULL"
}
Schema JSON
Table definitions
Project Structure
📁 global-harvest-db/
├─ schema/
│ ├─ customers.sql
│ ├─ products.sql
│ ├─ orders.sql
│ └─ suppliers.sql
├─ erd.drawio ER Diagram
├─ dfd.drawio Data Flow
└─ seed_data.sql Sample data
DB Structure
Schema file layout
04

What I Built

Collaborated with specialists to identify needs and understand data requirements across departments.

Facilitated discussions to define system architecture, data relationships, and database schema.

Executed database design phase using entity-relationship diagrams (ERDs) and data flow diagrams (DFDs).

Transformed requirements into a logical data model with proper normalization.

05

Project Insights

Personal Notes & Learnings
Markdown Editor
Live Preview

Design Process

Full requirements → logical model pipeline for a multi-department import company.

Key Design Decisions

  • Chose 3NF normalization to eliminate transitive dependencies
  • Separate tables for Products, Suppliers, Orders, Shipments, Customers
  • Composite primary keys for junction tables

What I Learned

  • Stakeholder communication is 50% of database design
  • ERD-first approach prevents costly schema refactors later
✓ Insights saved locally