Het ontwerpen van een query

Bespreek het databaseprogramma
RPG
Berichten: 4667
Lid geworden op: wo apr 15, 2009 1:01 am
Locatie: Apeldoorn, Nederland

Het ontwerpen van een query

Bericht door RPG »

Database programma's werken in het algemeen met tabellen. De veranderende lengte van zulke tabellen word door het programma zelf bijgehouden, dit in tegenstelling tot werkbladen waar zelf vaak de veranderende lengte bijgehouden moet worden.

Het is vaak zo dat de gevraagde gegevens niet in een enkele stap uit de bron tabellen gehaald kunnen worden. Vaak moeten er allerlei tussenstappen gemaakt worden. Bij een database is het resultaat van deze tussenstap vaak opnieuw een tabel die ook een naam kan hebben. In OpenOffice-base kan zo'n tussenstap een query zijn maar ook een View. Eigenlijk is het verschil tussen een query en een View niet zo groot. Een query is een onderdeel van OpenOffice-Base de View is een onderdeel van het databaseprogramma in het algemeen is dit vaak HSQLDB. Aangezien de View een onderdeel is van HSQLDB kunnen ook al de mogelijkheden van HSQLDB gebruikt worden maar moet het geheel vaak zelf in tekst geschreven worden.

Het maken van een query
Voor de meesten onder ons is het maken van een query in de Grafische gebruiker(User) Interface ,GUI, wel het gemakkelijkst. Met goed gemaakte tabellen is meestal al het gevraagde aan te klikken. Om de gevraagde antwoorden uit de gegevens te krijgen is het volgende belangrijk:
  • Goede gedefinieerde tabellen met gegevens
  • Een goed gedefinieerde vraag aan deze gegevens.
  • Kennis van de mogelijkheden die de databases geven.
  • Kennis van hoe de mogelijkheden te bereiken in OpenOffice.
OpenOffice biedt de mogelijkheid om de gegevens per onderwerp te groeperen en op de groepeerde velden een andere bewerking toe te passen. Dit staat allemaal onder de noemer functies. Hierbij is het belangrijk dat eerst het gegroepeerde veld staat en daarna pas de andere velden waarop een bewerking gedaan wordt.
Een gemaakt query kan opgeslagen worden en later opnieuw gebruikt worden in een andere query.

Kleine tabellen
Voor het volgende is het verstandig om te beginnen met kleine tabellen, kleine tabellen ten aanzien van kolommen en rijen. De tabellen waarmee geoefend wordt kunnen echt klein zijn of klein gemaakt worden door filteren zodat maar weinig gezien wordt. Het voordeel van kleine tabellen is dat veranderingen snel gezien worden.
Een andere reden voor kleine tabellen tijdens testen is dat een cross join met een grote tabel soms wel een uur kan duren voordat OpenOffice het reusltaat kan tonen.

Relaties in tabellen.
Bij het maken van een database is het mogelijk om relaties te definieren. Het databaseprogramma houdt de eisen die gesteld zijn in dat programma goed bij. Bij het maken van een query worden deze relaties ook automatisch weergegeven. Het is niet noodzakelijk om die relatie in een query te handhaven en het kan zijn dat we een andere relatie in een query willen hebben. De gedefinieerde relatie tijdens het ontwerpen van een database heeft een ander doel dan de relatie voor query ontwerp. Kijk maar eens goed wat er staat wanneer er gekozen wordt voor het type van de relatie en probeer dat ook maar eens uit op kleine tabellen. Ook moet gekozen worden op velden die een onderlinge relatie moeten hebben. Het is belangrijk om te lezen en ook te zien wat het verschil in resultaat is tussen inner join, left outer join, right outer join en cross join.

Relatie in tabellen en filteren van tabellen
Je ziet dat een relatie werkt op twee of meerdere tabellen en het resultaat op die manier getoond wordt. Filteren heeft betrekking op een enkele tabel. Wanneer gefilterd wordt is afhankelijk van het beoogde doel.

Maak een query en van de query een view
Het maken van een query in de GUI is gemakkelijker dan alle opdrachten zelf in typen. Het is mij opgevallen dat een goed gemaakte complexe query niet goed werkt wanneer ik achteraf deze query wil filteren. Dan biedt OpenOffice gelukkig de mogelijkheid om deze query om te vormen tot een View. Dan wordt er meer gebruikt gemaakt van de mogelijkheden van HSQLDB en werkt het goed.

Weergave=View
menu--> Bewerken --> Maken als Weergave
Wanneer de queries getoond worden op naam

Ik gebruik vaak de rechter muisknop terwijl ik op de query klik en dan kies voor "Create as View"
Ik heb Apache Office 4.2 ook op mijn computer staan en blijkbaar is de vertaling nog niet volledig
LibreOffice 7.4.3.2 op openSUSE Leap 15.4