Installatiehandleiding
Installatiehandleiding
Deze handleiding beschrijft alle stappen die je moet doorlopen om de software te installeren die nodig is voor de vakken Database Essentials, Database Advanced en Databases. Voor deze opleidingsonderdelen maken we gebruik van Visual Studio Code, SQL Server en Docker. In deze handleiding bespreken we wat deze software is en hoe je deze kan installeren.
Docker
Alhoewel SQL Server als een standalone applicatie geïnstalleerd kan worden, is het voor development beter om met containers te werken. Containers zijn een manier of software te verpakken zodat deze snel en betrouwbaar kan draaien op verschillende systemen, het excuus "het werkt op mijn computer" bestaat zo niet meer.
Door containers te gebruiken kan je verschillende servers draaien, of zelfs verschillende versies van dezelfde server, zonder dat deze met elkaar in conflict gaan. Verder kan je de servers die je op een gegeven moment niet nodig hebt eenvoudig uitschakelen of verwijderen zonder dat je hiervoor ingewikkelde uninstall procedures moet doorlopen of kennis moet hebben van het besturingssysteem.
Containers kunnen snel en eenvoudig opgestart worden via een CLI-commando of een GUI-tool zoals Docker Desktop. Daarbovenop kan de specifieke configuratie van een container en de manier waarop verschillende containers moeten samenwerken neergeschreven worden in een yaml-bestand. Zo kan een complexe development omgeving snel gereproduceerd worden op een nieuwe laptop zonder dat je uren verliest met het configureren van de software.
Omdat een container eenvoudig opnieuw aangemaakt kan worden is het ook geen probleem als je tijdens development iets kapot maakt. Je kan de container gewoon verwijderen en een nieuwe aanmaken. Tenslotte is het ook heel eenvoudig om de server enkel te draaien als je deze nodig hebt, zo worden de resources van je computer niet onnodig belast.
Het ontwikkelen van zulke containers valt buiten de scope van de opleiding, maar je zal in verschillende opleidingsonderdelen wel gebruik maken van containers om de lesvoorbeelden uit te voeren en de oefeningen op te lossen.
Docker Desktop
Docker Desktop is een GUI-tool die het eenvoudig maakt om containers te beheren. Alhoewel de grafische interface niet noodzakelijk is om containers te gebruiken, is dit wel de handigste manier om Docker te installeren op de meeste besturingssystemen.
Je kan Docker Desktop downloaden van de Docker website.
De installatie-instructies zijn verschillend voor de verschillende besturingssystemen. Hieronder volgt een kort overzicht van de installatie-instructies voor de meest gebruikte besturingssystemen.
Als je Windows gebruikt moet je eerst het Windows Subsystem For Linux (WSL)installeren voordat je Docker Desktop kan gebruiken.
WSL
Via WSL wordt een volwaardige Linux omgeving geïnstalleerd binnen Windows, alle commando's en software die op Linux beschikbaar is kan zo ook op Windows uitgevoerd worden. Docker maakt op de achtergrond gebruikt van WSL, verder kom je als gebruiker niet in contact met WSL.
De installatie van WSL hangt af van de versie van Windows die je gebruikt. In de meeste gevallen kan je gebruik maken onderstaande stappen, als je hier problemen mee ondervindt, bijvoorbeeld omdat je een te oude versie van Windows draait, kan je de manuele configuratiestappen volgen die beschreven zijn op de Microsoft-website.
Open Windows Powershell als administrator. Hiervoor kan je de toetsencombinatie
Win + Xgebruiken en vervolgensTerminal (Admin)ofWindows Powershell (Admin)selecteren (afhankelijk van de versie van Windows die je gebruikt).
Figuur 0: Win + X menu Voer het commando
wsl --installuit om WSL te installeren. In het onderstaande schermvoorbeeld wordt de Command Prompt (CMD) van Windows 11 gebruikt. Je bent vrij om te kiezen of je Powershell of CMD gebruikt.
Figuur 0: WSL installatie Zodra dit commando uitgevoerd is, moet je jouw computer herstarten.
Nadat je machine opnieuw opgestart is wordt er gevraagd om een gebruikersnaam en wachtwoord in te geven voor je WSL-omgeving. Het maakt niet uit wat je hier ingeeft, maar zorg dat je dit onthoudt om eventuele problemen op te kunnen lossen. Terwijl je het wachtwoord intypt zie je niets op het scherm verschijnen (ook geen asterisks (*)), dit is normaal.

Figuur 0: Ubuntu credentials Als je Powershell of de CMD herstart hebt, moet je WSL terug starten d.m.v. het commando:
wslControleer na de installatie van Ubuntu of deze up-to-date is via het commando:sudo apt update && sudo apt upgrade -y
Figuur 0: Ubuntu updaten Installeer Docker Desktop en zorgt dat je tijdens de installatie kiest voor 'Use WSL 2 instead of Hyper-V' als je hiernaar gevraagd wordt. Het is mogelijk dat je deze optie niet ziet, in dat geval wordt WSL automatisch geselecteerd.
Als je een Mac gebruikt kan je Docker Desktop rechtstreeks installeren, zonder verdere configuratie. Als je gebruik maakt van een Apple Silicon processor (M-series) moet je in de instellingen van Docker Desktop ondersteuning voor Rosetta inschakelen.

Als je een Linux variant gebruikt verwijzen we je door naar de installatie-instructies op de Docker-website.
De instructies die hierboven gelinkt zijn, worden gebruikt om Docker Engine te installeren, de grafische interface wordt hier niet mee geïnstalleerd. Je kan, als je hier nood aan hebt, Docker Desktop natuurlijk ook installeren op Linux.
SQL Server in Docker
Nu je Docker geïnstalleerd hebt, kan je het configuratiebestand downloaden dat beschrijft hoe de SQL Server Container opgebouwd moet worden. Plaats dit bestand vervolgens ergens op je computer (op de plaats waar je al het materiaal voor dit opleidingsonderdeel zult bewaren, aangezien dit over de structuur in jouw computer gaat, kies je deze locatie zelf).
Vervolgens moet je een terminal openen op de locatie waar je het configuratiebestand opgeslagen hebt en daarna onderstaand commando uitvoeren.
docker-compose up -dOnderstaande video's tonen hoe je dit doet op Windows en macOS, we vertrouwen er op dat Linux gebruikers genoeg technische kennis hebben om dit zonder problemen zelf te doen.
Herstarten & stoppen
Bovenstaand commando heeft de container opgestart, het is echter niet nodig om dit commando telkens opnieuw uit te voeren. Als je de container wil stoppen of herstarten nadat je computer afgesloten is, kan je dit doen via de GUI van Docker Desktop.

Visual Studio Code
Om te communiceren met de database en commando's uit te voeren gebruiken we Visual Studio Code (VS Code). Je kan deze editor downloaden via bovenstaande link.
De standaard installatie van VS Code heeft standaard de capaciteit niet om te verbinden met een database of om de notebooks te gebruiken waarin we de oefeningen aanbieden.
Open VS Code en navigeer naar het Extensions menu via de icoon aan de linkerkant. Let op, het is mogelijk dat er minder tabbladen zijn op je computer, dan op onderstaande afbeelding.

MSSQL
Via de MSSQL-extensie kunnen we verbinding maken met de SQL Server database die in de container draait. Zoek in het Extensions menu naar MSSQL en installeer de extensie.

Polyglot Notebooks
De laatste extensie die we nodig hebben is de Polyglot Notebooks extensie. Deze extensie maakt het mogelijk om notebooks te gebruiken in VS Code. Notebooks zijn interactieve documenten waarin je code kan uitvoeren, tekst kan schrijven en afbeeldingen kan toevoegen.
Aangezien deze extensie door Microsoft ontwikkeld wordt en gebouwd is in C#, moet de .NET SDK geïnstalleerd zijn om de notebooks te gebruiken. Installeer hiervoor versie 10 van de .NET SDK. Herstart Visual Studio Code nadat je de .NET SDK geïnstalleerd hebt, anders kan het zijn dat de volgende stappen mislukken.
Info
Je moet versie 9 van de .NET SDK installeren, ook als je al een andere versie geïnstalleerd voor de lessen programmeren.
Zoek vervolgens naar de Polyglot Notebooks extensie in het Extensions menu en installeer deze.

Verbinden met SQL Server
Open het nieuwe "SQL Server" tabblad in VS Code via de icoon aan de linkerkant. Druk op "+ New Connection", geef onderstaande gegevens in en druk op Connect.

| Instelling | Waarde |
|---|---|
| Profile Name | SQL Server (Docker) |
| Server name | localhost,1433 |
| Trust server certificate | true |
| Authentication type | SQL Login |
| User name | sa |
| Password | Pass.Word |
Database aanmaken
Om de oefeningen te kunnen maken, moet je een database aanmaken die Databases noemt.
Info
Het is belangrijk dat je exact deze naam gebruikt, doe je dit niet, dan zal je elke notebook, voor elke oefening, moeten aanpassen.
Onderstaande vide demonstreert hoe je de database moet aanmaken, het commando dat in onderstaande video gebruikt wordt is:
CREATE DATABASE Databases;Connectie-instellingen aanpassen
Nu de nieuwe database aangemaakt is, kunnen we de connectie-instellingen aanpassen zodat de nieuwe database automatisch geselecteerd wordt.
Hiervoor ga je opnieuw naar het "SQL Server" tabblad in VS Code en selecteer je "Edit Connection" via het contextmenu (rechter-klik-menu).

Vervolgens gebruik je dezelfde instellingen als daarjuist, maar vul je ook het "Database name" veld in. Vervolgens druk je op Connect om de wijzigingen te bewaren.

| Instelling | Waarde |
|---|---|
| Profile Name | SQL Server (Docker) |
| Server name | localhost,1433 |
| Trust server certificate | true |
| Authentication type | SQL Login |
| User name | sa |
| Password | Pass.Word |
| Database name | Databases |
Instellingen controleren
Configuratietest
Download bovenstaande configuratietest, open de gedownloade file in VS Code en voer alle cellen uit. Als je alles correct geïnstalleerd hebt, zou je geen fouten mogen krijgen en moet je na de laatste cel de boodschap "CONFIGURATIETEST GESLAAGD" te zien krijgen.
Onderstaande video toont de verwachte uitvoer. Let op, de eerste cel zal bij jouw langer duren omdat er nog dingen gedownload moeten worden die al beschikbaar waren op de machine waarop de video opgenomen is.
Scripts uitvoeren
Door de lessen heen moet je verschillende keren een script uitvoeren om de nodige tabellen en data aan te maken in je database. Download alvast onderstaand SQL-script dat de tabellen aanmaakt waarmee de theorie uitgelegd wordt.
Tennis script
Volg vervolgens de instructies in onderstaande video om het script uit te voeren. Controleer ook of de tabellen aangemaakt werden in de database "Databases" (zoals te zien in de video).