400 likes | 597 Views
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
E N D
Databanken by Steven Stinis
Support • op http://inf4serv.rug.ac.be/~sstinis/AILO/vind je • slides • oefeningen • email via Steven.Stinis@rug.ac.be
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
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)
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
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?
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
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
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”))
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