Rationele databases

Rationele databases Een database of gegevensbank is een verzameling van gegevens. Hiervan wordt bijvoorbeeld gebruik gemaakt bij de leerlingenadministratie op een school. Vroeger werd dit zonder een computer gedaan. Er waren dan kaartenbakjes met op elk kaartje de naam, het adres en het telefoonnummer van een leerling. Nu wordt dat met een geautomatiseerd systeem op de computer gedaan. Zo'n programma schrijven kost tijd, maar daarna kost het veel minder tijd om er gegevens in te zetten of uit op te zoeken.

Structuur in informatie: naar een relationele database

Een DataBase Management System (DBMS, in het Nederlands: Gegevensbankbeheersysteem) is een standaardsoftware om gegevensbanken te maken en te beheren. Zonder een DBMS kun je niets met een database. Voorbeelden van DBMS'en zijn FileMaker en Microsoft Access.

Een databasesysteem heeft drie belangrijke taken:
  1. Het opslaan van gegevens en het mogelijk maken van wijzigingen van deze gegevens.
  2. Het bieden van mogelijkheden voor het opvragen en verwerken van informatie.
  3. Het voorkomen van fouten in de database (geboortedata in de toekomst, dubbele invoer van dezelfde gegevens).

Het controleren of de ingevoerde gegevens aan een aantal regels voldoet, noemen we het bewaken van de integriteit van de database.

Bij grotere databases is het relationele model een goede manier om goed georganiseerd te zijn. Hiermee komen de gegevens in tabellen. DBMS'en die werken volgens het relationele model noemen we Relational DataBase Management Systems (RDBMS). Een RDBMS noemen we ook wel een relationele gegevensbank.

In het relationele model wordt een taal gebruikt waarmee je de database benaderd. Deze taal wordt gebruikt om informatie uit de database te halen, maar ook wel om de database bij te werken en het gebruik te regelen. Deze vraagtaal noemen we Structured Query Language (SQL, of Gestructureerde Vraagtaal. Met behulp van SQL kun je onder anderen fouten in de database voorkomen.

Een eerste SQL-query

Een SQL-query heeft een vaste structuur. Je moet aangeven over welke tabel het gaat en welke kolommen en rijen je te zien wilt krijgen. De basisstructuur van de meest eenvoudige query is:
SELECT <een of meer kollommen>
FROM <een of andere tabel>
Ingevuld ziet deze er dan bijvoorbeeld zo uit:
SELECT VOORNAAM, ACHTERNAAM, KLAS
FROM LEERLINGEN
Om alle kollommen uit een tabel te zien, vul je na SELECT een sterretje (*) in.

Je kunt een tabel ook laten sorteren door er ORDER BY aan toe te voegen:
SELECT VOORNAAM, ACHTERNAAM, KLAS
FROM LEERLINGEN
ORDER BY KLAS, ACHTERNAAM
Hierbij wordt er oplopend eerst gesorteerd op klas en daarna op achternaam (van 0 t/m 9, dan van A t/m Z en dan van a t/m z). Je kunt er ook voor kiezen om aflopend te sorteren. Daarvoor moet je achter ORDER BY ... DESC in voeren. DESC staat voor descending (aflopend) en ASC staat voor ascending (oplopend).

Als je wilt weten uit welke plaatsen de leerlingen komen, maar niet van elke plaats een aantal weergaves wilt hebben, dan kun je achter SELECT het woord DISTINCT toevoegen, met daarachter bijvoorbeeld PLAATS. Zo worden er geen dubbele rijen weergegeven.

Voorwaarden in een SQL-query

Je kunt ook query's maken die een extra eis aan de rijen stelt. Dus alleen de rijen die voldoen aan de eisen, wordt weergegeven:
SELECT VOORNAAM, ACHTERNAAM, KLAS
FROM LEERLINGEN
WHERE PLAATS = 'ROTTERDAM'
Er worden nu alleen leerlingen uit Rotterdam laten zien.

Als iets niet precies weet, zoals iemands voornaam, dan kan je ipv het '='-teken achter WHERE het woord LIKE zetten. Je kunt dan de volgende query's maken:
SELECT VOORNAAM, ACHTERNAAM, KLAS
FROM LEERLINGEN
WHERE VOORNAAM LIKE 'KIMBERL%'
Hierbij worden alle namen gevonden die beginnen met KIMBERL.
SELECT VOORNAAM, ACHTERNAAM, KLAS
FROM LEERLINGEN
WHERE VOORNAAM LIKE '_IM'
Hierbij worden alle namen gevonden die uit drie letters bestaan en IM als laatste twee letters heeft.

= en LIKE noemen we operatoren. Ze werken allemaal op basis van een getalwaarde.

Samengestelde voorwaarden in een SQL-query

Om minder zoekresultaten te krijgen, kun je meerdere zoekvoorwaarden in de SQL-query invullen. Bijvoorbeeld:
SELECT *
FROM LEERLINGEN
WHERE VOORNAAM = 'Jan'
AND TOEVOEGSEL IS NULL
AND ACHTERNAAM = 'Jansen'
'TOEVOEGSEL IS NULL' geeft aan dat er geen tussenvoegsel mag zijn. Het sterretje achter SELECT geeft aan dat je alles wilt selecteren van de gevonden resultaten. Het woord 'AND' geeft aan dat het aan al deze voorwaarden moet voldoen. Je kunt in plaats van And ook OR invullen. Dan worden de resultaten gevonden die aan één of meer van deze voorwaarden voldoet.

Om fouten te helpen voorkomen kun je ook haakjes zetten om de voorwaarden. Als je bijvoorbeeld een meisje zoekt die in Utrecht of Rotterdam woont, kun je de SQL-query zo maken:
SELECT *
FROM LEERLINGEN
WHERE GESLACHT = 'v'
AND ( PLAATS = 'Utrecht'
OR ( PLAATS ='Rotterdam' ) )

Functies in een SQL-query

Je kunt met SQL ook tellen, bijvoorbeeld het aantal leerlingen in een klas:
SELECT COUNT(*)
FROM LEERLINGEN
WHERE KLAS = 'W3Z1'
Hierbij wordt het aantal rijen in de tabel geteld.

Je kunt ook nog anders tellen, bijvoorbeeld:
  • SUM(kolomnaam), hierbij worden de getallen in de kolom opgeteld (alleen getallen).
  • MAX(kolomnaam) levert de grootste waarde in de kolom (woorden en getallen).
  • MIN(kolomnaam) levert de kleinste waarde in de kolom (woorden en getallen).
  • AVG(kolomnaam) berekent het gemiddelde van de getallen in de kolom.

Om resultaten weer te geven per groep, kun je een extra regel in de SQL toevoegen:
GROUP BY(kolomnaam)
© 2009 - 2024 Judogirl, het auteursrecht van dit artikel ligt bij de infoteur. Zonder toestemming is vermenigvuldiging verboden. Per 2021 gaat InfoNu verder als archief, artikelen worden nog maar beperkt geactualiseerd.
Gerelateerde artikelen
SQL-query’s via verborgen knop in Microsoft AccessSQL-query’s via verborgen knop in Microsoft AccessSQL toepassen via Microsoft Access, ja dat kan, maar zit die verborgen knop dan eigenlijk? Doe nu ervaring op met je eer…
Database voor je cd’s makenDatabase voor je cd’s makenEen database voor je cd’s maken kan handig zijn, omdat je dan precies weet welke cd’s je hebt. Er zijn verschillende man…
Werken met OfficeWerken met OfficeIedereen kent het programma Office, en ook heel veel mensen gebruik het programma thuis, op school of op het werk. Offic…
DatabasemanagementsystemenEen database of gegevensbank is een verzameling van gegevens. Een goede manier om een database te organiseren is het rel…

Gratis spelletjes / retro-games op het internet / DiggerGratis spelletjes / retro-games op het internet / DiggerGratis speletjes en retro-gaming op internet - Retro-gaming is het spelen van oude(re) computerspellen en videogames. De…
Internet, hoe afhankelijk zijn we er van?Internet, hoe afhankelijk zijn we er van?We communiceren er mee,zowel schriftelijk als verbaal (skype), we doen er boodschappen mee, we bestellen er mee, we spel…
Judogirl (64 artikelen)
Gepubliceerd: 24-01-2009
Rubriek: Pc en Internet
Subrubriek: Diversen
Per 2021 gaat InfoNu verder als archief. Het grote aanbod van artikelen blijft beschikbaar maar er worden geen nieuwe artikelen meer gepubliceerd en nog maar beperkt geactualiseerd, daardoor kunnen artikelen op bepaalde punten verouderd zijn. Reacties plaatsen bij artikelen is niet meer mogelijk.