Computervaardigheden en Programmatie
Universiteit Antwerpen
Computervaardigheden en Programmatie
4.1
Computervaardigheden en Programmatie
4.2
Inhoud • Databank – Terminologie, Navigeren, Importeren
• Tabellen
Computervaardigheden en Programmatie
– Records/Velden manipuleren
1rste BAC Toegepaste Biologische Wetenschappen
• Queries (Vragen) [Ook in SQL] – – – – –
Hoofdstuk 4 Databank - Basis
sorteren filter volgens criteria rekenkundige bewerkingen GROUP BY CROSS-TAB • exporteren
• Oefeningen Universiteit Antwerpen
Databank - Basis
Computervaardigheden en Programmatie
4.3
Terminologie soort datum lengte
Universiteit Antwerpen
Computervaardigheden en Programmatie
Title Bar
User-Interface Layer
Navigeren door een Venster
Databank - Basis
4.4 Minimize/Maximize/ Close
Menu Bar Tool Bars
Business Logic Layer Tabel •kolomtitel = "field" (veld) •rij = "record" •sommige velden vormen sleutel ("key") ⇒ zoeken
Database Layer
join Universiteit Antwerpen
Databank - Basis
Query (Vraag) •selecteer en combineer data uit verschillende tabellen •gedraagt zich als een nieuwe tabel •programmeertaal SQL Databank - Basis
Databank • tabellen • queries • ...
Universiteit Antwerpen
Zicht op onderdeel Databank (Tabel "Observaties1")
Databank - Basis
1
Computervaardigheden en Programmatie
Universiteit Antwerpen
Computervaardigheden en Programmatie
4.5
Computervaardigheden en Programmatie
Importeren • Open Microsoft Access • >>File>>New ... – Blank Database
• Maak bestand – vleermuizen.mdb
4.6
Records Manipuleren
• Importeer Observaties1.txt • >>File>>Get External Data>> Import ...
• (1) kies rij per nummer, volgende, vorige, eerste, laatste rij • (2) kies "nieuw record"
– Analoog met Excel, maar – (1) "First Row Contains Field Names" – (2) "No primary key"
– – – –
* vul waardes in klik op potloodje: bewaren rechtsklik >> Delete Record
• Sorteer op "soort" 1 1
– Selecteer kolom "soort" – >>Records>>Sort >>Asc
2
2 Universiteit Antwerpen
• Slechts sorteren op 1 kolom !!! Databank - Basis
Computervaardigheden en Programmatie
Universiteit Antwerpen
4.7
Databank - Basis
Computervaardigheden en Programmatie
Velden Manipuleren
Basis Query (1/2)
• (1) kies "Design view" 1
– meetlat
3
• (2) maak veld "ID"
3
– Data Type "AutoNumber"
2
4.8
• Verschuif "ID" naar eerste plaats • (3) kies "Data Sheet view"
2 1
• (1) Selecteer "Queries" in het databankvenster • (2) >>Create Query in Design view • (3) of Toolbar "New"
– tabel – Wat zie je ?
• Verwijder veld ID terug – via "Design View"
Universiteit Antwerpen
Databank - Basis
Databank - Basis
Universiteit Antwerpen
Databank - Basis
2
Computervaardigheden en Programmatie
Universiteit Antwerpen
Computervaardigheden en Programmatie
4.9
Computervaardigheden en Programmatie
Basis Query (2/2) • Kies tabel (of andere "Query") waaraan je de vraag zult stellen – Observaties1 – Add / Close
4.10
Sorteren
• Dubbelklik * (=alle velden) • Bewaar Query
• Terug naar "Design view" • Verwijder veld "*"
– Observaties1Q
– selecteer kolom • (1) klik op kleine balkje
• Datasheet view
– rechtsklik >> Cut
– wat zie je ?
• voeg veld "soort", "datum", ... toe • (2) "Sort Ascending" – voor "soort" en "datum"
• Datasheet view
1 2 Universiteit Antwerpen
Databank - Basis
Computervaardigheden en Programmatie
4.11
Universiteit Antwerpen
Computervaardigheden en Programmatie
SQL (SELECT ... FROM ... ORDER BY ...)
• in "Design View" • Criterium:
– alternatief t.o.v. "Design View" en "Data Sheet View"
• SQL is standaard databank programmeertaal
– soort: "baardvleermuis"
– (1) SELECT ...: de velden die het resultaat zal bevatten – (2) ... FROM ...: de tabellen waarvan je de velden zult kiezen – (3) ...ORDER BY ...: [optioneel] om te sorteren
• In "Datasheet View" – resultaat ?
• in "Design View" • Extra criterium:
SELECT Observaties1.soort, Observaties1.datum,
– soort: Like "water*" – resultaat ? (Datasheet view)
Observaties1.spanwijdte, Observaties1.gewicht 2 FROM Observaties1
• Extra criterium: – soort: Like "*staart"
3 ORDER BY Observaties1.soort, Observaties1.datum; Universiteit Antwerpen
Databank - Basis
4.12
Query met Criteria (1/2)
• Selecteer SQL View
1
Databank - Basis
Databank - Basis
Universiteit Antwerpen
Databank - Basis
3
Computervaardigheden en Programmatie
Universiteit Antwerpen
Computervaardigheden en Programmatie
4.13
Computervaardigheden en Programmatie
SQL (vergelijkingsoperatoren, Like)
4.14
Query met Criteria (2/2)
• WHERE clausule om extra criteria op te leggen
• in "Design View" • Criteria
– normaal operatoren =, <, <=, >, >= – vb. (1) "soort" veld moet gelijk zijn aan "baardvleermuis"
– soort: Like "baard*" – spanwijdte: > 20 – resultaat ? (Datasheet view)
• LIKE "...*..." – tekst veld lijkt op gegeven tekst; * staat voor "om het even wat" – vb. (2) "soort" veld moet beginnen met "water" – vb. (3) "soort" veld moet eindigen met "staart"
• in "Design View" • extra criterium:
SELECT ... FROM ...
– spanwijdte: > 20 and <= 22 – resultaat ? (Datasheet view)
1 WHERE (((Observaties1.soort)="baardvleermuis")) OR 2 (((Observaties1.soort) Like "water*")) OR 3 (((Observaties1.soort) Like "*staart"))
ORDER BY ...; Universiteit Antwerpen
Databank - Basis
Computervaardigheden en Programmatie
4.15
SQL(Booleaanse operatoren)
Universiteit Antwerpen
Databank - Basis
Computervaardigheden en Programmatie
4.16
Query met Rekenkundige Bewerkingen (1/2)
• AND/OR/NOT als booleanse operatoren ... – x AND Y: waar als zowel X en Y waar zijn; vals als minstens één van beide vals is – x OR Y: waar als ofwel X, ofwel Y, ofwel beide waar zijn; vals als zowel X en Y vals zijn – NOT X: waar als X vals is
• vb: (1), (2), (3): baardvleermuizen, spanwijdte in ]20, 22]
• in "Design View" • (1) extra kolom resultaat: [gewicht]*[spanwijdte] – resultaat = naam van het veld – [gewicht]*[spanwijdte] = berekening voor inhoud van veld
• resultaat ? (Datasheet view)
SELECT ... FROM ... 1
1 WHERE (((Observaties1.soort) Like "baard*") AND 2 ((Observaties1.spanwijdte)>20 And 3 (Observaties1.spanwijdte)<=22))
ORDER BY ... ; Universiteit Antwerpen
Databank - Basis
Databank - Basis
Universiteit Antwerpen
Databank - Basis
4
Computervaardigheden en Programmatie
Universiteit Antwerpen
Computervaardigheden en Programmatie
4.17
SQL (rekenkundige operatoren)
Computervaardigheden en Programmatie
4.18
Query met Rekenkundige Bewerkingen (2/2)
• Expressie AS
• maak nieuwe query • >>View>>Totals of (1) druk op ∑
– Expressie is allerlei rekenkundige bewerkingen (incl. functies) – ... AS ...: definieert naam van de nieuwe veld
• 3 x veld spanwijdte – (2), (3), (4): Total: Min, Max, Avg – Veldnamen invullen – Resultaat ? (Data Sheet)
• vb: (1): vermenigvuldigt gewicht en spanwijdte en stopt dit in een nieuw veld "resultaat" 1 1 SELECT ..., [gewicht]*[spanwijdte] AS resultaat
FROM ... 2
WHERE ...
3
4
ORDER BY ...; Universiteit Antwerpen
Databank - Basis
Computervaardigheden en Programmatie
4.19
Universiteit Antwerpen
Computervaardigheden en Programmatie
SQL(rekenkundige operatoren over reeksen) • Expressie AS – Expressie is rekenkundige bewerking over reeks getallen – ... AS ...: definieert naam van de nieuwe veld
• vb: (1), (2), (3): selecteert minimum, maximum en gemiddelde spanwijdte
Databank - Basis
4.20
Group By Query • maak nieuwe query • >>View>>Totals of (1) druk op ∑
• 3 x veld spanwijdte
• veld "soort"
• criterium:
– (3) Total: Min, Max, Avg – Resultaat ? (Data Sheet) – soort - like "baard*"
– (2) Total: Group By
1 SELECT Min(Observaties1.spanwijdte) AS [Min],
1
2 Max(Observaties1.spanwijdte) AS [Max], 3 Avg(Observaties1.spanwijdte) AS [Avg]
FROM Observaties1;
2
3
4 Universiteit Antwerpen
Databank - Basis
Databank - Basis
Universiteit Antwerpen
Databank - Basis
5
Computervaardigheden en Programmatie
Universiteit Antwerpen
Computervaardigheden en Programmatie
4.21
Computervaardigheden en Programmatie
SQL (GROUP BY ... HAVING)
4.22
Conclusie
• GROUP BY
• Databank
– selecteert eventuele categorieën van records
– Terminologie, Navigeren, Importeren
• HAVING
• Tabellen
– extra criteria op categorieën van records
– Records/Velden manipuleren
• Queries (Vragen) [Ook in SQL] – – – – –
... FROM Observaties1 1 GROUP BY Observaties1.soort 2 HAVING (((Observaties1.soort) Like "baard*"))
ORDER BY Observaties1.soort;
sorteren filter volgens criteria rekenkundige bewerkingen (ook over reeksen) GROUP BY CROSS-TAB
• Oefeningen
Universiteit Antwerpen
Databank - Basis
Computervaardigheden en Programmatie
4.23
Universiteit Antwerpen
Computervaardigheden en Programmatie
Oefening • nieuwe query – naam: AlleObservaties
• velden – – – – –
Observaties1.soort Observaties1.datum Year([datum]) AS jaar Observaties1.spanwijdte, Observaties1.gewicht
• sorteren – Observaties1.soort – Observaties1.datum
Universiteit Antwerpen
Databank - Basis
Databank - Basis
4.24
Crosstab Query
• nieuwe query
• Open "AantalPerJaar" in Design View • Definieer: "crosstab query"
– naam: AantalPerJaar – FROM AlleObservaties
• velden
(1) >>Query>>Crosstab Query
– AlleObservaties.soort – AlleObservaties.jaar – Count(AlleObservaties.jaar)
• Crosstab: – – – –
• veldnaam: Aantal
• GROUP BY – AlleObservaties.soort – AlleObservaties.jaar
Databank - Basis
Kies rij, kolom en waarde (1) soort - row heading (2) jaar - Column Heading (3) aantal - Value
• Resultaat ? (Data View)
Universiteit Antwerpen
Databank - Basis
6
Computervaardigheden en Programmatie
Computervaardigheden en Programmatie
Universiteit Antwerpen
4.25
Computervaardigheden en Programmatie
Crosstab Query Resultaat
4.26
Oefeningen • namen van alle geobserveerde vleermuissoorten ? • aantal geobserveerde vleermuissoorten ? • alle observaties van baardvleermuizen – geobserveerd in 2003 – met gewicht in [6, 8] – met spanwijdte in [20, 23]
• >>File>>Export ... • Save as type
• vorige vraag: gewicht in ]8, 10] • het gemiddeld gewicht van alle geobserveerde franjestaarten
– Microsoft Excel 97-2003 (*.xls) – of Text Files (.txt, csv, ...)
• het totaal gewicht van alle tijdens 2003 geobserveerde baardvleermuizen • Een overzicht per soort, per jaar van het totaal gewicht van alle vleermuizen van die soort die die in dit jaar zijn geobserveerd – als lijst – als crosstab query – exporteer de laatste naar excel
• vul eventuele parameters in Universiteit Antwerpen
Databank - Basis
Databank - Basis
Universiteit Antwerpen
Databank - Basis
7