Download de presentatie
De presentatie wordt gedownload. Even geduld aub
GepubliceerdPetrus Pieters Laatst gewijzigd meer dan 10 jaar geleden
1
Computervaardigheden en Programmatie Universiteit AntwerpenDatabank - Gevorderden 5.1 Computervaardigheden en Programmatie 1rste BAC Toegepaste Biologische Wetenschappen Hoofdstuk 5 Databank - Gevorderden
2
Computervaardigheden en Programmatie Universiteit AntwerpenDatabank - Gevorderden 5.2 Inhoud Terminologie –redundantie normalisatie Relaties –"1-to-Many" (1-N) Join –Inner Join; Outer (Left/Right) Join Relaties (vervolg) –"Many-to-Many" (N-M) Join (vervolg) –Recursive Join Oefeningen
3
Computervaardigheden en Programmatie Universiteit AntwerpenDatabank - Gevorderden 5.3 Uitzonderlijke observaties Alle observaties per soort waarvoor –gewicht < minimum gewicht –gewicht > maximum gewicht –spanwijdte < minimum spanwijdte –spanwijdte > maximum spanwijdte
4
Computervaardigheden en Programmatie Universiteit AntwerpenDatabank - Gevorderden 5.4 datumsoortspan-gew-min.max.min.max wijdteichtspan.span.gew.gew. 11/11/1992baardvleermuis1941922,548 11/11/1992grootoorvleermuis2452428,54,611,3 11/11/1992grootoorvleermuis28122428,54,611,3 02/11/1993baardvleermuis19,551922.548 02/11/1993grootoorvleermuis2572428,54,611,3 Naïeve Tabelvoorstelling redundante informatie Redundante Informatie –verkwisting van plaats –gevaar op inconsistenties verander 1 record alle gelijkaardige records symptoom van slecht databankontwerp ! –Oplossing ? Normalisatie (opsplitsen in meerdere tabellen)
5
Computervaardigheden en Programmatie Universiteit AntwerpenDatabank - Gevorderden 5.5 "1-to-Many" Relaties VleermuisSoorten Naam MinimumSpanwijdte MaximumSpanwijdte MinimumGewicht MaximumGewicht Observaties Datum Soort Spanwijdte Gewicht * 1 1 vleermuissoort... kan vele malen geobserveerd worden
6
Computervaardigheden en Programmatie Universiteit AntwerpenDatabank - Gevorderden 5.6 Inner Join (Query) VleermuisSoorten Naam MinimumSpanwijdte MaximumSpanwijdte MinimumGewicht MaximumGewicht Observaties Datum Soort Spanwijdte Gewicht VleermuisSoorten x Observaties Naam MinimumSpanwijdte MaximumSpanwijdte MinimumGewicht MaximumGewicht Datum Spanwijdte Gewicht Cartesisch Product waar VleermuisSoorten.Naam = Observaties.Soort
7
Computervaardigheden en Programmatie Universiteit AntwerpenDatabank - Gevorderden 5.7 datumsoortspan-gew- wijdteicht 11/11/1992baardvleermuis194 11/11/1992grootoorvleermuis245 11/11/1992grootoorvleermuis2812 02/11/1993baardvleermuis19,55 02/11/1993grootoorvleermuis257 datumsoortspan-gew-min.max.min.max wijdteichtspan.span.gew.gew. 11/11/1992baardvleermuis1941922,548 11/11/1992grootoorvleermuis2452428,54,611,3 11/11/1992grootoorvleermuis28122428,54,611,3 02/11/1993baardvleermuis19,551922.548 02/11/1993grootoorvleermuis2572428,54,611,3 Inner Join (Resultaat) soortmin.max.min.max span.span.gew.gew. baardvleermuis1922,548 grootoorvleermuis2428,54,611,3
8
Computervaardigheden en Programmatie Universiteit AntwerpenDatabank - Gevorderden 5.8 Voorbereidingen Importeer –"Observaties1.txt" tabel "Observaties" –"VleermuisSoorten.txt" 1-N relatie –>>Tools>>Relationships –Selecteer tabellen "Observaties" & "VleermuisSoorten" –Sleep "Observaties.soort" op "VleermuisSoorten.Naam" –(1) bevestig via "Create" –(2) resultaat in "Relationships" –Sluit "Relationships" 1 2
9
Computervaardigheden en Programmatie Universiteit AntwerpenDatabank - Gevorderden 5.9 Inner Join (basis) Nieuwe query (design view) >>Show Table>> "Observaties" & "VleermuisSoorten" –(1) Automatisch relatie sleep uit Observaties –(2) datum, soort, gewicht uit VleermuisSoorten –(3) MinimumGewicht & MaximumGewicht (4) Bekijk in datasheet view Bekijk in SQL-view –"inner join" 1 2 3 4
10
Computervaardigheden en Programmatie Universiteit AntwerpenDatabank - Gevorderden 5.10 Inner Join (extra criteria) 1 definieer criterium voor gewicht >[VleermuisSoorten].[MaximumGewicht] Or <[VleermuisSoorten].[MinimumGewicht] bewaar als UitzonderlijkeObservatiesGewicht
11
Computervaardigheden en Programmatie Universiteit AntwerpenDatabank - Gevorderden 5.11 Outer Join (Query) VleermuisSoorten Naam MinimumSpanwijdte MaximumSpanwijdte MinimumGewicht MaximumGewicht Observaties Datum Soort Spanwijdte Gewicht VleermuisSoorten x Observaties Naam MinimumSpanwijdte MaximumSpanwijdte MinimumGewicht MaximumGewicht Datum Spanwijdte Gewicht Cartesisch Product waar (VleermuisSoorten.Naam = Observaties.Soort) of (er bestaat geen observatie met VleermuisSoorten.Naam = Observaties.Soort)
12
Computervaardigheden en Programmatie Universiteit AntwerpenDatabank - Gevorderden 5.12 datumsoortspan-gew- wijdteicht 11/11/1992baardvleermuis194 11/11/1992grootoorvleermuis245 11/11/1992grootoorvleermuis2812 02/11/1993baardvleermuis19,55 02/11/1993grootoorvleermuis257 datumsoortspan-gew-min.max.min.max wijdteichtspan.span.gew.gew. 11/11/1992baardvleermuis1941922,548 11/11/1992grootoorvleermuis2452428,54,611,3 11/11/1992grootoorvleermuis28122428,54,611,3 02/11/1993baardvleermuis19,551922.548 02/11/1993grootoorvleermuis2572428,54,611,3 bosvleermuis26321320 dwergvleermuis18243,58 Outer Join (Resultaat) soortmin.max.min.max span.span.gew.gew. baardvleermuis1922,548 grootoorvleermuis2428,54,611,3 bosvleermuis26321320 dwergvleermuis18243,58 niet geobserveerde soorten NULL (blanco)
13
Computervaardigheden en Programmatie Universiteit AntwerpenDatabank - Gevorderden 5.13 Outer Join (basis) Nieuwe query (design view) >>Show Table>> "Observaties" & "VleermuisSoorten" Dubbelklik relatie –(1) Include all... VleermuisSoorten... only from...: Observaties –OK (2) relatie krijgt een pijltje !! sleep uit VleermuisSoorten, Observaties * Bekijk in datasheet view Bekijk in SQL-view –"left join" of "right join" 2 1
14
Computervaardigheden en Programmatie Universiteit AntwerpenDatabank - Gevorderden 5.14 "Many-to-Many" Relaties VleermuisSoort Naam MinimumSpanwijdte MaximumSpanwijdte MinimumGewicht MaximumGewicht ObservatieTrip Datum Observator Locatie Observaties Spanwijdte Gewicht * * Tijdens een observatietrip observeren we 0 of meerdere vleermuissoorten Een vleermuissoort kan tijdens 0 of meerdere observatietrips geobserveerd worden Bij elke observatie noteren we de spanwijdte en het gewicht
15
Computervaardigheden en Programmatie Universiteit AntwerpenDatabank - Gevorderden 5.15 Join (3 tabellen) Importeer –ObservatieTrips.txt –in tabel ObservatieTrips Relaties –>>Tools>>RelationShips –rechtermuisklik >>Show Table... –Voeg tabel Observatietrips toe –Sleep "datum" van "Observaties" naar "ObservatieTrips" Maak nieuwe query –ObservatieTripRapport –Voeg tabellen "Observaties", "Observatietrips", "VleermuisSoorten" toe Voor elke tabel –sleep "*" op design grid Criteria –Alleen de observatietrips met observator "Serge Demeyer"
16
Computervaardigheden en Programmatie Universiteit AntwerpenDatabank - Gevorderden 5.16 Oefeningen ( vleermuizen ) maak queries voor –Alle observaties waarvan de spanwijdte groter of kleiner is dan de minima/maxima voor de soort –alle soorten die niet werden geobserveerd –tel alle soorten die niet werden geobserveerd –alle observaties in de ijskelder –alle observaties in de ijskelder gemaakt na 2000
17
Computervaardigheden en Programmatie Universiteit AntwerpenDatabank - Gevorderden 5.17 Antwerpse Metro ( overzicht )
18
Computervaardigheden en Programmatie Universiteit AntwerpenDatabank - Gevorderden 5.18 Recursieve Join ( 1/3 ) Importeer –Haltes.txt & Lijnen.txt –Bekijk inhoud tabellen Maak nieuw query –design view –naam: 1overstap –voeg tabel "Haltes" 2 x toe (1) Haltes & (2) Haltes_1 –(3) relatie: "Haltes.volgende" "Haltes_1.halte" –Sleep "Lijn" en "Halte" uit "Halte" en "Halte_1" op grid Resultaat in Datasheet view ? 12 3
19
Computervaardigheden en Programmatie Universiteit AntwerpenDatabank - Gevorderden 5.19 Recursieve Join ( 2/3 ) Criteria –(1) kolom "Haltes.lijn" "= Haltes_1.halte" Datasheet view –Hoeveel records ? 1
20
Computervaardigheden en Programmatie Universiteit AntwerpenDatabank - Gevorderden 5.20 Recursieve Join ( 3/3 ) Maak een "left outer join" –(1) Include ALL... from "Haltes"... and only... "Haltes_1"... Datasheet view –Hoeveel records ? Criterium –(2) 2de lijn (Or:) Haltes_1.Lijn Is Null Datasheet view –Hoeveel records ? –Verklaar het verschil 1 2
21
Computervaardigheden en Programmatie Universiteit AntwerpenDatabank - Gevorderden 5.21 Oefeningen ( antwerpse metro ) maak queries voor –Welke stations kan ik in precies drie stappen bereiken vanuit station "Meir" ? Geef de tussenhaltes. –Welke stations kan ik in precies drie stappen bereiken vanuit station "Meir", zonder van lijn te veranderen ? Geef de tussenhaltes. –Vanuit welke stations kan ik in maximaal drie stappen station "Meir" bereiken, zonder van lijn te veranderen ? Geef de tussenhaltes.
22
Computervaardigheden en Programmatie Universiteit AntwerpenDatabank - Gevorderden 5.22 Conclusie Terminologie –redundantie normalisatie Relaties –"1-to-Many" (1-N) Join –Inner Join; Outer (Left/Right) Join Relaties (vervolg) –"Many-to-Many" (N-M) Join (vervolg) –Recursive Join Oefeningen
Verwante presentaties
© 2024 SlidePlayer.nl Inc.
All rights reserved.