Databanken by Steven Stinis
Support op http://inf4serv.rug.ac.be/~sstinis/AILO/ vind je slides oefeningen email via Steven.Stinis@rug.ac.be
Je mag (bijna) alles vragen
Doelstellingen 1. Basisbegrippen weten wat een databank is, de samenstelling van een tabel inzien weten hoe records uniek kunnen geadresseerd worden tabellen aanmaken met hun eigenschappen en validatie data toevoegen, wijzigen en verwijderen
Doelstellingen (vervolg) tabelstructuren wijzigen een overzicht van de operatoren, expressies en functies geven (verband met de programmeeromgeving) data sorteren, zoeken in een tabel 2. Opstellen van query’s zoeken op basis van vaste criteria
Nadruk op vaardigheden (skills)
1. Basisbegrippen
Wat is een databank? data bank op een zinvolle manier “gestructureerd” def: een verzameling van niet vluchtige gegevens die door toepassingen wordt aangesproken
Relationele databank de data wordt steeds voorgesteld a.h.v. tabellen de gebruiker kan m.b.v. operators tabellen omzetten naar nieuwe tabellen de verschillende tabellen worden door relaties verbonden
Voordelen compact zeer snel maakt geen fouten vermijden dubbele opslag en foutieve gegevens up-to-date informatie voor velen tegelijk toegankelijk veiligheidsregels zijn afdwingbaar op lange termijn goedkoper en correcter
Nadelen (implementatie) moeilijk vraagt veel tijd duur veel onderhoud (nooit af)
Databankonderhoud
Onderdelen van een databank tabel record / rij / groep attribuut / kolom / veld waarde cardinaliteit
Oefening: Juist of Fout? alle rijen hebben dezelfde attributen alle records van dezelfde tabel hebben dezelfde waarden minstens 1 veld is verschillend voor elke record minstens 1 record heeft voor elke kolom een waarde #waarden = #records * #attributen
Intermezzo MS Access
Motivatie best gekende meest gebruikte meest beschikbare zeer gebruiksvriendelijk (GUI) bevat SQL-view
Gebruiksklaar
Introductie database (databank) menu’s database toolbar datasheet-view (gegevensblad) design-view (ontwerpblad) Help Topics: Index the (often annoying but sometimes usefull) paperclip
Oefening: Access benoem de tabellen en geef telkens hun cardinaliteit (hoeveel records heeft elke tabel?) hoeveel attributen heeft elke tabel? hoeveel waarden zijn er?
Access: te moeilijk?
Records adresseren vereiste: records zijn uniek over een verzameling van attributen, deze attributen vormen de ... sleutel tijdelijk: geldt op die moment (toevallig) permanent: zal altijd gelden index versnelt zoekopdrachten
Oefening zoek een zinvolle sleutel voor persoonsgegevens, biblitotheek, auto, ... bepaal alle mogelijke sleutels (deze sleutels noemen we de kandidaatsleutels) zijn deze tijdelijk of permanent? kies hieruit de naar jouw mening meest geschikte permanente sleutel (deze sleutel is jouw hoofdsleutel) welke indexen lijken je zinvol?
Tabellen aanmaken Design View op het niveau van de velden: veldnamen (cfr. variabele-naam) veldtypes (cfr. datatype) veldeigenschappen (cfr. voorstelling getal) veldvalidatie (cfr. “if age < 0 then error”) op het niveau van de tabel: tabeleigenschappen tabelvalidatie
Werkwijze in Access (ontwerp) we gaan naar de “tabellenlijst” we klikken op “New” en selecteren de Design View hier kunnen we de kenmerken van onze tabel bepalen (Data Definition)
Data Manipulation data toevoegen wijzigen verwijderen
Werkwijze in Access (gegevensblad) we gaan naar de “tabellenlijst” we dubbelklikken op onze eerder ontworpen tabel (Datasheet View) hier kunnen we de inhoud van onze tabel manipuleren
Access: oefening maak zelf een tabel aan met gegevens van je klasgenoten in welke “Views” en waar in die “Views” vind je: veldnamen veldtypes veldeigenschappen veldvalidatie tabeleigenschappen tabelvalidatie
Access: oefening (vervolg) zorg voor zinvolle veldnamen zinvolle veldtypes
Als het niet echt of echt niet lukt
Tabelstructuur de tabelstructuur bepaalt de weergave, de presentatie van de tabel we kunnen deze in de Datasheet View aanpassen (o.a. m.b.v. de rechter muisknop) dit omvat o.a. het font, font grootte, font stijl de kolombreedtes, de zichtbaarheid van de kolommen, … idem voor de rijen
Operatoren, expressies en functies voor het maken van Validation Rules maken we gebruik van de “expression builder” (rechter muisknop) we kunnen er kiezen uit built-in functions constants operators user functions
Use it or lose it
Access: oefening breid de eerder gemaakte databank uit met: veldeigenschappen veldvalidatie
Sorteren, zoeken en filteren Sort (rechter muisknop) Find (Ctrl-F) Filter (rechter muisknop)
Access: oefening sorteer je tabel op voornaam zoek een persoon met als voornaam Steven (waar zit hier de adder? (de oplossing is niet “onder het gras”))
2. Opstellen van query’s
Wat is een query? een query is een zoekopdracht die inwerkt op 1 of meerdere tabellen en zijn resultaten weergeeft in een tabel, verschillende criteria kunnen meegegeven worden voor queries wordt gebruik gemaakt van de SQL-standaard vb.: SELECT naam FROM personen
Werkwijze in Access (ontwerp) a.h.v. de Design View kunnen we eenvoudig queries aanmaken SQL kennis is hiervoor niet vereist we kunnen wel eens een kijkje nemen in de SQL View, om te zien welke code we gegenereerd hebben
Zoeken op basis van vaste criteria vb.: geef alle personen die Annick heten geef de oudste persoon
Verslaafd aan computers