Chapter 3: Install Required Tools
Chapter 2 mapped the seven layers of a data platform to the parts of this book. Part 1 starts that journey with SQL, and SQL needs a database engine to run against.
Before you write a single query, three things need to be sitting on your machine: a database to query, a language to script with, and a way to track your work so nothing you build here is ever one bad rm away from gone. This chapter installs all three: SQL Server, Python, and Git/GitHub.
Do this once, now, and every chapter from here on just works.
3.1 What You're Installing and Why
| Tool | What it's for | Where it shows up in this book |
|---|---|---|
| SQL Server | A real relational database engine to run every query against | All of Part 1 (Chapters 4-13) |
| SQL Server Management Studio (SSMS) | The editor you'll write and run SQL in | Part 1 |
| Python | The scripting language behind ingestion, transformation, and automation | Part 2 (Chapters 14-20), and again in Airflow, dbt, and AWS/Azure chapters |
| Git & GitHub | Version control for every project you build in this book | Chapter 25 (CI/CD), and every project from here on |
None of these are optional. Skipping one now just means stopping to install it later, mid-chapter, with less context on why you need it.
3.2 Installing Microsoft SQL Server
SQL Server is a Windows-native database engine, and the free Developer edition has every feature of the paid enterprise version, just licensed for learning and development instead of production.
Steps:
- Go to the official SQL Server downloads page and choose Developer edition (free):
https://www.microsoft.com/sql-server/sql-server-downloads - Run the installer and choose Basic installation. Basic is enough for everything in this book.
- Let the installer finish. Note the instance name it shows at the end (usually
SQLEXPRESSorMSSQLSERVER), you'll need it to connect. - Install SQL Server Management Studio (SSMS) separately. It's not bundled with the engine anymore. The installer links directly to it, or download it from:
https://aka.ms/ssmsfullsetup - Open SSMS, connect to your instance using Windows Authentication, and confirm you see the instance in Object Explorer.
On Mac or Linux? SQL Server doesn't install natively on either. Run it in a Docker container instead:
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=YourStrong@Passw0rd" \
-p 1433:1433 --name sql-server -d mcr.microsoft.com/mssql/server:2022-latest
This starts the same SQL Server engine inside a container, exposed on port 1433. Chapter 24 covers Docker in depth; for now, just know this command exists if you need it. Connect to it from SSMS or Azure Data Studio (a free, cross-platform alternative to SSMS) using localhost, SQL Authentication, username sa, and the password from the command above.
3.3 Installing Python
Every scripting example in Part 2 onward assumes Python 3.11 or later.
Steps:
- Download the latest installer from
https://www.python.org/downloads/ - Run it. On the first screen, check Add python.exe to PATH before clicking Install. This one checkbox is the difference between
pythonworking from any terminal and a dozen confusing "not recognized" errors later. - Verify the install from a terminal:
python --version
pip --version
- Create a virtual environment for this book's projects, so packages you install don't collide with anything else on your machine:
python -m venv data-engineering-env
- Activate it. On Windows:
data-engineering-env\Scripts\activate
On Mac/Linux:
source data-engineering-env/bin/activate
You'll know it worked when your terminal prompt shows (data-engineering-env) in front of it. Activate this environment every time you come back to work through a chapter.
3.4 Installing Git and GitHub
Git tracks changes to your code. GitHub hosts that history somewhere other than your laptop. You need both: Git is the tool, GitHub is where your work lives once you push it.
Steps:
- Install Git from
https://git-scm.com/downloads. Defaults are fine for every prompt during setup. - Verify it installed:
git --version
- Set your identity, it's attached to every commit you make from now on:
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"
- Create a free account at
https://github.com, if you don't already have one. - Install GitHub Desktop (
https://desktop.github.com) if you'd rather click than type, or the GitHub CLI (https://cli.github.com) if you're staying in the terminal. Either works for everything in this book. - Confirm you can authenticate by cloning any public repository:
git clone https://github.com/git/git.git test-clone
If that finishes without an authentication error, Git and GitHub are both working.
3.5 Verifying Your Setup
Before moving on, run through this checklist. If any row fails, that's the one to fix, don't move to Chapter 4 with a gap here.
| Check | Command | Expect to see |
|---|---|---|
| SQL Server is running | Open SSMS, connect to your instance | Object Explorer loads without error |
| Python is on PATH | python --version | Python 3.11 or later |
| pip works | pip --version | A version number, no errors |
| Git is installed | git --version | git version 2.x |
| Git identity is set | git config --global user.name | Your name prints back |
| GitHub access works | git clone https://github.com/git/git.git test-clone | Clones without an auth prompt failing |
Summary
Three tools, one setup pass: SQL Server (plus SSMS) to run every query in Part 1, Python in a virtual environment for everything from Part 2 onward, and Git with a GitHub account so your work is versioned and backed up from day one. None of it is complicated, but all of it is required, and it's far easier to get right now than to debug in the middle of a chapter.
What's Next
With the tools installed, Part 1 begins for real. Chapter 4 starts with querying and filtering, the first thing you'll do against the SQL Server instance you just set up.