Skip to content

Naxisbeast/database-systems-sql

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

Database Systems SQL

Overview

This repository is a student learning portfolio for database systems and SQL. It contains clean examples of schema design, relationships, constraints, joins, aggregation, and basic normalization ideas.

I am building this as part of my GitHub student portfolio for bursaries, internships, graduate programmes, and future Honours opportunities.

Why I Created This Repository

Database systems are important in software engineering, full-stack development, data-driven applications, and academic computer science. I created this repository to practise designing relational databases and writing SQL queries in a clear, explainable way.

Current Scope

This foundation repo uses a Student Course Registration System as the main mini-project.

It demonstrates:

  • Tables and columns
  • Primary keys
  • Foreign keys
  • NOT NULL constraints
  • UNIQUE constraints
  • One-to-many relationships
  • Many-to-many relationships
  • Joins
  • Filtering
  • Sorting
  • Aggregation with COUNT and AVG
  • Introductory normalization thinking

Repository Structure

database-systems-sql/
|-- README.md
|-- notes/
|   |-- database-fundamentals.md
|   |-- normalization.md
|   `-- sql-query-notes.md
`-- student-course-registration/
    |-- README.md
    |-- schema.sql
    |-- seed.sql
    `-- queries.sql

How To Run The SQL Scripts

Use a SQL database tool such as MySQL Workbench, DBeaver, pgAdmin, SQLite tools, or another database environment that supports standard SQL-style scripts.

Run the scripts in this order:

1. student-course-registration/schema.sql
2. student-course-registration/seed.sql
3. student-course-registration/queries.sql

The SQL is written to stay close to standard SQL concepts, but small syntax adjustments may be needed depending on the database system you use.

What I Learned

  • How to plan tables around real relationships.
  • How primary keys uniquely identify rows.
  • How foreign keys connect related tables.
  • How a junction table models a many-to-many relationship.
  • How joins combine data from multiple tables.
  • How grouping and aggregation can answer useful questions.
  • Why normalization helps reduce duplicated and inconsistent data.

Planned Extensions

This repository currently focuses on database foundations. Future improvements may include:

  • Cinema booking database mini-project
  • Clinic appointment database mini-project
  • More advanced joins
  • Views
  • Transactions
  • Stored procedures
  • Indexing basics
  • Database design case studies from CineBook and CASS

About

SQL Database Design and Query Practice

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors