Skip to main content

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

ToolWhat it's forWhere it shows up in this book
SQL ServerA real relational database engine to run every query againstAll of Part 1 (Chapters 4-13)
SQL Server Management Studio (SSMS)The editor you'll write and run SQL inPart 1
PythonThe scripting language behind ingestion, transformation, and automationPart 2 (Chapters 14-20), and again in Airflow, dbt, and AWS/Azure chapters
Git & GitHubVersion control for every project you build in this bookChapter 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:

  1. Go to the official SQL Server downloads page and choose Developer edition (free): https://www.microsoft.com/sql-server/sql-server-downloads
  2. Run the installer and choose Basic installation. Basic is enough for everything in this book.
  3. Let the installer finish. Note the instance name it shows at the end (usually SQLEXPRESS or MSSQLSERVER), you'll need it to connect.
  4. 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
  5. 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:

  1. Download the latest installer from https://www.python.org/downloads/
  2. Run it. On the first screen, check Add python.exe to PATH before clicking Install. This one checkbox is the difference between python working from any terminal and a dozen confusing "not recognized" errors later.
  3. Verify the install from a terminal:
python --version
pip --version
  1. 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
  1. 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:

  1. Install Git from https://git-scm.com/downloads. Defaults are fine for every prompt during setup.
  2. Verify it installed:
git --version
  1. 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"
  1. Create a free account at https://github.com, if you don't already have one.
  2. 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.
  3. 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.

CheckCommandExpect to see
SQL Server is runningOpen SSMS, connect to your instanceObject Explorer loads without error
Python is on PATHpython --versionPython 3.11 or later
pip workspip --versionA version number, no errors
Git is installedgit --versiongit version 2.x
Git identity is setgit config --global user.nameYour name prints back
GitHub access worksgit clone https://github.com/git/git.git test-cloneClones 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.