Week 1 ยท Les A

Databases & SQL Introductie

Wat is een database, hoe werkt een RDBMS, en waarom gebruiken we SQL als Data Scientist?

Databases

Een database is een gestructureerde verzameling tabellen met data. We werken met een RDBMS โ€” een Relational Database Management System.

Kenmerken van een RDBMS:

Modellen ๐Ÿ”‘ Model Lengte Breedte Motor Kleuren Verkopen Jaar Maand ๐Ÿ”‘ Land ๐Ÿ”‘ Model Omzet Land ๐Ÿ”‘ Land Aantal vestigingen Munteenheid Aantal medewerkers Model Land Relational Database Management System Tabellen zijn gekoppeld via gedeelde velden (๐Ÿ”‘ = relatie-sleutel)
RDBMS: Drie gerelateerde tabellen met gedeelde sleutelvelden
  • Een verzameling van tabellen
  • Elke tabel heeft velden (kolommen) en records (rijen)
  • Er bestaan relaties tussen de tabellen โ€” bijvoorbeeld: het merk van een auto komt zowel bij verkoopcijfers als bij autodetails voor

RDBMS is de standaard manier om data in databases op te slaan.

Database structuur

Een database bevat tabellen die aan elkaar gerelateerd zijn. Neem het voorbeeld van een autodatabase:

  • Modellen โ€” Model, Lengte, Breedte, Motor, Kleuren
  • Verkopen โ€” Jaar, Maand, Land, Model, Omzet
  • Land โ€” Land, Aantal vestigingen, Munteenheid, Aantal medewerkers

De tabellen zijn gekoppeld via gedeelde velden (zoals "Model" of "Land"). Dit voorkomt dubbele data-opslag.

ICT Beheerder vs. Data Scientist

Een ICT Beheerder wil data opgesplitst in kleine, genormaliseerde tabellen om opslagruimte te besparen:

  • Tabel Verkopen: 5 velden ร— 10.000 regels = 50.000 waarden
  • Tabel Modellen: 5 velden ร— 50 regels = 250 waarden
  • Totaal: 60.250 waarden

Een Data Scientist wil bij voorkeur รฉรฉn platte tabel met alle relevante data bij elkaar:

  • 9 velden ร— 10.000 regels = 90.000 waarden

Met SQL halen we als Data Scientist de data op de manier die wij nodig hebben.

Database structuren

Er bestaan verschillende database structuren:

  • Hierarchical โ€” boomstructuur (parent-child)
  • Network โ€” meer flexibele verbindingen
  • Relational โ€” tabellen met relaties (dit gebruiken wij)

SQL

We willen data uit een database naar voren halen. Dit doen we met Structured Query Language (SQL).

SQL is een verzamelnaam voor verschillende subtalen: PSQL, NoSQL, SSP, MySQL, en meer.

Wat kan je met SQL?

  1. Data selecteren uit een database โ€” dit is voor een Data Scientist het belangrijkst
  2. Data in een database wijzigen
  3. Nieuwe databases en tabellen aanmaken
  4. Standaard volgorde van bewerkingen klaarzetten
  5. Rechten op een database regelen

Punt 2 t/m 5 zijn meer voor specialisten (BDM).

SQL vs Python

  • SQL is alleen voor het ophalen van data uit databases
  • Python kan overal voor gebruikt worden
  • SQL is makkelijker
  • Python is flexibeler

Queries

Een query is een verzameling commando's die aan een database gegeven worden. De term wordt ook gebruikt bij zoekmachines en API's.

Wij gebruiken SQL om queries te schrijven. Queries moeten handmatig worden uitgevoerd.

Kernpunten Les A
  • Een RDBMS slaat data op in gerelateerde tabellen met velden en records
  • SQL staat voor Structured Query Language en is specifiek voor database-interactie
  • Als Data Scientist gebruik je SQL vooral om data te selecteren
  • SQL is eenvoudiger dan Python voor data ophalen, maar Python is flexibeler