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:
- 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?
- Data selecteren uit een database โ dit is voor een Data Scientist het belangrijkst
- Data in een database wijzigen
- Nieuwe databases en tabellen aanmaken
- Standaard volgorde van bewerkingen klaarzetten
- 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.
- 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