Wat is SQL?
Blog Geschatte leestijd: 3 minuten

Wat is SQL?

We staan er niet vaak bij stil, maar databases zijn een fundamenteel onderdeel geworden van het leven. Zelfs in de tijd voor computers werd er al gebruik gemaakt van databases. Al was het toen nog ingewikkeld en langzaam. Databases bestonden in de vorm van kaartenbakken, papieren archieven en meer. Los van de tijd en moeite die het kostte om de juiste data te vinden, nam het ook nog eens enorm veel ruimte in beslag.
Gelukkig voor ons is het werken met databases inmiddels dankzij computers eenvoudiger, sneller en meer ruimtebesparend geworden! Met behulp van tools zoals SQL kunnen we effectief gebruik maken van deze databases.

SQL, of Structured Query Language, is een programmeertaal die specifiek ontworpen is om met databases te kunnen werken. Het is een taal die met name achter de schermen aanwezig is om het gebruik van databases voor eindgebruikers eenvoudiger te maken.

Voor de programmeur is SQL de manier om te communiceren met de database. Het kan worden gebruikt met databases van verschillende aanbieders. Bijvoorbeeld Oracle Database, Microsoft Access of MySQL. Door middel van queries is het mogelijk om data op te halen uit een database, gegevens toe te voegen, aan te passen of te verwijderen. De database zelf aan te passen of om de toegang tot de database te beheren.

SQL en alternatieve databasesystemen

Databases kunnen op meerdere manieren worden opgebouwd, maar het meest bekende (en veruit het meest gebruikte) model voor databases is het relationele model. Dit is een model waarbij data wordt opgeslagen in tabellen. Elke tabel bevat rijen en kolommen en elke rij bevat de zogenaamde records. Dit zijn groepen informatie die bij elkaar hoort. In kolommen wordt alle informatie die per record moet worden opgeslagen vastgelegd. Meerdere tabellen kunnen met elkaar worden gekoppeld door het toevoegen van kolommen die naar elkaar verwijzen, meestal met behulp van een uniek nummer, id.

Toen de ontwikkeling van SQL in de jaren ‘70 begon was het gebaseerd op relationele algebra. Het is dus niet gek dat dit samen met relationele databases een droomkoppel vormen. Naast het relationele model voor databases bestaan er echter ook nog andere modellen zoals het hiërarchische model, het netwerkmodel en het Objectgeoriënteerde model. Met het hiërarchische model en het netwerkmodel hebben we tegenwoordig niet meer te maken behalve in legacy systemen, maar het Objectgeoriënteerde model is nog wel in gebruik.

SQL queries kunnen in sommige situaties (deels) worden toegepast op andere databasesystemen, maar de functionaliteit zal nooit zo optimaal zijn als wanneer je het gebruikt met een relationele database.

SQL en SQL Server

Aan het eind van de jaren ‘80 bracht Microsoft de eerste versie van SQL Server uit. Dit is een database server die specifiek door Microsoft werd ontwikkeld voor het opslaan en verwerken van data door andere software, door middel van SQL queries. Inmiddels bestaan er meer dan tien verschillende versies van SQL Server, elk met aanpassingen die het geschikt maken voor de eigen doelgroep. De basis varianten:
• Standard: De core ervaring;
• Enterprise: Core + add-ons, tools voor SQL Server clusters. Kan databases tot maar liefst 524 petabytes (!!!) managen;
• Web: gericht op web hosting;
• Business Intelligence: Focus op self-service en Business Intelligence (BI). Bevat de Standard edition samen met vele extra BI tools;
• Express: Een minder uitgebreide gratis versie van SQL server. Gelimiteerd tot het gebruik van één processor, 1GB RAM en 10GB database bestanden.

Naast de bovengenoemde varianten zijn er ook nog een aantal gespecialiseerde edities. Enkele voorbeelden hiervan:
• Azure: De cloud-based versie van SQL Server die als PaaS wordt aangeboden op Microsoft Azure;
• Azure MPP: Cloud-based versie voor MPP (Massively Parallel Processing) architectuur;
• Developer: Hetzelfde als de Enterprise editie, maar enkel te gebruiken voor ontwikkelen en testen, niet te gebruiken in productie;
• LocalDB: Minimalistische on-demand versie voor applicatie development, kan ook voor embedded databases worden gebruikt.

Met al deze verschillende varianten van SQL Server is er dus een ruime keuze beschikbaar voor de ontwikkelaar anno 2022, of er nu lokaal wordt gewerkt of binnen de cloud.

Structured Query Language en .NET

Dat brengt ons bij de combinatie van SQL en .NET. Natuurlijk zijn er meerdere opties beschikbaar om SQL en .NET met elkaar te combineren. Microsoft SQL server is een van de meest populaire databases in combinatie met .NET apps. Het ORM systeem van Microsoft, Entity Framework, was speciaal ontworpen voor SQL server. Een Object Relational Mapper maakt het makkelijk om rijen uit de database om te zetten naar objecten en weer terug. Geen wonder dus dat het een zeer populaire combinatie is.

Meer artikelen