# sql-data-warehouse-project: a medallion warehouse built in SQL Server

> The DataWithBaraa sql-data-warehouse-project is a teaching repository for building a bronze, silver and gold warehouse in SQL Server from six CSV files, with every script, the source data and the test checks included. It suits someone learning a warehouse end to end, and it assumes a Windows path layout that you will have to change.

**DataWithBaraa/sql-data-warehouse-project** — A comprehensive guide to building a modern data warehouse with SQL Server, including ETL processes, data modeling, and analytics.

- Repository: https://github.com/DataWithBaraa/sql-data-warehouse-project
- Website: https://www.youtube.com/@DataWithBaraa
- Stars: 1,064 · Forks: 748
- Language: TSQL
- License: MIT
- Published: 2026-10-19 · Updated: 2026-10-19 · Language: en
- Canonical page: https://hysenlabs.com/projects/datawithbaraa-sql-data-warehouse-project

## Two source systems, one warehouse

The premise is simple enough to follow in one sentence. You take raw files from two systems, a CRM and an ERP, and build one data warehouse in SQL Server, and at the end the data is clean and ready for analysis. The repository holds the source files, every script from the videos and the documentation, which makes it a course repository rather than a framework. The primary language is TSQL, the licence is MIT, the project is not archived and the last push was on 2026-10-15, with a single release named 2025 dated 2025-01-02. The requirements section frames the data engineering objective as consolidating sales data to enable analytical reporting, and the analytics side as delivering insight into customer behavior, product performance and sales trends. The topics list covers ETL, data lakehouse, medallion architecture, data cleaning and data modeling, so the scope of the material is broad even though the dataset is small.

## The folder numbering, and where the paths break

The layout is the first thing you need, and it comes with a wrinkle. The tree is:

```
sql-data-warehouse-project/
├── 00_setup/               the setup guide, and the one-click Docker start for Mac
├── 01_datasets/            the six source files the project loads
│   ├── source_crm/         three files from the CRM system
│   └── source_erp/         three files from the ERP system
├── 02_docs/                the requirements, the diagrams and the notes
├── 03_scripts/             the project scripts, in the order of the videos
│   ├── init_database.sql   creates the database: run it first
│   ├── bronze/             loads the raw files
│   ├── silver/             cleans and prepares the data
│   └── gold/               builds the tables for analysis
└── 04_tests/               checks the quality of the silver and gold data
```

The wrinkle is that the project reads the six files from `C:\sql\dwh_project\01_datasets\`, so you either put the folder there or change the six paths in `03_scripts/bronze/proc_load_bronze.sql`. The documentation also notes that the videos show the folders without numbers, with `datasets` in the video being `01_datasets` here and `scripts` being `03_scripts`. That mismatch is a real source of confusion if you follow the videos and the repository side by side, and it is worth reconciling before you start.

## Bronze, silver, gold, and what each layer is for

The data architecture follows the medallion pattern with three layers, and the documentation defines each one. Bronze stores raw data as-is from the source systems, with data ingested from CSV files into the SQL Server database. Silver does the cleansing, standardization and normalization needed to prepare the data for analysis. Gold houses business-ready data modeled into a star schema for reporting and analytics. The architecture diagram lives in `02_docs/data_architecture.png`. The split matters because it is the difference between a script that loads files and a pipeline with a contract. Bronze is the landing zone that matches the source byte for byte, silver is where the messy decisions happen, and gold is the layer a report queries. Each layer also has its own directory under `03_scripts/`, so the scripts and the architecture stay aligned.

## The scripts run in the order of the videos

The first script is `03_scripts/init_database.sql`, which creates the database, and the documentation says plainly to run it first. After that the layering is expressed as directories: `bronze/` loads the raw files, `silver/` cleans and prepares the data, and `gold/` builds the tables for analysis. The scripts are described as being in the order of the videos, which is a deliberate design for a teaching repository, since the video sequence is the intended reading order rather than an accident of file names. The `04_tests/` directory holds the checks on the quality of the silver and gold data, which is the part most teaching repositories skip. A warehouse that has no data quality tests is a set of tables, and having the tests next to the layers keeps the contract visible.

## Setup, and the one-click Docker path for Mac

If you are new to the project, the documentation points you at the setup guide in the `00_setup` folder, which walks through installing SQL Server and creating the database on Windows and on Mac, including fixes for the common errors. That folder also holds a one-click Docker start for Mac, which matters because SQL Server does not install natively on macOS the way it does on Windows. The documentation describes the setup guide as having the links and every step for SQL Server and SSMS. The rest of the tool list is deliberately small: Git for version control, draw.io to draw the architecture and the data model, and a Notion template for the project plan along with a Notion page listing every phase and task of the project. Those last two are how the repository is meant to be worked through, as a project with phases rather than a pile of scripts.

## Where this stops being a real warehouse

The scope section is explicit about the limits, and they are the ones that matter for a production system. The scope is the latest dataset only, and historization of data is not required, which means there is no slowly changing dimension handling, no snapshot table and no effective dating. The data sources are CSV files provided for the project rather than live connections, so there is no incremental extraction, no change data capture and no orchestration, and the ETL is a set of scripts you run in order rather than a job that runs on a schedule. The requirements do call for a single user-friendly data model designed for analytical queries and for documentation of that model for business stakeholders and analytics teams, and the `02_docs` folder with the requirements, diagrams and notes is where that lives. But a reviewer of this repository should read it as a complete worked example of one architecture, not as a set of patterns that have been hardened against real data volumes.

## How the learning material is arranged

This repository is one artefact of a wider teaching setup, and the README is mostly links. There is a YouTube channel, a Udemy course for the building a modern data warehouse bootcamp, and a website, and the README closes with a table mapping each course to its YouTube playlist, the author's own academy and Udemy. The SQL, Python, Tableau, Power BI and Databricks courses are all listed, with a Python bootcamp, a SQL bootcamp, a SQL for analytics course, a Tableau course, a Tableau chart masterclass and a Power BI course, and the Power BI and Databricks rows list only a YouTube course. The relevant point for an engineer reading the repository is that the SQL Server warehouse is one piece of a curriculum, which is why the scripts are ordered by video and why the docs folder carries the requirements and the diagrams rather than a reference manual.

## Conclusion

Adopt sql-data-warehouse-project if you want a complete, self-contained example of a medallion warehouse with the source data, the scripts and the quality checks in one repository. Skip it if you need historization or incremental loads, because the stated scope is the latest dataset only, and do not treat it as a production template since the paths are hardcoded to a Windows directory. Before running anything, note that the six source files are read from `C:\sql\dwh_project\01_datasets\` and that you either put the folder there or change the six paths in `03_scripts/bronze/proc_load_bronze.sql`, and run `03_scripts/init_database.sql` first because it creates the database.

## FAQ

### Where does the sql-data-warehouse-project read its source files from?

From C:\sql\dwh_project\01_datasets\, with three files from the CRM system in source_crm and three from the ERP system in source_erp. You either put the folder at that path or change the six paths in 03_scripts/bronze/proc_load_bronze.sql.

### What should I run first in the sql-data-warehouse-project?

Run 03_scripts/init_database.sql, which creates the database. The scripts are laid out in the order of the videos, with bronze loading the raw files, silver cleaning and preparing the data, and gold building the analysis tables.

### Does the sql-data-warehouse-project handle historization or incremental loads?

No. The stated scope is the latest dataset only, and historization of data is not required. The sources are CSV files rather than live system connections.

### How do I install SQL Server for the project on a Mac?

The 00_setup folder holds the setup guide for installing SQL Server and creating the database on Windows and Mac, including the fixes for common errors, and a one-click Docker start for Mac.

### What are the medallion layers in this project?

Bronze stores the raw CSV data as-is from the source systems, Silver applies cleansing, standardization and normalization, and Gold holds business-ready data modeled into a star schema for reporting and analytics.

## Sources

- [DataWithBaraa/sql-data-warehouse-project on GitHub](https://github.com/DataWithBaraa/sql-data-warehouse-project)
- [License: MIT](https://github.com/DataWithBaraa/sql-data-warehouse-project/blob/main/LICENSE)
- [Project website](https://www.youtube.com/@DataWithBaraa)
- [README](https://github.com/DataWithBaraa/sql-data-warehouse-project/blob/main/README.md)
- [Releases](https://github.com/DataWithBaraa/sql-data-warehouse-project/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/datawithbaraa-sql-data-warehouse-project
