Gegevensbanken Indexstructuren. Bettina Berendt

Maat: px
Weergave met pagina beginnen:

Download "Gegevensbanken Indexstructuren. Bettina Berendt"

Transcriptie

1 Gegevensbanken 2010 Indexstructuren Bettina Berendt

2 Indexstructuren: Motivatie & Samenvatting 2

3 Waar zijn we? Les Nr. wie wat 1 ED intro, ER 2 ED EER 3 ED relational model 4 ED mapping EER2relational 5 KV relational algebra, relational calculus 6 KV SQL 7 KV vervolg SQL 8 KV demo Access, QBE, JDBC 9 KV functional dependencies and normalisation 10 KV functional dependencies and normalisation 11 BB file structures and hashing 12 BB indexing I 13 BB indexing II and higher-dimensional structures 14 BB query processing 15 BB transaction 16 BB query security 17 BB Data warehousing and mining 18 ED XML, oodb, multimedia db Fysisch model / vragen 3

4 Herhaling: Bestandsorganisatie Vraag: Waar/hoe gegevens plaatsen? Antwoord: Zo plaatsen dat de kost van operaties geminimaliseerd wordt (zoeken, invoegen, verwijderen,...) Randvoorwaarde: fysica - alles moet ergens zijn, en alles is op een plaats. Door de juiste bestandsorganisatie wordtefficiëntzoeken volgens de primaire, fysische structuur mogelijk 4

5 Dit was ook een goed idee voor het Web zoeken 1994:... maar nu willen we toch een beetje anders zoeken... lineair of binair 5

6 Hoe werkt dat? Indexstructuren (hier: volledig geïnverteerde bestanden) Door indexstructuren wordtefficiëntzoeken ook volgens andere criteria (velden) mogelijk 6

7 Gegevens zijn als een goed boek (1) Bestandsorganisatie Primaire index 7

8 Gegevens zijn als een goed boek (2) Secundaire index 1 Secundaire index 2 8

9 Gegevens zijn als een goed boek (3) Multi-niveau index 9

10 PS: Dit is ook een index (of: we moeten nog dingen van de vorige les vervolledigen) * als bruin: bucket 1 * als groen: bucket 2 10

11 [Nog iets over les #11] Herhaling: Belangrijke parameters m.b.t. bestandsverwerking Bestandsactiviteit (file activity) # records dat gebruikt wordt door een toepassing / totaal # records van het bestand Bestandsveranderingsgraad (file volatility) # records dat in een bepaalde periode een verandering ondergaat / totaal # records van het bestand Bestandsverloop of vervangingsgraad (file turnover) # records dat in een bepaalde periode vervangen wordt door nieuwe records / totaal # records van het bestand Bestandsgroei (file growth) toename van # records gedurende een bepaalde periode / het oorspronkelijk totaal # records 11

12 activiteit hoge bestands... Bestandsorganisatie veranderingsgraad vervangingsgraad groei Oef eni ng: Ve rvo lle dig de tab el! ongeordend geordend direct 12

13 Agenda Indexen: definitie Soorten indexen Indexen met meerdere niveaus Boomstructuren als indexen Indexen op meerdere velden 13

14 Agenda Indexen: definitie Soorten indexen Indexen met meerdere niveaus Boomstructuren als indexen Indexen op meerdere velden 14

15 Indexstructuren Definitie: een index op een bestand = een gegevensstructuur die de toegang op dat bestand via een bepaald veld (of een groep velden) efficiënter maakt d.w.z.: laat efficiënt zoeken naar een bepaalde waarde van dat veld toe vgl.: woordenlijst achteraan boek, fichebak in bibliotheek,... Index kan opgeslagen zijn: in centraal geheugen (enkel redelijk kleine indexen) in een bestand in het externe geheugen 15

16 Vb.: Op welke velden zouden het nuttig zijn om een index te plaatsen? 16

17 Agenda Indexen: definitie Soorten indexen Indexen met meerdere niveaus Boomstructuren als indexen Indexen op meerdere velden 17

18 Soorten indexen primaire index : index op veld dat de ordening van het bestand bepaalt records uniek geïdentificeerd (d.w.z. elke waarde voor het veld is uniek) clusterindex : index op veld dat de ordening van het bestand bepaalt niet noodzakelijk unieke waarden Sluiten elkaar uit secundaire index : index op een ander veld dan dat wat de ordening bepaalt 18

19 Primaire indexen: voorbeeld }1 blok 19

20 Primaire indexen Primaire index: bestand met vaste lengte records fysisch geordend volgens de sleutelwaarden index: bevat 1 record per blok in het gegevensbestand: sleutel van "ankerrecord" van het blok (= eerste of laatste record in het blok) adres van het blok Gegeven een sleutelwaarde, kan adres van blok waar overeenkomstig record zit, gevonden worden door zoeken in index i.p.v. gegevensbestand d.i. dankzij de ordening in het bestand 20

21 Eigenschappen en voordelen + index bevat kleinere records dan gegevensbestand enkel sleutel + adres, geen andere info index bevat meestal minder records dan gegevensbestand is een niet-dichte of ijle (nondense, sparse) index index is kleiner dan gegevensbestand doorlopen van index gaat sneller dan doorlopen van gegevensbestand veel minder toegang tot schijf nodig 21

22 Probleem en oplossing - Toevoegen / weglaten van gegevens: nu ingewikkelder! Naast gegevensbestand ook index aanpassen ankerrecords kunnen veranderen Oplossing: voor toevoegen: overloopgebieden voor weglaten: markeren van weggelaten records na een tijdje: reorganisatie 22

23 Berekening van performantie van indexen Berekening van tijdswinst door index Toegang tot hoeveel blokken is nodig? Gegevensbestand gekenmerkt door # records r # blokken b = (r / bfr) recordlengte R bloklengte B blocking factor bfr = B / R (hoeveel records in één blok?) Indexbestand : analoog r i, b i, R i, B i, bfr i meestal B i = B met ankerrecords: r i = b dichte index: r i = r 23

24 Voorbeeld 1 (1): de gegevens Geordend gegevensbestand: r = R = 100 bytes, B = bytes bfr = 1024 / 100 =10 b = r / bfr = / 10 = Binair zoeken op gegevensbestand: # schijftoegangen = log 2 b = log = 12 24

25 Voorbeeld 1 (2): primaire index Indexbestand: vb. sleutel = 9 bytes, blokadres = 6 bytes R i = = 15 bytes bfr i = 1024 / 15 = 68 r i = b = b i = r i / bfr i = / 68 = 45 binair zoeken op indexbestand: # schijftoegangen = log 2 b i = log 2 45 = 6 Uiteindelijk ook nog blok met gegevens inlezen: 1 extra blok 7 in totaal (i.p.v. 12) 25

26 Clusterindex Gegevensbestand fysisch geordend volgens veld dat niet uniek is dat veld is dus geen sleutel wel "clusterveld" genoemd (records met zelfde waarde voor dat veld zitten gegroepeerd) Clusterindex: per waarde van clusterveld 1 wijzer naar blok waar eerste record met die waarde voorkomt ijle index 26

27 Clusterindexen: voorbeeld 27

28 Probleem en oplossing Toevoegen records schuiven op verandering blokadressen in index kan opgelost worden door aparte blokken te gebruiken voor de verschillende waarden 28

29 Secundaire index + Index op een ander veld dan het veld dat de ordening bepaalt index zelf is wel geordend volgens dat veld veld kan al dan niet een sleutel zijn Indien dit een secundair-sleutel-veld is: 1 record in index per record in gegevensbestand geen ordening enkel ankerrecords is onvoldoende dichte index nog steeds kleiner dan gegevensbestand omdat records zelf kleiner zijn (maar minder spectaculair) 29

30 Secundaire index op sleutelveld: voorbeeld 30

31 Voordelen + + Hoewel index zeer groot kan zijn: toch grote tijdswinst index is geordend binair zoeken mogelijk vs. gegevensbestand: lineair zoeken nodig! Eens blok gevonden: enkel nog lineair zoeken binnen blok in intern geheugen gaat snel bfr meestal relatief klein verwaarloosbaar vs. inlezen van blokken 31

32 Voorbeeld 1 (3): dichte secundaire index Uit het vorige voorbeeld: r = , R = 100 bytes, B = bytes, b = Lineair zoeken in dit bestand: gemiddeld b / 2 = blokken inlezen Met (dichte) secundaire index: stel veld 9 bytes, adres 6 bytes R i =15 r i = r = , bfr i = 68 b i = / 68 = 442 binair zoeken : log 2 b i = log = 9 blokken opmerking: controle of record voorkomt, bij dichte index, kan zonder gegevens zelf in te lezen + 1 voor gegevens zelf : 10 blokken lezen (i.p.v.1500) 32

33 Secundaire index op niet-sleutel veld dichte index elke waarde komt even vaak in index voor als in gegevensbestand index met variabele lengte records per waarde een lijst wijzers naar blokken index met verwijzingen naar blok recordwijzers m.a.w. 1 adres per waarde adres wijst naar blok (evt. lijst van blokken) met wijzers naar blokken in gegevensbestand 1 indirectie meer 33

34 Secundaire index op nietsleutelveld: voorbeeld 34

35 Voor- en nadelen van 2-niveau indexen + - toevoegen / weglaten is veel gemakkelijker 1 extra blok te lezen 35

36 Overzicht indexen Anker : blok hangt vast aan sleutel (bemoeilijkt toevoegen / weglaten) Indexveld is Indextype (op veldtype) # index records dicht of ijl Blokanker op Gegevensbestand (GB)? ordenend veld primair (sleutel) clustering (niet-sleutel) # blokken in GB ijl ja # verschillende indexveld-waarden ijl ja / neen nietordenend veld secundair (sleutel) secundair (niet-sleutel) # records in GB dicht neen # records in GB of # verschillende indexveld-waarden dicht of ijl neen 36

37 Agenda Indexen: definitie Soorten indexen Indexen met meerdere niveaus Boomstructuren als indexen Indexen op meerdere velden 37

38 Indexen met meerdere niveaus Principe: Gewone index op gegevensbestand kan nog steeds groot zijn opnieuw een index bouwen bovenop deze index laat toe waarden sneller terug te vinden in deze index = niveau 2 index eventueel hierbovenop nog een index, enz. tot top-index maar 1 blok groot is Blocking factor bfr i even groot voor alle indexen = "fan-out" (fo) 38

39 39

40 Hoeveel blokken op welk niveau? 1 e niveau: r 1 = r records r 1 / fo blokken 2 e niveau: r 2 = r 1 / fo records r 2 / fo r 1 / fo 2 blokken k e niveau: r k r 1 / fo k blokken hoogste niveau 1 blok aantal niveaus t log fo (r 1 ) vgl. met log 2 (r 1 ) voor binair zoeken hoe groter fo, hoe minder blokken te lezen 40

41 Voorbeeld 1 (4): als multi-niveau index Stel dat de dichte secundaire index uit voorbeeld 2 nu een multi-niveau index is fo = bfr i = 68 1 e niveau: 442 blokken (zie eerder) 2 e niveau: b 1 / fo = 442 / 68 = 7 blokken 3 e niveau: 7 / 68 = 1 blok topniveau Controleren of een waarde voorkomt: 3 blokken lezen Ophalen van gegevens zelf: 4 blokken (vgl. 10 met binair zoeken, zonder index) 41

42 Algoritme voor zoeken in ijle primaire multiniveau-index naar record met sleutel K p := adres van top-blok van index; voor j := t tot 1: lees blok met adres p (op niveau j in index); zoek in p een record i zodat K j (i) <= K <= K j (i+1); p := p j (i); lees het blok gegevens met adres p; zoek in p naar het record met sleutel K 42

43 Praktijkvoorbeeld: ISAM IBM's ISAM = "Indexed Sequential Access Method" is een speciaal geval van een multi-niveau indexstructuur 2-niveau indexstructuur: 1e niveau: cilinderindex sleutel van ankerrecord voor die cilinder + wijzer naar spoorindex van die cilinder 2e niveau: spoorindex sleutel van ankerrecord voor spoor + wijzer naar spoor (nu vervangen door VSAM, virtual storage access method ) 43

44 Operaties in multi-niveau indexen + - Weglaten: door te markeren Toevoegen: m.b.v. overloopgebieden Na een tijdje: reorganisatie heel het bestand wordt sequentieel doorlopen en herschreven naar nieuw bestand overloop en markeringen worden opgeruimd nieuwe index wordt gebouwd op nieuw bestand Voordelen: snelle toegang tot bestand, toevoegingen en weglatingen tamelijk efficiënt Nadelen: overloop werkt vertragend, verkwisting van ruimte, geregelde reorganisatie vraagt tijd 44

45 Statische en dynamische structuren Problemen met toevoegen / weglaten van records doordat elk niveau van de indexboom fysisch geordend is hele boom van indexen moet aangepast worden Meer dynamische structuren kunnen oplossing bieden: B- bomen, B + -bomen 45

46 Agenda Indexen: definitie Soorten indexen Indexen met meerdere niveaus Boomstructuren als indexen Indexen op meerdere velden 46

47 Boomstructuren als indexen + Binaire zoekboom is geordend: 1 waarde in knoop in linkerdeelboom enkel kleinere waarden in rechterdeelboom enkel grotere waarden Opzoeken van waarde vraagt tijd evenredig met hoogte h van boom "gewoonlijk" : h log 2 n met n = # waarden in de boom dus: zoeken is efficiënt 47

48 ... maar... 48

49 Evenwichtigheid Aanpassen van boom (toevoegen, weglaten): ook tijdscomplexiteit evenredig met h gemiddeld dus ook efficiënt MAAR: aanname van "evenwichtigheid" van bomen wordt gemaakt! Niet onmogelijk dat h n i.p.v. log 2 n vb. bij eenvoudig toevoeg-algoritme dat waarden reeds in volgorde krijgt concept van evenwichtige zoekbomen toevoegen, weglaten worden zo geïmplementeerd dat evenwicht steeds bewaard blijft 49

50 Zoekbomen Een zoekboom (niet noodzakelijk binaire) heeft in elke knoop een aantal waarden v 1 < v 2 <... < v m-1 (m kan variëren van knoop tot knoop) heeft in een knoop met m - 1 waarden m kinderen b 1,..., b m voor alle waarden v die voorkomen in b i geldt: v i - 1 < v < v i (v 0 = -, v m = + ) Consistent met binaire zoekbomen (overal m = 2) 50

51 Zoekbomen: abstract 51

52 Zoekbomen: voorbeeld (een zoekboom van orde 3) 52

53 B-bomen B-boom van orde m (m > 2) is zoekboom waarvoor : elke inwendige knoop heeft hoogstens m kinderen de wortel heeft minstens 2 kinderen, elke andere knoop minstens m / 2 alle bladeren zitten even diep "waarde" in B-boom = sleutel + adres speciale gevallen: 2-3 bomen, 3-5 bomen,... beperkingen i.v.m. min en max aantal kinderen garanderen redelijke gebalanceerdheid beperkte verspilling van geheugen 53

54 Adressen in knopen van B-bomen Adres is een blokadres of recordadres recordadres = blokadres + positie van record in blok voor niet-sleutelveld: adres van blok met wijzers naar adressen (cfr. eerdere voorbeelden) extra indirectie 54

55 Maximale hoogte van B-bomen orde p minstens d = p / 2 deelbomen per knoop op niveau 1 (onder wortel) minstens 2 knopen, op niveau i minstens 2 d i-1 knopen 2 d i-1 (d-1) waarden h log d ( (n + 1) / 2 ) 55

56 B-bomen: abstract en voorbeeld 56

57 Voorbeeld 2 (1): Berekening orde B-boom Stel: grootte van veld waarop gezocht wordt V = 9 bytes B = 512 bytes recordadres P r = 7 bytes, blokadres P = 6 bytes 1 knoop van B-boom moet in 1 blok passen max aantal deelbomen p van een knoop: p * P + (p - 1) * (Pr + V) B 6 p + 16 (p - 1) 512 p 24 meestal nog wat extra (administratieve) info in blok kies p = 23 57

58 Voorbeeld 2 (2): Aantal blokken en diepte dus: empirisch onderzoek toont: B-boom gemiddeld 69% vol Gemiddeld 0.69p = 0.69 x 23 = 16 wijzers gemiddelde fan-out fo = 16 gemiddeld aantal waarden per knoop = 15 wortel : 15 sleutels 1 niveau onder wortel : 16 knopen 16 * 15 = 240 sleutels 2 niveaus diep: 16 2 = 256 knopen, sleutels 3 niveaus diep: 16 3 = knopen, sleutels totaal voor 3 niveaus: =

59 Wanneer B-bomen gebruiken? - Gebruik van B-bomen als primaire bestandsorganisatie dus niet voor index op bestand, maar bestand zelf 1 waarde in knoop = sleutel + het hele record Enkel goed bruikbaar indien klein aantal records kleine recordgrootte Anders fo te klein # niveaus van boom te groot inefficiënt 59

60 Operaties en hun kost/efficiëntie Opzoeken : O (log d n) Toevoegen, weglaten: eerst positie opzoeken wijziging aanbrengen en doorvoeren alles in O (log d n) tijd Sequentiele verwerking: boom doorlopen in in-orde (links, knoop, rechts) interne knopen vaak opnieuw gelezen, tenzij ze in centraal geheugen onthouden worden kan beter : met B + -bomen 60

61 B + -bomen Bij B-bomen: sommige record-wijzers in interne knopen, andere in bladeren Bij B + -bomen: interne knopen bevatten enkel sleutels, geen adressen van records recordadressen enkel in de bladeren interne knopen bevatten enkel "wegwijzers" orde p i van interne knopen is nu groter betere prestaties; orde p b van bladeren ongeveer even groot extra: aan het eind van een blad wijzer naar volgend blad maakt sequentieel doorlopen eenvoudiger 61

62 B + -bomen: abstract 62

63 Voorbeeld 3 (1): Berekening orde B + -boom Gegeven: V = 9 bytes, B = 512 bytes, Pr = 7 bytes, P = 6 bytes orde van interne knopen: p i * P + (p i -1)* V B 6 p i + 9 (p i -1) 512 p i = 34 (cfr. 23 voor B-boom) orde van bladeren: p b * (Pr + V) + P B p b * ( ) + P B 16 p b p b = 31 63

64 Voorbeeld 3 (2): Aantal sleutels en diepte Stel 69% vol dan: 0.69 * 34 = 23 wijzers per knoop (22 waarden) in blad: 0.69 * p b = 0.69 * 31 = 21 recordwijzers gemiddeld aantal sleutels op elk niveau: wortel: 1 knoop, 22 sleutels niveau 1: 23 knopen, 506 sleutels niveau 2: 529 knopen, sleutels bladeren: knopen, recordwijzers Vgl. met recordwijzers voor B-boom 64

65 Algoritmes Algoritmes voor zoeken in B + -boom en voor aanpassing van B + -boom bij toevoegen / weglaten van gegevens Gedetailleerde algoritmes in boek 65

66 B + -boom: Opzoeken van een sleutelwaarde { K = gezochte sleutel } n := blok dat wortel van B + -boom bevat; lees blok n; zolang n geen blad is: q := #deelbomen van n; v 0 =-, v 1..v q-1 waarden in knoop, v q =+ kies i zo dat v i < K <= v i+1 ; n := b i ; lees blok n; zoek in n een koppel (v i, Pr i ) met v i =K; indien gevonden: lees record met adres Pr i anders: meld 'niet gevonden' 66

67 B + -boom: Toevoegen van een record met sleutel K zoek blad waar sleutel hoort indien niet vol: voeg sleutel gewoon toe indien blad al vol: splits blad 1e helft blijft, 2e helft naar nieuw blad voeg sleutel toe aan juiste blad pas ook bladwijzers aan voeg laatste waarde van blad 1 in ouderknoop toe herhaal zolang ouderknoop overvol is: splits knoop : helft van waarden naar nieuwe knoop; verhuis laatste waarde van 1e knoop naar ouder 67

68 Oefening: toevoegen van... 8, 5, 1, 7, 3, 12, 9, 6 68

69 69

70 70

71 Alternatieve oplossing 71

72 B + -boom: Verwijderen van een sleutel K uit gegevens zoek blad met sleutel, verwijder sleutel daaruit indien sleutel ergens in interne knopen voorkomt: vervang door waarde net links ervan indien onderloop (te weinig waarden in blad): steel enkele waarden van naburig blad (en pas bovenliggende knoop aan) indien nog niet voldoende: voeg 2 bladeren samen verwijder 1 wegwijzer uit bovenliggende knoop indien onderloop in interne knoop: herverdeel of voeg samen (met evt. verwijdering van 1 waarde uit bovenliggende knoop...) 72

73 Oefening: verwijderen van... 5, 12, 9 73

74 74

75 75

76 B * -bomen elke knoop tenminste 2/3 gevuld (i.p.v. ½) splits slechts wanneer 2 naburige knopen vol zijn 76

77 2 manieren om in te voegen Zuiver top-down invoegen: Vorig algoritme: top-down positie zoeken, sleutel invoegen, bottom-up herstructureren Alternatief: tijdens top-down zoeken al knopen splitsen die bijna vol zijn geen "2e ronde" nodig probleem indien toevoeging niet kan doorgaan 77

78 Omgevingen met meerdere gebruikers (1) B / B + -bomen in omgeving met meerdere gebruikers eerst boom top-down doorlopen, dan bottom-up herstructureren wat als iemand anders intussen wijzigingen aanbrengt in index? kan fout lopen! oplossing: locking (zie ook later) Bij opzoeken: plaats grendel op knoop K zoek gepaste kindknoop K i, plaats grendel op K i verwijder grendel op knoop K max. 2 knopen tegelijk gereserveerd door proces 78

79 Omgevingen met meerdere gebruikers (2) Bij aanpassen: leesgrendels zetten tijdens top-down procedure ander proces kan knoop lezen, maar niet veranderen en kan er geen grendel op zetten bij bereiken van blad: indien geen aanpassing nodig blijkt: geef alle grendels vrij indien wel aanpassingen nodig: plaats grendels, maak alle aanpassingen, geef grendels vrij 79

80 Omgevingen met meerdere gebruikers (3) Indien heel pad wortel blad gereserveerd: hele index bezet! sterke beperkingen op andere gebruikers beter: enkel op lagere niveaus gendels plaatsen hogere niveaus blijven meestal toch ongewijzigd indien dit onvoldoende blijkt: volledig herbeginnen en nu wel hogerop al leesgrendels plaatsen Alternatief: volledig top-down algoritme geen 2e ronde grendels sneller vrijgegeven 80

81 Praktijkvoorbeeld: VSAM VSAM = Virtual Storage Access Method (IBM) Gebaseerd op B + -bomen Ontworpen om aan meerdere criteria te voldoen: sequentiële toegang toevoegen, weglaten, opzoeken : O (log n) geen reorganisatie nodig Blokken met gegevens die bij 1 blad horen, allemaal op 1 cilinder tijdwinst Andere aanpassingen om efficiëntie verder te verhogen (index apart plaatsen, sleutelcompressie,...) 81

82 Agenda Indexen: definitie Soorten indexen Indexen met meerdere niveaus Boomstructuren als indexen Indexen op meerdere velden 82

83 Indexen op meerdere velden vb. index op combinatie van leeftijd en departement "geef alle werknemers van dept. 5 met leeftijd 60" met aparte indexen: eerst verz. werknemers van dept. 5 (A), dan verz. met leeftijd 60 (B), vervolgens doorsnede nemen niet zo efficiënt resultaat waarschijnlijk veel kleinere verzameling dan A en B Samengestelde index veel efficiënter: levert direct het goede resultaat Hoe indexeren op meerdere velden? 83

84 Hoe de velden combineren? (1) Meerdere velden samen als 1 veld beschouwen Samengestelde waarden: ordening? lexicografisch : cf. alfabetische ordening (p 1, q 1 ) < (p 2, q 2 ) p 1 < p 2 OF (p 1 = p 2 en q 1 < q 2 ) enz. voor meer componenten Hashing op samengestelde velden: "partitioned hashing" resultaat hashfunctie is combinatie van resultaten van aparte hashfuncties op componenten bv ; (5, 60) geen aparte toegangsstructuren voor componenten nodig (maar: enkel voor "="-tests) 84

85 Hoe de velden combineren? (2) i.p.v. rij met adressen : matrix met adressen indices voor matrix = waarden van componenten evt. code voor interval van waarden vb. matrix M: M 5,5 bevat wijzer naar cel met wijzers naar records waarvoor dept = 5 en leeftijd > 50 85

86 Fysische en logische indexen Naast bomen ook hashing of andere datastructuren mogelijk voor index In onze bespreking: fysische indexen steeds fysische adressen gebruikt indien deze veel wijzigen: probleem logische index verhelpt dit: i.p.v. fysisch adres, wordt sleutel voor primaire bestandsorganisatie teruggegeven dan zoeken volgens primaire structuur nadeel van logische index: 1 extra indirectie 86

87 Indexen: samenvatting Grootste voordeel van indexen: kunnen in principe gebruikt worden met eender welke primaire bestandsorganisatie bemerk dat primaire organisatie enkel efficiënt zoeken op 1 veld mogelijk maakt Indexen o.a. handig voor opleggen van uniciteit van velden (naast efficiënt opzoeken van waarden) Bestand met secundaire index op elk veld = "volledig geïnverteerd bestand" (fully inverted file) 87

88 Vooruitblik Indexen: definitie Soorten indexen Indexen met meerdere niveaus Boomstructuren als indexen Indexen op meerdere velden Meerdimensionale structuren 88

89 Bronnen Deze slides zijn gebaseerd op Henk Olivié s slides voor Gegevensbanken 2009 en op Elmasri & Navathe, Fundamentals of Database Systems, Addison Wesley / Pearson, 5e editie Alle kopieën zonder bronspecificatie: Elmasri & Navathe, Fundamentals of Database Systems, Addison Wesley / Pearson, 5e editie Verdere figuren: bronnen zie Powerpoint comments field Bedankt iedereen! 89

Fundamenten van geheugen; Bestandsorganisatie; Hashing

Fundamenten van geheugen; Bestandsorganisatie; Hashing Gegevensbanken 2010 Fundamenten van geheugen; Bestandsorganisatie; Hashing Prof. Bettina Berendt www.cs.kuleuven.be/~berendt Fundamenten van geheugen; Bestandsorganisatie; Hashing: Motivatie & Samenvatting

Nadere informatie

Indexen.

Indexen. Indexen joost.vennekens@kuleuven.be Probleem Snel gegevens terugvinden Gegevens moeten netjes geordend zijn Manier waarop hangt af van gebruik Sequentieel Gesorteerde gegevens, die in volgorde overlopen

Nadere informatie

Organisatie van meerdimensionale structuren

Organisatie van meerdimensionale structuren Gegevensbanken 2010 Organisatie van meerdimensionale structuren Bettina Berendt www.cs.kuleuven.be/~berendt Organisatie van meerdimensionale structuren: Motivatie & Samenvatting 2 Waar zijn we? Les Nr.

Nadere informatie

Datastructuren Uitwerking jan

Datastructuren Uitwerking jan Datastructuren Uitwerking jan 2015 1 1a. Een abstracte datastructuur is een beschrijving van een datastructuur, met de specificatie van wat er opgeslagen wordt (de data en hun structuur) en welke operaties

Nadere informatie

Elfde college algoritmiek. 18 mei Algoritme van Dijkstra, Heap, Heapify & Heapsort

Elfde college algoritmiek. 18 mei Algoritme van Dijkstra, Heap, Heapify & Heapsort Algoritmiek 018/Algoritme van Dijkstra Elfde college algoritmiek 18 mei 018 Algoritme van Dijkstra, Heap, Heapify & Heapsort 1 Algoritmiek 018/Algoritme van Dijkstra Uit college 10: Voorb. -1- A B C D

Nadere informatie

EXAMEN juni 2016 Gegevensbanken

EXAMEN juni 2016 Gegevensbanken EXAMEN juni 2016 Gegevensbanken 8 juni 2016 14.00 u. Het examen bestaat uit twee vragen die schriftelijk uitgewerkt worden. Instructies a. De vragen moeten worden opgelost in de volgorde waarin ze genummerd

Nadere informatie

5.4.2 a. Neen: dit lukt alléén met 1, 3, 7 enzovoort. b. Ja: dit lukt met elk aantal knopen! Bijvoorbeeld de volgende boom: 1

5.4.2 a. Neen: dit lukt alléén met 1, 3, 7 enzovoort. b. Ja: dit lukt met elk aantal knopen! Bijvoorbeeld de volgende boom: 1 c. het langste gerichte pad: 4 2 3 met lengte twee. d. het langste on -gerichte pad is oneindig lang: je mag bijvoorbeeld voortdurend tussen twee knopen heen en weer wandelen. e. ja: elke knoop heeft maximaal

Nadere informatie

Hoofdstuk 9. Hashing

Hoofdstuk 9. Hashing Hoofdstuk 9 Hashing Het zoeken in een verzameling van één object is in deze cursus al verschillende malen aan bod gekomen. In hoofdstuk 2 werd uitgelegd hoe men een object kan zoeken in een array die veel

Nadere informatie

Query-verwerking en optimalisatie

Query-verwerking en optimalisatie Gegevensbanken 2010 Query-verwerking en optimalisatie Bettina Berendt www.cs.kuleuven.be/~berendt Query-verwerking en optimalisatie: Motivatie & Samenvatting 2 Waar zijn we? Les Nr. wie wat 1 ED intro,

Nadere informatie

Examen Datastructuren en Algoritmen II

Examen Datastructuren en Algoritmen II Tweede bachelor Informatica Academiejaar 2012 2013, tweede zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele

Nadere informatie

Examen Datastructuren en Algoritmen II

Examen Datastructuren en Algoritmen II Tweede bachelor Informatica Academiejaar 2009 2010, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele

Nadere informatie

Examen Datastructuren en Algoritmen II

Examen Datastructuren en Algoritmen II Tweede bachelor Informatica Academiejaar 2008 2009, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees elke

Nadere informatie

Oefeningen voor de oefeningenles. Oefening 1

Oefeningen voor de oefeningenles. Oefening 1 Oefeningen voor de oefeningenles Oefening 1 Gegeven een arbitraire binaire zoekboom T met n toppen en een (andere of gelijke) binaire zoekboom T die ook n sleutels bevat. Beschrijf een algoritme dat in

Nadere informatie

Subrapporten. 5.1 Inleiding

Subrapporten. 5.1 Inleiding 5 Subrapporten 5.1 Inleiding Een subrapport is een rapport in een rapport. Een subrapport maak je dan ook net zoals je een gewoon rapport maakt. Een subrapport heeft bijna alle eigenschappen die een normaal

Nadere informatie

Trainingsomschrijving ACCESS 97 / 2000 / 2003NL

Trainingsomschrijving ACCESS 97 / 2000 / 2003NL Module 1 Inleiding Module 2 Ontwerpen van tabellen Module 3 Relationele databases en queries Module 4 Formulieren en rapporten Module 5 Geav. formulieren en rapporten Module 6 Macro s en menu s Module

Nadere informatie

1 Complexiteit. of benadering en snel

1 Complexiteit. of benadering en snel 1 Complexiteit Het college van vandaag gaat over complexiteit van algoritmes. In het boek hoort hier hoofdstuk 8.1-8.5 bij. Bij complexiteitstheorie is de belangrijkste kernvraag: Hoe goed is een algoritme?

Nadere informatie

Examen Datastructuren en Algoritmen II

Examen Datastructuren en Algoritmen II Tweede bachelor Informatica Academiejaar 2012 2013, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele

Nadere informatie

Examen Datastructuren en Algoritmen II

Examen Datastructuren en Algoritmen II Tweede bachelor Informatica Academiejaar 2010 2011, tweede zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele

Nadere informatie

Examen Algoritmen en Datastructuren III

Examen Algoritmen en Datastructuren III Derde bachelor Informatica Academiejaar 2008 2009, eerste zittijd Examen Algoritmen en Datastructuren III Naam :.............................................................................. Stellingen

Nadere informatie

Combinatorische Algoritmen: Binary Decision Diagrams, Deel III

Combinatorische Algoritmen: Binary Decision Diagrams, Deel III Combinatorische Algoritmen: Binary Decision Diagrams, Deel III Sjoerd van Egmond LIACS, Leiden University, The Netherlands svegmond@liacs.nl 2 juni 2010 Samenvatting Deze notitie beschrijft een nederlandse

Nadere informatie

Voor de database wordt een Access 2000 bestand gebruikt, met voorlopig 1 tabel:

Voor de database wordt een Access 2000 bestand gebruikt, met voorlopig 1 tabel: Eenvoudig voorbeeld. Er wordt verondersteld dat er met VS 2008 EXPRESS gewerkt wordt. Voor de database wordt een Access 2000 bestand gebruikt, met voorlopig 1 tabel: (Sommige schermafdrukken zijn afkomstig

Nadere informatie

Het minimale aantal sleutels op niveau h is derhalve

Het minimale aantal sleutels op niveau h is derhalve 1 (a) In een B-boom van orde m bevat de wortel minimaal 1 sleutel en maximaal m 1 sleutels De andere knopen bevatten minimaal m 1 sleutels en maximaal m 1 sleutels (b) In een B-boom van orde 5 bevat elke

Nadere informatie

Begrippen van transactieverwerking

Begrippen van transactieverwerking Gegevensbanken 2010 Begrippen van transactieverwerking Bettina Berendt www.cs.kuleuven.be/~berendt Begrippen van transactieverwerking: Motivatie & Samenvatting 2 Waar zijn we? Les Nr. wie wat 1 ED intro,

Nadere informatie

IN1805 I Operating System Concepten

IN1805 I Operating System Concepten IN1805 I Operating System Concepten Hoofdstuk 12: Mass-storage structure 9-1 Secondary storage (1) voornamelijk disks kleinst leesbare eenheid: sector plaats van een sector volledig bepaald door: drive

Nadere informatie

Met een mailing of massaverzending kunt u een groot aantal documenten verzenden naar gebruikelijke adressen, die in een gegevensbestand staan.

Met een mailing of massaverzending kunt u een groot aantal documenten verzenden naar gebruikelijke adressen, die in een gegevensbestand staan. Een mailing verzorgen Met een mailing of massaverzending kunt u een groot aantal documenten verzenden naar gebruikelijke adressen, die in een gegevensbestand staan. Voor deze techniek zijn twee bestanden

Nadere informatie

TW2020 Optimalisering

TW2020 Optimalisering TW2020 Optimalisering Hoorcollege 8 Leo van Iersel Technische Universiteit Delft 2 november 2016 Leo van Iersel (TUD) TW2020 Optimalisering 2 november 2016 1 / 28 Minimum Opspannende Boom (Minimum Spanning

Nadere informatie

PROGRAMMA 2011-2012. Vak: informatica..

PROGRAMMA 2011-2012. Vak: informatica.. Vak: informatica.. Laag: Havo-. PROGRAMMA 2011-2012 week leerstof dagen toets overig 34-26.08 zomervakantie Bespreking PTA-404 Deze week: uitreiking van de Praktische Opdracht Programmeren Herhaling theorie

Nadere informatie

Oplossingen Datamining 2II15 Juni 2008

Oplossingen Datamining 2II15 Juni 2008 Oplossingen Datamining II1 Juni 008 1. (Associatieregels) (a) Zijn de volgende beweringen juist of fout? Geef een korte verklaring voor alle juiste beweringen en een tegenvoorbeeld voor alle foute be-weringen:

Nadere informatie

In deze appendix wordt bekeken wat er moet gebeuren voordat

In deze appendix wordt bekeken wat er moet gebeuren voordat Normaliseren A In deze appendix wordt bekeken wat er moet gebeuren voordat een systeem kan worden gedefinieerd. Dit begint met een analyse van de gegevens die de basis vormen. Daarbij wordt gekeken naar

Nadere informatie

TW2020 Optimalisering

TW2020 Optimalisering TW2020 Optimalisering Hoorcollege 8 Leo van Iersel Technische Universiteit Delft 28 oktober 2015 Leo van Iersel (TUD) TW2020 Optimalisering 28 oktober 2015 1 / 25 Definitie Een boom is een samenhangende

Nadere informatie

Tweede college algoritmiek. 12 februari Grafen en bomen

Tweede college algoritmiek. 12 februari Grafen en bomen College 2 Tweede college algoritmiek 12 februari 2016 Grafen en bomen 1 Grafen (herhaling) Een graaf G wordt gedefinieerd als een paar (V,E), waarbij V een eindige verzameling is van knopen (vertices)

Nadere informatie

Workshop 3x. Normaliseren. Normaliseren. Hiëarchische database ODBMS. Relationele database. Workshop 14 oktober 2010. A. Snippe ICT Lyceum 1

Workshop 3x. Normaliseren. Normaliseren. Hiëarchische database ODBMS. Relationele database. Workshop 14 oktober 2010. A. Snippe ICT Lyceum 1 Workshop 3x Analytisch vermogen Huiswerk Lestijden 10:00 12:30 Pauze 10:15 10:30 Deze les: Hiëarchische database Relationele database ODBMS Normaliseer stappen Hiëarchische database Elk record in een database

Nadere informatie

Examen Datastructuren en Algoritmen II

Examen Datastructuren en Algoritmen II Tweede bachelor Informatica Academiejaar 2008 2009, tweede zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees elke

Nadere informatie

Datastructuren en algoritmen voor CKI

Datastructuren en algoritmen voor CKI Datastructuren en algoritmen voor CKI Jeroen Bransen 1 14 oktober 2015 1 met dank aan Hans Bodlaender en Gerard Tel Willekeurig gebouwde zoekbomen Willekeurig gebouwde zoekbomen Hoogte van zoekboom met

Nadere informatie

Katholieke Hogeschool Kempen Campus Geel Departement Handelswetenschappen en Bedrijfskunde 3de jaar Toegepaste Informatica

Katholieke Hogeschool Kempen Campus Geel Departement Handelswetenschappen en Bedrijfskunde 3de jaar Toegepaste Informatica Katholieke Hogeschool Kempen Campus Geel Departement Handelswetenschappen en Bedrijfskunde 3de jaar Toegepaste Informatica Labo 4 Beheer van databanken Svenia CLAES (3Ti3) Britt JACOBS (3Ti3) Lies VAN

Nadere informatie

Discrete Wiskunde, College 12. Han Hoogeveen, Utrecht University

Discrete Wiskunde, College 12. Han Hoogeveen, Utrecht University Discrete Wiskunde, College 12 Han Hoogeveen, Utrecht University Dynamische programmering Het basisidee is dat je het probleem stap voor stap oplost Het probleem moet voldoen aan het optimaliteitsprincipe

Nadere informatie

Over binaire beslissingsdiagrammen naar Donald E. Knuth s The Art of Computer Programming, Volume 4

Over binaire beslissingsdiagrammen naar Donald E. Knuth s The Art of Computer Programming, Volume 4 Over binaire beslissingsdiagrammen naar Donald E. Knuth s The Art of Computer Programming, Volume 4 Jonathan K. Vis 1 Inleiding (blz. 70 72) In dit essay behandelen we bladzijden 70 75 van Donald E. Knuth

Nadere informatie

Examen besturingssystemen

Examen besturingssystemen Examen besturingssystemen Zaterdag 14 januari 2017, 8u30 Prof. Koen De Bosschere Richting: Naam: Belangrijk 1. Vergeet niet uw naam te vermelden. 2. Schrijf de antwoorden in de daarvoor voorziene ruimte.

Nadere informatie

Rapporten. Labels en Rapporten in Atlantis 1. Atlantis heeft twee manieren om output te genereren: 1. labels 2. rapporten (reports)

Rapporten. Labels en Rapporten in Atlantis 1. Atlantis heeft twee manieren om output te genereren: 1. labels 2. rapporten (reports) Labels en Rapporten in Atlantis 1 Atlantis heeft twee manieren om output te genereren: 1. labels 2. rapporten (reports) Rapporten Een rapport is eigenlijk altijd een tekst bestand, die vorm wordt gegeven

Nadere informatie

V = {a, b, c, d, e} Computernetwerken: de knopen zijn machines in het netwerk, de kanten zijn communicatiekanalen.

V = {a, b, c, d, e} Computernetwerken: de knopen zijn machines in het netwerk, de kanten zijn communicatiekanalen. WIS14 1 14 Grafen 14.1 Grafen Gerichte grafen Voor een verzameling V is een binaire relatie op V een verzameling geordende paren van elementen van V. Voorbeeld: een binaire relatie op N is de relatie KleinerDan,

Nadere informatie

Central Station. CS website

Central Station. CS website Central Station CS website Versie 1.0 18-05-2007 Inhoud Inleiding...3 1 De website...4 2 Het content management systeem...5 2.1 Inloggen in het CMS... 5 2.2 Boomstructuur... 5 2.3 Maptypen... 6 2.4 Aanmaken

Nadere informatie

8. Complexiteit van algoritmen:

8. Complexiteit van algoritmen: 8. Complexiteit van algoritmen: Voorbeeld: Een gevaarlijk spel 1 Spelboom voor het wespenspel 2 8.1 Complexiteit 4 8.2 NP-problemen 6 8.3 De oplossing 7 8.4 Een vuistregel 8 In dit hoofdstuk wordt het

Nadere informatie

Onder sitebeheerder verstaan we in dit geval iemand die behoort tot zowel de groep KULeuven.SecurityAdmins (= machtigingen toekennen) als

Onder sitebeheerder verstaan we in dit geval iemand die behoort tot zowel de groep KULeuven.SecurityAdmins (= machtigingen toekennen) als 1 2 Onder sitebeheerder verstaan we in dit geval iemand die behoort tot zowel de groep KULeuven.SecurityAdmins (= machtigingen toekennen) als KULeuven.Owners (volledig beheer van de site behalve machtigingen

Nadere informatie

Databases gebruiken. Databases gebruiken

Databases gebruiken. Databases gebruiken Databases gebruiken In deze module wordt van de kandidaat verwacht dat hij een goed begrip heeft van databases en aantoont competent te zijn in het gebruik van een database. Doel van de module De kandidaat:

Nadere informatie

Examen Datastructuren en Algoritmen II

Examen Datastructuren en Algoritmen II Tweede bachelor Informatica Academiejaar 2014 2015, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele

Nadere informatie

Web mining. In het bijzonder web usage mining

Web mining. In het bijzonder web usage mining Web mining In het bijzonder web usage mining Hoofdstuk web mining uit: Data Mining, Introductory and dvanced Topics; Margaret H. Dunham Web mining Web content mining: wat staat er in webpagina s? Web crawlers,

Nadere informatie

recursie Hoofdstuk 5 Studeeraanwijzingen De studielast van deze leereenheid bedraagt circa 6 uur. Terminologie

recursie Hoofdstuk 5 Studeeraanwijzingen De studielast van deze leereenheid bedraagt circa 6 uur. Terminologie Hoofdstuk 5 Recursion I N T R O D U C T I E Veel methoden die we op een datastructuur aan kunnen roepen, zullen op een recursieve wijze geïmplementeerd worden. Recursie is een techniek waarbij een vraagstuk

Nadere informatie

Greedy algoritmes. Algoritmiek

Greedy algoritmes. Algoritmiek Greedy algoritmes Algoritmiek Algoritmische technieken Trucs, methoden, paradigma s voor het ontwerpen van algoritmen Dynamisch Programmeren Divide & Conquer Greedy 2 Greedy algoritme Bouwt de oplossing

Nadere informatie

Recursion. Introductie 37. Leerkern 37. Terugkoppeling 40. Uitwerking van de opgaven 40

Recursion. Introductie 37. Leerkern 37. Terugkoppeling 40. Uitwerking van de opgaven 40 Recursion Introductie 37 Leerkern 37 5.1 Foundations of recursion 37 5.2 Recursive analysis 37 5.3 Applications of recursion 38 Terugkoppeling 40 Uitwerking van de opgaven 40 Hoofdstuk 5 Recursion I N

Nadere informatie

Twaalfde college complexiteit. 11 mei 2012. Overzicht, MST

Twaalfde college complexiteit. 11 mei 2012. Overzicht, MST College 12 Twaalfde college complexiteit 11 mei 2012 Overzicht, MST 1 Agenda voor vandaag Minimum Opspannende Boom (minimum spanning tree) als voorbeeld van greedy algoritmen Overzicht: wat voor technieken

Nadere informatie

Programmeren in C++ Efficiënte zoekfunctie in een boek

Programmeren in C++ Efficiënte zoekfunctie in een boek Examen Software Ontwikkeling I 2e Bachelor Informatica Faculteit Wetenschappen Academiejaar 2010-2011 21 januari, 2011 **BELANGRIJK** 1. Lees eerst de volledige opgave (inclusief de hints/opmerkingen)!

Nadere informatie

Technische nota AbiFire Rapporten maken via ODBC

Technische nota AbiFire Rapporten maken via ODBC Technische nota AbiFire Rapporten maken via ODBC Laatste revisie: 23 januari 2018 Inhoudsopgave 1 Inleiding... 2 2 Systeeminstellingen in AbiFire... 3 2.1 Aanmaken extern profiel... 3 2.2 Toewijzing extern

Nadere informatie

Meerdere draaitabellen maken van dezelfde gegevensbron. (tip 107)

Meerdere draaitabellen maken van dezelfde gegevensbron. (tip 107) Meerdere draaitabellen maken van dezelfde gegevensbron. (tip 107) In Cursus Excel Les 47 wordt uitgelegd hoe je van een gegevensbron een draaitabel kunt maken, echter wanneer je meerdere draaitabellen

Nadere informatie

Vierde college complexiteit. 26 februari Beslissingsbomen en selectie Toernooimethode Adversary argument

Vierde college complexiteit. 26 februari Beslissingsbomen en selectie Toernooimethode Adversary argument Complexiteit 2019/04 College 4 Vierde college complexiteit 26 februari 2019 Beslissingsbomen en selectie Toernooimethode Adversary argument 1 Complexiteit 2019/04 Zoeken: samengevat Ongeordend lineair

Nadere informatie

Schriftelijk tentamen Datastructuren Woe 5 jan uur Met uitwerkingen

Schriftelijk tentamen Datastructuren Woe 5 jan uur Met uitwerkingen Schriftelijk tentamen Datastructuren Woe 5 jan 2011 14-17 uur Met uitwerkingen 1.a. Geef een compacte definitie van wat er bij Datastructuren verstaan wordt onder een Abstract Data Type (ADT). b. Werk

Nadere informatie

Discrete Wiskunde 2WC15, Lente Jan Draisma

Discrete Wiskunde 2WC15, Lente Jan Draisma Discrete Wiskunde 2WC15, Lente 2010 Jan Draisma HOOFDSTUK 2 Gröbnerbases 1. Vragen We hebben gezien dat de studie van stelsels polynoomvergelijkingen in meerdere variabelen op natuurlijke manier leidt

Nadere informatie

Twaalfde college algoritmiek. 13 mei Branch & Bound Heap, Heapsort & Heapify

Twaalfde college algoritmiek. 13 mei Branch & Bound Heap, Heapsort & Heapify Algoritmiek 2016/Branch & Bound Twaalfde college algoritmiek 13 mei 2016 Branch & Bound Heap, Heapsort & Heapify 1 Algoritmiek 2016/Branch & Bound TSP met Branch & Bound Mogelijke ondergrenzen voor de

Nadere informatie

TECHNISCHE HULPBRON Remote Banner Control

TECHNISCHE HULPBRON Remote Banner Control TECHNISCHE HULPBRON Remote Banner Control Laat marketing zelf logo s, banners en grafische afbeeldingen bijwerken. www.exclaimer.nl Remote Banner Control Met deze functie Dynamic Content (Dynamische inhoud)

Nadere informatie

De volgende opgave gaat over de B-bomen van het college, waar sleutels zowel in de bladeren als ook in de interne knopen opgeslagen worden.

De volgende opgave gaat over de B-bomen van het college, waar sleutels zowel in de bladeren als ook in de interne knopen opgeslagen worden. . a) Een Fibonacci boom (niet te verwarren met een Fibonacci queue) van hoogte h is een AVL-boom van hoogte h met zo weinig mogelijk knopen. i. Geefvoorh =,,,,eenfibonacciboomvanhoogteh(eenboombestaande

Nadere informatie

3. Structuren in de taal

3. Structuren in de taal 3. Structuren in de taal In dit hoofdstuk behandelen we de belangrijkst econtrolestructuren die in de algoritmiek gebruikt worden. Dit zijn o.a. de opeenvolging, selectie en lussen (herhaling). Vóór we

Nadere informatie

Examen Programmeren 2e Bachelor Elektrotechniek en Computerwetenschappen Faculteit Ingenieurswetenschappen Academiejaar juni, 2010

Examen Programmeren 2e Bachelor Elektrotechniek en Computerwetenschappen Faculteit Ingenieurswetenschappen Academiejaar juni, 2010 Examen Programmeren 2e Bachelor Elektrotechniek en Computerwetenschappen Faculteit Ingenieurswetenschappen Academiejaar 2009-2010 16 juni, 2010 **BELANGRIJK** 1. Lees eerst de volledige opgave (inclusief

Nadere informatie

gravita PSUR-C conversie en import van relaties in PSU Relatiebeheer Algemeen

gravita PSUR-C conversie en import van relaties in PSU Relatiebeheer Algemeen gravita PSUR-C conversie en import van relaties in PSU Relatiebeheer Algemeen Het converteren van adres- en andere relatiegegevens in PSU Relatiebeheer, en wat dat betreft elke koppeling tussen verschillende

Nadere informatie

Handmatig genereren van overzichten add-on geneesmiddelen en OZP stollingsfactoren met behulp van de G-Standaard.

Handmatig genereren van overzichten add-on geneesmiddelen en OZP stollingsfactoren met behulp van de G-Standaard. Datum 4 oktober 2017 Versienummer 1.1 Pagina 1/11 Z-Index Alexanderstraat 11 2514 JL Den Haag Postbus 16090 2500 BB Den Haag T 070-37 37 400 F 070-37 37 401 info@z-index.nl www.z-index.nl KvK: Haaglanden

Nadere informatie

2.8 Tabellen importeren of koppelen

2.8 Tabellen importeren of koppelen 2.8 Tabellen importeren of koppelen In Acces kan u gebruik maken van tabellen uit een andere applicaties zoals Excel. U kunt kiezen tussen het koppelen van de tabellen, voor als u deze nog in de oorspronkelijke

Nadere informatie

1 FASE 1: Documenttype selecteren

1 FASE 1: Documenttype selecteren Voornaam:... Datum:... Naam:... Klas:... Nr:... 1 FASE 1: Documenttype selecteren De bedoeling hiervan is het hoofddocument in het leven te roepen, zonder er verder aan te werken. Het is alsof het gegevensbestand

Nadere informatie

SQL Aantekeningen 3. Maarten de Rijke mdr@science.uva.nl. 22 mei 2003

SQL Aantekeningen 3. Maarten de Rijke mdr@science.uva.nl. 22 mei 2003 SQL Aantekeningen 3 Maarten de Rijke mdr@science.uva.nl 22 mei 2003 Samenvatting In deze aflevering: het selecteren van tuples, operaties op strings, en aggregatie functies. Verder kijken we naar iets

Nadere informatie

Schriftelijk tentamen Datastructuren Ma 8 aug uur Met voorbeeld uitwerking

Schriftelijk tentamen Datastructuren Ma 8 aug uur Met voorbeeld uitwerking Schriftelijk tentamen Datastructuren Ma 8 aug 2011 10-13 uur Met voorbeeld uitwerking 1. Gegevens kunnen expliciet of impliciet voor computerbewerkingen worden opgeslagen; leg uit aan de hand van een vierkant

Nadere informatie

Examen Datastructuren en Algoritmen II

Examen Datastructuren en Algoritmen II Tweede bachelor Informatica Academiejaar 2005 2006, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. 1. Splaybomen

Nadere informatie

Inhoud. Endnote X7 Handleiding Mediacentrum maart 2015 Page 2

Inhoud. Endnote X7 Handleiding Mediacentrum maart 2015 Page 2 Inhoud Over Endnote... 3 Endnote installeren... 4 Een library aanmaken... 5 Voordat je begint!... 6 Tussenvoegsels in namen... 6 Referenties invoegen in een Worddocument/Cite while you write... 7 Handmatig

Nadere informatie

Zelftest Informatica-terminologie

Zelftest Informatica-terminologie Zelftest Informatica-terminologie Document: n0947test.fm 01/07/2015 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTIE Deze test is een zelf-test, waarmee u

Nadere informatie

Inhoudsopgave Voorwoord 5 Nieuwsbrief 5 Introductie Visual Steps 6 Wat heeft u nodig? 6 Voorkennis 7 Hoe werkt u met dit boek?

Inhoudsopgave Voorwoord 5 Nieuwsbrief 5 Introductie Visual Steps 6 Wat heeft u nodig? 6 Voorkennis 7 Hoe werkt u met dit boek? Inhoudsopgave Voorwoord... 5 Nieuwsbrief... 5 Introductie Visual Steps... 6 Wat heeft u nodig?... 6 Voorkennis... 7 Hoe werkt u met dit boek?... 7 De website bij het boek... 8 Toets uw kennis... 8 Voor

Nadere informatie

Deel A: Voor de Desktopversie

Deel A: Voor de Desktopversie Deel A: Voor de Desktopversie Stap 1 (p.3): Installeer Qlik Sense desktop via het setupbestand, te downloaden na registratie op https://qlikcloud.com/ Stap 2 (p.4): Selecteer het Qlikbestand (app) Stap

Nadere informatie

2.2 Een tabel ontwerpen

2.2 Een tabel ontwerpen 2.2 Een tabel ontwerpen 2.2.1 Gegevens analyse Alvorens de tabellen van een database te kunnen gaan opzetten, dient u eerst te bepalen, welke gegevens daarin moeten worden opgenomen. Bepaal eerst het doel

Nadere informatie

Amorized Analysis en Union-Find Algoritmiek

Amorized Analysis en Union-Find Algoritmiek Amorized Analysis en Union-Find Vandaag Amortized analysis Technieken voor tijdsanalyse van algoritmen Union-find datastructuur Datastructuur voor operaties op disjuncte verzamelingen Verschillende oplossingen

Nadere informatie

Examen Datastructuren en Algoritmen II

Examen Datastructuren en Algoritmen II Tweede bachelor Informatica Academiejaar 2016 2017, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele

Nadere informatie

Het Gegevensmodel en draaitabellen in Excel 2013 (tip 193)

Het Gegevensmodel en draaitabellen in Excel 2013 (tip 193) Het Gegevensmodel en draaitabellen in Excel 2013 (tip 193) In vorige versies van Excel moest men om data te analyseren van verschillende bronnen deze data eerst ingeven of importeren in Excel, en om deze

Nadere informatie

Hoofdstuk 15: Afdruk samenvoegen

Hoofdstuk 15: Afdruk samenvoegen Hoofdstuk 15: Afdruk samenvoegen 15.0 Inleiding Afdrukken samenvoegen wordt vaak gebruikt om een aantal soortgelijke documenten te maken, die gegevens bevatten die afkomstig zijn uit een apart document

Nadere informatie

Normaliseren van tabellen Praktische oefeningen

Normaliseren van tabellen Praktische oefeningen Normaliseren van tabellen Praktische oefeningen Oefening 1 : Het gebruik van een OPZOEKTABEL Maak eerst een backup van de werkende versie In onze eigen database moeten we het principe van een opzoektabel

Nadere informatie

6. Het maken van een database

6. Het maken van een database 6. Het maken van een database 6.1. Inleiding In hoofdstuk 5 heb je de oefendatabase gemaakt doormiddel van een script. In dit hoofdstuk ga je zelf een database maken en deze vullen met tabellen. Hiervoor

Nadere informatie

4orange Connect. 4orange, 2015. Hogehilweg 24 1101 CD Amsterdam Zuidoost www.4orange.nl

4orange Connect. 4orange, 2015. Hogehilweg 24 1101 CD Amsterdam Zuidoost www.4orange.nl 4orange Connect 4orange, 2015 Hogehilweg 24 1101 CD Amsterdam Zuidoost www.4orange.nl 2 Inhoud Inhoud... 2 1. Achtergrond... 3 2) Browsen... 4 3) Scheduler... 4 4) Frequenties en kruistabellen... 4 5)

Nadere informatie

Databank - Basis 1. Inhoud. Computervaardigheden en Programmatie. Hoofdstuk 4 Databank - Basis. Terminologie. Navigeren door een Venster

Databank - Basis 1. Inhoud. Computervaardigheden en Programmatie. Hoofdstuk 4 Databank - Basis. Terminologie. Navigeren door een Venster 4. 4. Inhoud rste BAC Toegepaste Biologische Wetenschappen Hoofdstuk 4 Databank Terminologie, Navigeren, Importeren Tabellen Records/Velden manipuleren Queries (Vragen) [Ook in SQL] sorteren filter volgens

Nadere informatie

Informatie & Databases

Informatie & Databases Informatie Wat is informatie en waaruit het bestaat? Stel op een kaart staat het getal 37 geschreven. Wat kun je dan zeggen van het cijfer 37? Niets bijzonders, toch? Alleen dat het een getal is. Gaat

Nadere informatie

2WO12: Optimalisering in Netwerken

2WO12: Optimalisering in Netwerken 2WO12: Optimalisering in Netwerken Leo van Iersel Technische Universiteit Eindhoven (TU/E) en Centrum Wiskunde & Informatica (CWI) 27 februari 2014 http://homepages.cwi.nl/~iersel/2wo12/ l.j.j.v.iersel@gmail.com

Nadere informatie

Hoofdstuk 13: Sorteren & Filteren* 2010

Hoofdstuk 13: Sorteren & Filteren* 2010 Hoofdstuk 13: Sorteren & Filteren* 2010 13.0 Inleiding Spreadsheets bieden meer grip op gegevens. De twee beste manieren om meer grip te krijgen, is door de gegevens te sorteren of door bepaalde waarden

Nadere informatie

Kortste Paden. Algoritmiek

Kortste Paden. Algoritmiek Kortste Paden Toepassingen Kevin Bacon getal Six degrees of separation Heeft een netwerk de small-world eigenschap? TomTom / Google Maps 2 Kortste paden Gerichte graaf G=(N,A), en een lengte L(v,w) voor

Nadere informatie

Info-books. Toegepaste Informatica. Handleiding. Deel 40c : Gegevensbeheer en algoritmen in Access. HA40c. Jos Gils Erik Goossens

Info-books. Toegepaste Informatica. Handleiding. Deel 40c : Gegevensbeheer en algoritmen in Access. HA40c. Jos Gils Erik Goossens Info-books HA40c Toegepaste Informatica Handleiding Deel 40c : Gegevensbeheer en algoritmen in Access Jos Gils Erik Goossens Veldlengte Het maximale aantal tekens dat in een veld kan ingevoerd worden.

Nadere informatie

Samenvoegen Brieven. Word en Excel gegevens samenvoegen. Adresgegevens van Excel samenvoegen met een brief in Word.

Samenvoegen Brieven. Word en Excel gegevens samenvoegen. Adresgegevens van Excel samenvoegen met een brief in Word. Samenvoegen Brieven Word en Excel gegevens samenvoegen Adresgegevens van Excel samenvoegen met een brief in Word. Peter Franke 9-2-2014 Brieven samenvoegen Met behulp van adressen uit Excel zijn er gepersonaliseerde

Nadere informatie

Les 10 : Aanmaken van een database (deel2).

Les 10 : Aanmaken van een database (deel2). Les 10 : Aanmaken van een database (deel2). Wat is een database? Een centrale opslagruimte voor gegevens. Alle informatie wordt centraal opgeslagen en kan door iedereen geraadpleegd worden. Voordelen van

Nadere informatie

Het belang van het ontwerp en het gebruik van templates

Het belang van het ontwerp en het gebruik van templates 1 1.1 Inleiding Een van de belangrijkste redenen voor mensen om meer inzicht te willen hebben in gevorderde Excel technieken is om in staat te zijn projecten sneller en efficiënter te voltooien. Het is

Nadere informatie

1. Databanken. Wat is een databank? Verschillende opslagmethodes

1. Databanken. Wat is een databank? Verschillende opslagmethodes 1. Databanken Wat is een databank? Verschillende opslagmethodes Tekst bestanden Spreadsheet Relationele gegevensbanken Relationeel model De gestandaardiseerde opvraagtaal SQL Beheer van een mysql databank

Nadere informatie

1 Labo 4 H 8 Jobs, Alerts en Operators H 9 Monitoring en Troubleshooting

1 Labo 4 H 8 Jobs, Alerts en Operators H 9 Monitoring en Troubleshooting 1 Labo 4 H 8 Jobs, Alerts en Operators H 9 Monitoring en Troubleshooting SQL Server 2008 R2 - Labo 4-1 1.1 Database Mail Configureer database mail zodat e-mail wordt verstuurd met je eigen e-mailadres

Nadere informatie

Hoofdstuk 7: Als Excel vastloopt

Hoofdstuk 7: Als Excel vastloopt Hoofdstuk 7: Als Excel vastloopt 7.0 Inleiding De meeste mensen die Excel gebruiken hebben af en toe te maken met vertraging en vastlopen van het systeem. Soms verschijnt zelfs de boodschap "Er is een

Nadere informatie

4EE11 Project Programmeren voor W. College 3, 2008 2009, Blok D Tom Verhoeff, Software Engineering & Technology, TU/e

4EE11 Project Programmeren voor W. College 3, 2008 2009, Blok D Tom Verhoeff, Software Engineering & Technology, TU/e 4EE11 Project Programmeren voor W College 3, 2008 2009, Blok D Tom Verhoeff, Software Engineering & Technology, TU/e 1 Onderwerpen Grotere programma s ontwerpen/maken Datastructuren en algoritmes 2 Evolutie,

Nadere informatie

Handleiding Afdrukken samenvoegen

Handleiding Afdrukken samenvoegen Handleiding Afdrukken samenvoegen Versie: 1.0 Afdrukken Samenvoegen Datum: 17-07-2013 Brieven afdrukken met afdruk samenvoegen U gebruikt Afdruk samenvoegen wanneer u een reeks documenten maakt, bijvoorbeeld

Nadere informatie

Opgave 1. (4 punten) Inleiding: Vraag: Hints: (maximaal 2 bonuspunten) Tentamen Algoritmiek voor Biologen

Opgave 1. (4 punten) Inleiding: Vraag: Hints: (maximaal 2 bonuspunten) Tentamen Algoritmiek voor Biologen Opgave 1. (4 punten) Elk jaar verliest een boom al z'n bladeren. Een boom begint op dag D met B bladeren. Op de eerste dag is voor elk blad dat aan de boom zit de kans op afvallen 0.03. Voor elke volgende

Nadere informatie

U ziet de progressie van de download aan de groene blokjes in het balkje helemaal onder aan de pagina.

U ziet de progressie van de download aan de groene blokjes in het balkje helemaal onder aan de pagina. Gegevens exporteren en bewerken vanuit GRIEL Stap 1. Selecteer de juiste gegevens en download deze 1. Stel het datumfilter in op de gewenste periode. Druk op ververs. 2. Maak met behulp van het filter

Nadere informatie

Huiswerk Spreekbeurten Werkstukken

Huiswerk Spreekbeurten Werkstukken Huiswerk Spreekbeurten Werkstukken - 2 - Weer huiswerk? Nee, deze keer geen huiswerk, maar een boekje óver huiswerk! Wij (de meesters en juffrouws) horen jullie wel eens mopperen als je huiswerk opkrijgt.

Nadere informatie

Examen Datastructuren en Algoritmen II

Examen Datastructuren en Algoritmen II Tweede bachelor Informatica Academiejaar 2006 2007, tweede zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. 1. Verzamelingen:

Nadere informatie

Examen Algoritmen en Datastructuren III

Examen Algoritmen en Datastructuren III Derde bachelor Informatica Academiejaar 2006 2007, tweede zittijd Examen Algoritmen en Datastructuren III Naam :.............................................................................. 1. (2 pt)

Nadere informatie

Aan de slag met AdminView

Aan de slag met AdminView Aan de slag met AdminView uitgebreide handleiding S for Software B.V. Gildeweg 6 3771 NB Barneveld tel 0342 820 996 fax 0342 820 997 e-mail info@sforsoftware.nl web www.sforsoftware.nl Inhoudsopgave 1.

Nadere informatie