Presentatie H10

advertisement
LauwersCollege Buitenpost
Informatica klas 5, Hoofdstuk 10
Strokendiagram
Relationele databases
Sleutel
type van kolom
Vervolg
validatieregel
actie-queries
WBP
index
locking
LauwersCollege Buitenpost
Informatica
LauwersCollege Buitenpost
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
LauwersCollege Buitenpost
Strokendiagram
De tabellenstructuur wordt vaak
m.b.v. een strokendiagram weergegeven
Dit is een overzicht van de tabellen met
Hierin ook:
•Primaire sleutels
•Verwijzingen
•Niet-leeg-regels
* Kolommen
* Sleutelvelden
* Refererende sleutels
Strokendiagram:
LauwersCollege Buitenpost
Een schema waarin de tabellen
als stroken verschijnen met daarin
de namen van de kolommen
Informatica
LauwersCollege Buitenpost
Strokendiagram van Rundveeadministratie
Bedrijven
bedrijfsnr naam adres postc plaats tel
Koeien
koenr vader moeder gebdat bedrijfsnr
Tabellen
Jaarprod
koenr jaar kgmelk vetgeh eiwitgeh
LauwersCollege Buitenpost
Informatica
LauwersCollege Buitenpost
(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
bedrijfsnr naam adres postc plaats tel
koenr jaar kgmelk vetgeh eiwitgeh
LauwersCollege Buitenpost
Informatica
LauwersCollege Buitenpost
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
LauwersCollege Buitenpost
Verwijzing of referentie-sleutel
Er is een kolom van een tabel waarin verwezen wordt naar
een kolom van een andere tabel
Zo’n verwijzing heet een Referentiesleutel of Foreign key
In het strokendiagram wordt de referentiesleutel
aangegeven met een pijl
bedrijfsnr naam adres postc plaats tel
koenr vader moeder gebdat bedrijfsnr
LauwersCollege Buitenpost
Informatica
LauwersCollege Buitenpost
Referentiële integriteit
Het controleren van de verwijzingen noem je het bewaken van
de referentiële integriteit
Dit heeft gevolgen voor de volgorde van 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.
bedrijfsnr naam adres postc plaats tel
koenr vader moeder gebdat bedrijfsnr
LauwersCollege Buitenpost
Informatica
LauwersCollege Buitenpost
Relaties in Access
sleutelveld
Dit geeft een 1
op veel relatie
aan.
LauwersCollege Buitenpost
Het relatievenster in
access kun je vergelijken
met een strokendiagram.
Bij 1 auteur kunnen veel boeken
horen en bij 1 boek kan maar
één auteur horen
Informatica
LauwersCollege Buitenpost
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 type Date en Time
Tekst moet tussen aanhalingstekens, getallen niet
(SQL: where name=‘Piet’ , where kgmelk= 8000)
LauwersCollege Buitenpost
Informatica
LauwersCollege Buitenpost
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.
Bij Gegevenstype
(boven) het type
invoeren, bij
veldlengte of notatie
(onder) kun
je dat verfijnen
LauwersCollege Buitenpost
Informatica
LauwersCollege Buitenpost
De ontwerpweergave van een tabel Tekst
getallen
Dit heet:
data
een niet-3 regels voor de waarden in een kolom: enz.
Er bestaan
leeg-regel
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
LauwersCollege Buitenpost
Validatieregel
Je kunt in Access regels vastleggen waarmee invoer gecontroleerd kan worden: Rechtsklik op een tabel, dan op ontwerpen
Maar 1
sleutelveld
teken!
validatieregel
LauwersCollege Buitenpost
niet leeg!
Informatica
LauwersCollege Buitenpost
Database wijzigen met SQL
Opvragen van informatie gaat met Select
Toevoegen van regels met Insert
Wijzigen van regels met Update
Verwijderen van regels met Delete
Tabel maken met Create Table
LauwersCollege Buitenpost
Informatica
LauwersCollege Buitenpost
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
LauwersCollege Buitenpost
Strokendiagram van Rundveeadministratie
Bedrijven
bedrijfsnr naam adres postc plaats tel
Koeien
koenr vader moeder gebdat bedrijfsnr
Jaarprod
koenr jaar kgmelk vetgeh eiwitgeh
LauwersCollege Buitenpost
Informatica
LauwersCollege Buitenpost
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
LauwersCollege Buitenpost
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
LauwersCollege Buitenpost
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
LauwersCollege Buitenpost
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
LauwersCollege Buitenpost
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
LauwersCollege Buitenpost
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
LauwersCollege Buitenpost
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
Ook deadlocks moeten worden voorkomen
LauwersCollege Buitenpost
Einde
Informatica
Download