InfoNu.nl > Pc en Internet > Diversen > Rationele databases

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 - 2019 Judogirl, het auteursrecht (tenzij anders vermeld) van dit artikel ligt bij de infoteur. Zonder toestemming van de infoteur is vermenigvuldiging verboden.
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…
Access BeginnersAccess BeginnersMet Microsoft Office Access 2007 kunt u gemakkelijk en professioneel een database maken. Het is natuurlijk een noodzaak…
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…
Verwerken van informatieInformatie komt van alle kanten in steeds grotere hoeveelheden op ons af. Omdat we niet alles nodig hebben maken we een…
MySQL Hosting. Waar moet je opletten?MySQL Hosting. Waar moet je opletten?Wil je MySQL gebruiken in je hosting omgeving? MySQL is een heavy-duty database server. Het wordt gebruikt in combinatie…

Reageer op het artikel "Rationele databases"

Plaats als eerste een reactie, vraag of opmerking bij dit artikel. Reacties moeten voldoen aan de huisregels van InfoNu.
Meld mij aan voor de tweewekelijkse InfoNu nieuwsbrief
Ik ga akkoord met de privacyverklaring en ben bekend met de inhoud hiervan
Infoteur: Judogirl
Gepubliceerd: 24-01-2009
Rubriek: Pc en Internet
Subrubriek: Diversen
Schrijf mee!