PARTNERGEMEENTE (naaml, naam2, (PARTNERGEMEENTE.naaml gl.naam) And worden gespecificeerd. Vervolgens wordt ingegaan op die delen van de taal, die te maken hebben met grafische weergave van ruimtelijke gegevens; hier wordt de Graphi cal Presentation Language (GPL) beschreven. De syntax en semantiek van kenmerkende delen van beide uit breidingen worden nader verklaard. Tenslotte wordt inge gaan op belangrijke aspecten van de interactie tussen de gebruiker en de vraagtaal. Schets van het relationele gegevensmodel en SQL De taal om de inhoud van een gegevensbank te beschrij ven en er vragen over te stellen, noemen we een ge gevensmodel (Engels: data model). In dit artikel beper ken we ons tot het relationele gegevensmodel. In een relationele gegevensbank worden objecten van een zelfde soort gegroepeerd in verzamelingen die relaties worden genoemd. Elk object op zich wordt beschreven met een aantal kenmerken van een bepaald type. Ken merken worden aangeduid met de term attribuut. Zo kan de relatie (lees: verzameling) van gemeenten worden weergegeven met de volgende beschrijving: GEMEENTE (naam, inwonertal, oppervlakte) Deze relatie heet GEMEENTE en bezit drie attributen, waarvan inwonertal en oppervlakte door integers en naam door een karakterstring worden gerepresenteerd. Binnen de relatie GEMEENTE is het attribuut naam een sleutel (Engels: key), hetgeen wil zeggen dat een naam uniek is in de gehele relatie. Voorlopig bevat de relatie GEMEENTE gegevens van maar drie gemeenten. In tabelvorm ziet de fictieve inhoud van GEMEENTE er uit als: Ook verbanden tussen objecten worden weergegeven in relaties. Deze verbanden worden gelegd, doordat de sleutel van een relatie wordt opgenomen in een andere relatie. Zo zal naast een relatie GEMEENTE een relatie PARTNERGEMEENTE kunnen bestaan met de vol gende beschrijving: datum_verband) In deze relatie verwijst elke naam naar de gegevens van een gemeente in de relatie GEMEENTE. Met deze relatie wordt nu het partnerverband gemodelleerd, dat door twee gemeenten op een bepaalde datum is aangegaan. Een voorbeeldtabel met daarin fictieve gegevens over part nergemeenten is: SQL is één van de vele implementaties van het relatio nele gegevensmodel. Het bestaat globaal uit twee delen een Data Definition Language (DDL) en een Data Mani pulation Language (DML). De DDL wordt gebruikt om beschrijvingen van de afzonderlijke relaties in te voeren. We gaan niet verder in op deze DDL. De DML bevat ten eerste commando's om gegevens in te voeren en te wijzi gen in de verschillende relaties. Daarnaast bevat de DML taalconstructies waarmee vragen kunnen worden gesteld aan de gegevensbank. De term vraagtaal duidt op dit deel van de DML. Een vraag wordt gespecificeerd met een Select from where constructie. Het volgende voorbeeld van een SQL-vraag specificeert dat we namen van die gemeenten zoeken met meer dan 70 000 inwoners, die niet groter zijn dan 90 vierkante kilometer. Select naam From GEMEENTE Where (inwonertal 50 000) And (oppervlakte 90) Het Select deel van de vraag geeft aan in welke attributen we geïnteresseerd zijn. In het From deel geven we aan uit welke relatie deze attributen moeten worden gehaald. Het Where deel geeft met een predikaat aan welke ge gevens we precies willen opvragen. Als we uitgaan van de relatie GEMEENTE die de eerder genoemde drie ge meenten beschrijft, is het antwoord op deze vraag een verzameling gemeentenamen die er in tabelvorm uitziet als: naam Enschede Een iets ingewikkelder voorbeeld van een vraag is: Select g1 .naam, g2.naam From GEMEENTE g1, GEMEENTE g2, PARTNERGEMEENTE Where (PARTNERGEMEENTE.naam2 g2.naam) And (g1.inwonertal g2.inwonertal 350 000) Met deze vraag geven we aan de namen van al die partnergemeenten te willen weten, die samen meer dan 350 000 inwoners hebben. In deze vraag zijn g1 en g2 willekeurige gemeenten uit de relatie GEMEENTE, die gebonden zijn door een partnerverband (zie de eerste twee regels van het Where deel). Bovendien moet gelden dat de som van het inwonertal van beide gemeenten groter is dan 350 000. In tabelvorm geeft deze vraag het antwoord gl.naam g2.naam Enschede Maastricht In fig. 1 worden beide vragen gesteld in de relationele vraagtaal SQL*Plus. Binnen een SQL-vraag kunnen verschillende operatoren worden gebruikt. We noemen zonder verdere uitleg de volgende classificatie en verwijzen voor meer informatie naar zowel [1] als [2], SQL-operatoren zijn: vergelijking: en logisch And, Or, Not; statistisch Min, Max, Count, Sum en Average. naam inwonertal oppervlakte Enschede 160 000 75 Maastricht 230 000 100 Heerenveen 40 000 30 naaml naam2 datum__verband Maastricht Enschede 10 feb 1952 Enschede Heerenveen 30 aug 1985 126 NGT GEODESIA 94 - 3

Digitale Tijdschriftenarchief Stichting De Hollandse Cirkel en Geo Informatie Nederland

(NGT) Geodesia | 1994 | | pagina 14