Definitie: Een database is een georganiseerde verzameling gegevens die zo is opgeslagen dat software er snel en betrouwbaar gegevens in kan opslaan, opzoeken, wijzigen en verwijderen. De database wordt beheerd door een databasemanagementsysteem (DBMS), zoals MySQL, PostgreSQL of Microsoft SQL Server, dat ook toegang, consistentie en back-ups regelt.

In het kort

  • Bijna elke applicatie gebruikt een database: voor klanten, bestellingen, afspraken, documenten en instellingen.
  • De meest gebruikte vorm is de relationele database, met tabellen, rijen en kolommen, die je bevraagt met de taal SQL.
  • Daarnaast zijn er NoSQL-databases, zoals document-, key-value- en grafdatabases, voor specifieke toepassingen.
  • Een goede structuur van de database bepaalt voor een groot deel hoe betrouwbaar en uitbreidbaar een applicatie is.

Wat is een database?

Een database is de plek waar een applicatie haar gegevens bewaart. Als je in een webshop inlogt, haalt de webshop je account uit een database. Plaats je een bestelling, dan schrijft de webshop die bestelling in de database. Een medewerker die de bestelling later inpakt, ziet dezelfde gegevens.

Microsoft Azure omschrijft een database als een gestructureerd systeem voor het opslaan, beheren en ophalen van gegevens. Het verschil met een los bestand of een spreadsheet zit in die structuur en in de regels eromheen. Een database weet welke gegevens bij elkaar horen, controleert of nieuwe gegevens kloppen en zorgt dat meerdere gebruikers tegelijk kunnen werken zonder elkaars wijzigingen te overschrijven.

Je werkt meestal niet direct met de database zelf. De applicatie zit ertussen: jij vult een formulier in, de applicatie controleert de invoer en slaat die op. Het DBMS regelt de opslag, de toegang, de snelheid en het herstel na een storing.

Hoe is een database opgebouwd?

Een relationele database bestaat uit een paar vaste bouwstenen:

Onderdeel Wat het is Voorbeeld
Tabel Een verzameling gegevens over één soort ding Klanten, offertes, producten
Rij of record Eén ding in die tabel De klant Jansen BV
Kolom of veld Eén eigenschap van elk record Naam, e-mailadres, plaats
Primaire sleutel Een uniek nummer per record Klantnummer 1045
Vreemde sleutel Een verwijzing naar een record in een andere tabel Een offerte verwijst naar klantnummer 1045
Index Een hulpmiddel om snel te zoeken Een index op e-mailadres

De kracht zit in de relaties. In plaats van bij elke offerte opnieuw de naam en het adres van de klant op te slaan, verwijst de offerte naar het klantrecord. Wijzigt het adres, dan pas je het op één plek aan.

Gegevens bewerken gaat via vier basishandelingen, samen bekend als CRUD: aanmaken (create), lezen (read), wijzigen (update) en verwijderen (delete).

Waar komt de database vandaan?

Volgens Guru99 bouwde Charles Bachman in de jaren zestig bij General Electric een van de eerste databasesystemen. In 1970 publiceerde Edgar F. Codd van IBM het relationele model, de basis voor de tabellen en relaties die we nu nog gebruiken. In de jaren tachtig werd SQL de standaardtaal voor relationele databases. Rond 2009 werd de term NoSQL populair voor databases die anders werken dan het relationele model.

Welke soorten databases zijn er?

Soort Kenmerk Voorbeelden
Relationeel (SQL) Tabellen met vaste kolommen en relaties MySQL, PostgreSQL, Microsoft SQL Server, SQLite
Document Gegevens als flexibele documenten, vaak in JSON MongoDB, Couchbase
Key-value Eenvoudige combinaties van sleutel en waarde, zeer snel Redis
Graf Gegevens als knooppunten en verbindingen Neo4j
Tijdreeks Metingen in de tijd Databases voor sensoren en monitoring
Vector Opslag van embeddings voor zoeken op betekenis pgvector, Pinecone

Voor de meeste zakelijke applicaties is een relationele database de logische keuze. Klanten, opdrachten, facturen en medewerkers hebben duidelijke relaties met elkaar, en een relationele database bewaakt die relaties. Andere soorten worden vaak naast een relationele database gebruikt, bijvoorbeeld een key-value-opslag voor snelheid of een vectordatabase voor AI-toepassingen.

Voorbeelden van databases in de praktijk

  • Webshop. Producten, voorraad, klanten, bestellingen en betalingen.
  • CRM. Contacten, bedrijven, leads, offertes en vervolgacties.
  • Planningssysteem. Medewerkers, opdrachten, locaties en tijdvakken.
  • Klantportaal. Klantaccounts, documenten, tickets en berichten.
  • Boekhouding. Facturen, betalingen, grootboekrekeningen en btw-codes.
  • Rekentool. Productgegevens, invoerwaarden, uitkomsten en opgeslagen berekeningen.

Wat is het verschil tussen een database en Excel?

Spreadsheet Database
Gebruik Een persoon of klein team Veel gebruikers en applicaties tegelijk
Structuur Vrij, iedereen kan alles typen Vaste velden met regels voor wat geldig is
Relaties Lastig, vaak met kopieën van gegevens Ingebouwd via sleutels
Hoeveelheid Wordt traag bij grote aantallen Geschikt voor miljoenen records
Rechten Per bestand Per tabel, record of handeling
Geschiedenis Beperkt Te combineren met logboeken en back-ups

Een spreadsheet is prima om te beginnen. Zodra meerdere mensen dezelfde gegevens bijwerken, er fouten ontstaan door dubbele invoer of je gegevens wilt koppelen aan andere systemen, is een database met een applicatie ervoor vaak de volgende stap.

Hoe vraag je gegevens op met SQL?

SQL (Structured Query Language) is de taal waarmee een applicatie een relationele database aanspreekt. Een opdracht leest bijna als een Engelse zin. Azure geeft als voorbeeld een opdracht die alle klanten uit een bepaald land opvraagt: kies alle gegevens uit de tabel met klanten waar het land gelijk is aan een opgegeven waarde. Met SQL kun je ook tabellen combineren, bijvoorbeeld alle open offertes met de naam van de klant erbij, en wijzigingen bundelen in een transactie. Mislukt een stap halverwege, dan wordt de hele transactie teruggedraaid, zodat de gegevens niet half bijgewerkt blijven.

Hoe ontwerp je een database?

  1. Benoem de dingen die je vastlegt, zoals klanten, opdrachten, medewerkers en documenten. Elk ding wordt een tabel.
  2. Bepaal per ding de eigenschappen, zoals naam, datum, status en bedrag. Dat worden de velden.
  3. Leg de relaties vast. Hoort een opdracht bij één klant? Kan een medewerker aan meerdere opdrachten werken?
  4. Voorkom dubbele gegevens. Sla een adres op één plek op en verwijs ernaar, in plaats van het te kopiëren.
  5. Denk aan geschiedenis. Wil je weten wie iets wanneer heeft gewijzigd, dan heb je daar velden of een logboek voor nodig.
  6. Toets met echte voorbeelden. Loop een paar echte gevallen uit je proces door en kijk of alles een plek heeft.

Waar let je op bij een database voor je applicatie?

  • Structuur vooraf. Bepaal welke dingen je wilt vastleggen en hoe ze samenhangen, voordat er gebouwd wordt.
  • Regels. Leg vast welke velden verplicht zijn en welke waarden geldig zijn.
  • Back-ups. Maak automatisch back-ups en test of terugzetten werkt.
  • Toegang. Geef gebruikers en systemen alleen toegang tot wat ze nodig hebben.
  • Persoonsgegevens. Bewaar alleen wat nodig is en weet waar de database staat.
  • Groei. Houd rekening met meer gegevens en gebruikers, bijvoorbeeld met indexen op velden waarop vaak wordt gezocht.

Wat betekent dit voor jouw project?

Voor mij begint een database bij het proces. Wat komt binnen, wie moet ermee verder en welke informatie heeft die persoon nodig? Uit die vragen volgen de tabellen en velden.

Leadooo, mijn eigen kleine CRM-app, laat zien waarom dat onderscheid telt. De app bewaart leads en offertes, met vervolgacties, een overzicht van vandaag en herinneringen. Een status vertelt waar iets staat. Een geplande actie helpt iemand bepalen wat er moet gebeuren. Dat zijn twee verschillende gegevens, en wie ze in één veld stopt, raakt overzicht kwijt.

Vraag? Werk je met spreadsheets die steeds lastiger bij te houden zijn? Stuur me welke gegevens je bijhoudt en wie ermee werkt. Dan bepalen we samen de logische eerste stap. Lees ook wat er komt kijken bij een webapplicatie bouwen.

Veelgestelde vragen over database

Wat is een database in simpele woorden?

Een database is een georganiseerde verzameling gegevens waarin software snel en betrouwbaar gegevens kan opslaan, opzoeken, wijzigen en verwijderen. Bijna elke applicatie, van webshop tot CRM, bewaart haar gegevens in een database.

Wat zijn voorbeelden van databases?

Bekende databasesystemen zijn MySQL, PostgreSQL, Microsoft SQL Server, SQLite en MongoDB. Voorbeelden van toepassingen zijn de klantgegevens in een CRM, de producten en bestellingen van een webshop en de afspraken in een planningssysteem.

Is Excel een database?

Nee, Excel is een spreadsheetprogramma. Je kunt er gegevens in bijhouden, maar het mist de vaste structuur, relaties, rechten en geschiktheid voor veel gelijktijdige gebruikers die een database biedt.

Verwante termen

Vectordatabase · Software-architectuur · Webapplicatie · API · Datamigratie · Backoffice-systeem

← Terug naar de kennisbank