240 likes | 440 Views
Informatica klas 5, Hoofdstuk 10. Strokendiagram. Relationele databases. Sleutel. Vervolg. type van kolom. validatieregel. actie-queries. WBP. index. locking. Taken van een databasesysteem. Het opslaan van gegevens en het mogelijk maken van wijzigingen.
E N D
Informatica klas 5, Hoofdstuk 10 Strokendiagram Relationele databases Sleutel Vervolg type van kolom validatieregel actie-queries WBP index locking LauwersCollege Buitenpost Informatica
Taken van een databasesysteem • Het opslaan van gegevens en het mogelijk maken van wijzigingen • Het kunnen opvragen van informatie en het verwerken van informatie • Het bewaken van de integriteit (dus het voorkomen van fouten) LauwersCollege Buitenpost Informatica
Strokendiagram De tabellenstructuur wordt vaakm.b.v. een strokendiagram weergegeven • Hierin ook: • Primaire sleutels • Verwijzingen • Niet-leeg-regels Dit is een overzicht van de tabellen met * Kolommen * Sleutelvelden * Refererende sleutels Een schema waarin de tabellenals stroken verschijnen met daarin de namen van de kolommen Strokendiagram: LauwersCollege Buitenpost Informatica
Strokendiagram van Rundveeadministratie Bedrijven Koeien Tabellen Jaarprod LauwersCollege Buitenpost Informatica
(Primaire) Sleutel van een tabel Een kolom die uniek is In elke rij moet een waarde in de sleutelkolom zijn ingevuld en deze waarden zijn allemaal verschillend In het strokendiagram wordt de sleutel aangegeven met een dubbele pijl LauwersCollege Buitenpost Informatica
Candidate key Er zijn vaak verschillende mogelijkheden om een sleutel te kiezen. Dat noem je dan Kandidaatsleutels (Candidate Keys) Je kiest dan één van die kandidaatsleutels uit als de primaire sleutel (primary key) • Vaak wordt er een nummer als primaire sleutel genomen • Dan ben je er zeker van dat het uniek is • Er is gemakkelijk naar te verwijzen vanuit een andere tabel LauwersCollege Buitenpost Informatica
Verwijzing of referentie-sleutel Er is een kolom van een tabel waarin verwezen wordt naar een kolom van een andere tabel Zo’n verwijzingheet een Referentiesleutel of Foreign key In het strokendiagram wordt de referentiesleutel aangegeven met een pijl LauwersCollege Buitenpost Informatica
Referentiële integriteit Het controleren van de verwijzingen noem je hetbewaken van de referentiële integriteit Dit heeft gevolgen voor devolgordevan invullen van de database; je moet eerst de tabel bedrijven invullen, daarna de tabel koeien want als je daar het bedrijfsnr invult wordt gecontroleerd of dat voorkomt in de tabel bedrijven. LauwersCollege Buitenpost Informatica
Relaties in Access Het relatievenster in access kun je vergelijken met een strokendiagram. sleutelveld Dit geeft een 1 op veel relatie aan. Bij 1 auteur kunnen veel boeken horen en bij 1 boek kan maar één auteur horen LauwersCollege Buitenpost Informatica
Het type van een kolom Een veld kan tekst, getallen, datums, enz bevatten. Dat kun je in Access aangeven Getallen:Integer, Smallint, Real, enz. Tekst: bijv.char(15) Je hebt ook het typeDateenTime Tekst moet tussen aanhalingstekens, getallen niet (SQL: wherename=‘Piet’, wherekgmelk= 8000) LauwersCollege Buitenpost Informatica
Het type van een kolom in Access Het type kun je in Access aangeven als je rechtsklikt op de tabel, en dan kiest voor ontwerpweergave. BijGegevenstype (boven) het type invoeren, bijveldlengte of notatie(onder) kunje dat verfijnen LauwersCollege Buitenpost Informatica
De ontwerpweergave van een tabel Tekstgetallendata enz. Dit heet:een niet-leeg-regel Er bestaan 3 regels voor de waarden in een kolom: 1. Je kunt eisen dat er in een kolom beslist iets moet worden ingevuld 2. Je kunt eisen dat de waarde van een bepaald soort wordt ingevuld In een validatieregel 3. Je kunt eisen dat er uit een paar letters, cijfers of woorden kan worden gekozen. LauwersCollege Buitenpost Informatica
Validatieregel Je kunt in Access regels vastleggen waarmeeinvoer gecontro-leerdkan worden: Rechtsklik op een tabel, dan op ontwerpen Maar 1 teken! sleutelveld niet leeg! validatieregel LauwersCollege Buitenpost Informatica
Database wijzigen met SQL Opvragen van informatie gaat met Select Toevoegen van regels metInsert Wijzigen van regels metUpdate Verwijderen van regels metDelete Tabel maken metCreate Table LauwersCollege Buitenpost Informatica
SQL-queriesRundvee-administratie Er volgen nu vier voorbeelden die betrekking hebben op een database waarin de administratie van rundveehouderijen wordt bijgehouden Bedenk na elke opgave zelf wat de sql-query zal zijn, druk dan op PgDn of klik op de muis LauwersCollege Buitenpost Informatica
Strokendiagram van Rundveeadministratie Bedrijven Koeien Jaarprod LauwersCollege Buitenpost Informatica
SQL: Toevoegen met insert Er is een kalfje geboren op 05-11-2003, het koenummer wordt 1245, het nummer van de moeder is 756, van de vader 877, het nummer van het bedrijf is 2003 Insert into koeien (koenr, vader, moeder, gebdat, bedrijfsnr) Values ( 1245 , 877 , 756 , '05-11-2003' , 2003); LauwersCollege Buitenpost Informatica
SQL: Wijzigen met update Het kalfje met nr. 1245 van de vorige dia wordt verkocht, het nummer van het nieuwe bedrijf is 1765 Update koeien set bedrijfsnr = 1765 where koenr = 1245; LauwersCollege Buitenpost Informatica
SQL: Verwijderen met delete Het kalfje met nr. 1245 van de vorige dia is ziek geworden en helaas overleden. Het kan uit de database worden verwijderd. Delete from koeien where koenr = 1245; LauwersCollege Buitenpost Informatica
SQL: Nieuwe tabel met create Geef de sql-query voor het maken van de tabel Bedrijven Create table bedrijven ( bedrijfsnr integer not null, naam varchar(30) not null, adres varchar(20), postc varchar(7), plaats varchar(20), tel varchar(10), primary key (bedrijfsnr) ) LauwersCollege Buitenpost Informatica
WBP 2001: Wet Bescherming Persoonsgegevens 1 Een persoon van wie persoonsgegevens worden vastgelegd heeft recht op inzage in zijn gegevens. • 2 Een betrokkene kan correctie verzoeken in drie gevallen: • de gegevens zijn onjuist; • bepaalde gegevens zijn niet ter zake dienend; • de persoonsgegevens worden anders gebruikt dan bedoeld 3 Het verstrekken van persoonsgegevens aan anderen moet verenigbaar moet zijn met het doel LauwersCollege Buitenpost Informatica
Index Als er een index op een kolom gemaakt is kan er veel sneller worden gezocht in die kolom Er kan dan binair gezocht worden, het halverings-algoritme kan gebruikt worden Als er bijvoorbeeld 1000 records zijn moeten er maximaal 10 bekeken worden als er iets gezocht moet worden, omdat 210 > 1000 is LauwersCollege Buitenpost Informatica
Locking Bij grote databases moet je er rekening mee houden dat twee personen tegelijk iets willen veranderen.Dat heet concurrency, je hebt dan concurrente processen Er wordt gebruik gemaakt van locking: de toegang tot het record, waar iets mee gebeurt, wordt geblokkeerd. Bij de SQL-opdracht commit wordt ervoor gezorgd dat een transactie werkelijk word uitgevoerd.Bij een storing kan de database hersteld worden m.b.v. de opdracht rollback; alle onvolledige transacties worden dan teruggedraaid Einde Ook deadlocks moeten worden voorkomen LauwersCollege Buitenpost Informatica