Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

database-and-systems-design

Databases clicked for me the moment I stopped thinking in tables and started thinking in relationships. This repo is that shift, worked through with a student-course-registration system and the real schemas from two full-stack projects.

It brings together my SQL foundations, database design practice, and the software engineering documentation that describes how those systems were planned, tested, and built.

What's Inside

Fundamentals — SQL

  • fundamentals/notes/ — database fundamentals, normalization, SQL query notes
  • fundamentals/student-course-registration/ — a worked mini-project:
    • schema.sql — tables, keys, constraints, relationships
    • seed.sql — sample data
    • queries.sql — joins, aggregation, filtering

Case Studies

Real schemas from the two full-stack projects I worked on, with the software engineering writeups that describe them:

  • case-studies/cinebook/
    • schema.sql — the MySQL schema for the cinema booking system
    • case-study.md — requirements, stakeholders, features, and design decisions
  • case-studies/clinic-appointment/
    • schema.sql — the Supabase/PostgreSQL schema for the clinic scheduling system
    • case-study.md — the healthcare scheduling problem and system design

Team project note: CineBook and Clinic-Appointment-System were completed as academic team projects. The schemas here are included as evidence of database design work, not as a claim that I personally wrote every line. Each case study keeps its own full team disclaimer.

Engineering Practice — System Design

  • engineering-practice/templates/ — functional and non-functional requirements, use-case, test-case, and risk-register templates
  • engineering-practice/notes/ — software engineering basics, UML diagrams, requirements engineering, testing basics, project management

These are the planning and documentation artifacts that support the case studies.

Why Consolidate

Database design and system design are two halves of the same thing: understanding how a system's data and behavior fit together. The CineBook and Clinic schemas now sit next to the case studies that explain their requirements and the templates used to document them — instead of being scattered across separate repos.

How To Run

The student-course-registration mini-project is a self-contained SQL example:

# From a MySQL client, run in order:
mysql -u root -p < fundamentals/student-course-registration/schema.sql
mysql -u root -p < fundamentals/student-course-registration/seed.sql
mysql -u root -p < fundamentals/student-course-registration/queries.sql

The case-study schemas are reference material for the two larger projects and are documented in their respective repositories.

Portfolio Note

This repo consolidates the content of two previous repositories (database-systems-sql and software-engineering-system-design). Their content now lives here — database design and system design are two halves of the same thing, and keeping them together makes that connection explicit.

About

Database design and software engineering practice

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages