DATABANKEN. Prof. Ir. W. Verschelde

Maat: px
Weergave met pagina beginnen:

Download "DATABANKEN. Prof. Ir. W. Verschelde"

Transcriptie

1 DATABANKEN Prof. Ir. W. Verschelde Nuttige literatuur: 1. An Introduction to Database Systems C.J. Date Addison-Wesley Publishing Company ISBN Fundamentals of Database Systems Elmasri & Navathe Addison-Wesley ISBN Leerboek Databases: beginselen, ontwerp, implementatie David M. Kroenke Academic Service ISBN

2 1. Eerste definitie van database : INLEIDING Een bewaarplaats/opslagplaats (Engels: Repository) voor een verzameling gecomputeriseerde datafiles. Er zijn bijgevolg faciliteiten nodig voor: Op file-niveau: adding en removing. Op data-niveau: inserting, retrieving, updating en deleting. 2. Strategie: Modelleren: Door inzicht te krijgen in het model dat de gebruikers hebben van de wereld. Dit resulteert in het gegevensmodel. Het ontwerpen van de relationele database: dus het omzetten in een ontwerp zo dat het een accurate weergave is van het model. In deze cursus worden enkel de relationele databanken besproken. Een doelstelling is ook noties bij te brengen van SQL (= Structured Query Language), aangezien dit een standaardmiddel is om via een applicatie toegang te krijgen en bewerkingen uit te voeren in een databank. Voorbeelden van applicaties zijn o.a. zoekopdrachten (queries), het maken van overzichten enz 3. Behandelde thema' s: I. Grondbegrippen II. Gegevensmodellering (Entiteit/Relatie model) III. Ontwerp van databanken: - het relationele model - het normalisatieproces IV. Database- implementatie Noot: multi-user systemen en niet-relationele implemantaties zijn niet de topics van deze cursus.

3 HOOFDSTUK 1 : ALGEMENE BEGRIPPEN i.v.m. DATABASE- VERWERKING 1. (relationele) tabel (file) a. Voorbeeld 1: Gegevens over een wijnkelder Iets waarover men informatie wil opslaan (= a distinguishable object) is een entiteit. De gegevens hebben verwantschap met elkaar, vormen een relatie, en worden in een relationele databank opgeslagen in een tabel. code wijn producent jaar aantal flessen klaar 1 Riesling X Riesling Y Bordeaux Z Een rij van zo'n tabel is een: record of tupel (Engels: tuple). Een kolom van zo'n tabel is een: veld of attribuut. Noot: Data = waarden Informatie = betekenis van de waarden b. Voorbeeld 2 : Klanten - Wijn - Referenties Een vraag die zou kunnen gesteld worden, is de volgende: Welke wijn werd gekocht door welke klant en wie beval hem aan? Later zal blijken dat een goede oplossing zou kunnen bestaan in het creëren van 3 tabellen (via het DBMS, cfr. 1.2). In de rijen van de tabellen zijn gegevens toegevoegd die naar elkaar verwijzen, zodat de tabellen onderling gekoppeld zijn. De kolommen van de tabellen zouden respectievelijk de volgende kunnen zijn: Klanten: klantcode; klantnaam; adres; telefoon; referentiecode Wijn: wijncode; wijnsoort; prijs; klantcode Referenties: referentiecode; naam; adres Noot: Hier werd uitgegaan van het standpunt van een single-user database. Vaak moeten meerdere mensen tegelijk vanuit verschillende computers toegang hebben tot dezelfde databank. Dit kan bijvoorbeeld gebeuren via een LAN. Een probleem dat zich stelt is onder andere: wat als 2 klanten dezelfde fles wijn willen hebben. Het DBMS en de databasetoepassing moeten deze situatie herkennen.

4 Het kan ook nuttig zijn netwerken te gebruiken voor het opslaan en verwerken van multimedia gegevens (cfr. reclame). Een voorbeeld van een grote databank is deze gebruikt voor de nummerplaten administratie. Er zijn nu zeer veel gebruikers en er is een grote geheugencapaciteit nodig. Hoe is dit oplosbaar? In deze cursus wordt het standpunt van de gebruiker ingenomen. De speciale problemen van multi-user databanksystemen zijn voornamelijk gerelateerd met problemen internal to the system and dus niet zichtbaar voor de user. Daarom zijn ze in eerste instantie niet het interessepunt van deze cursus. 2. Het Data Base Management Svstem. Een database heeft vier componenten: 1. Data: single-user of multi-user system integrated : een databank is een soort unificatie van verschillende datafiles, waarbij redundantie zoveel mogelijk geëlimineerd wordt. shared : dezelfde informatie kan door meerderen gebruikt worden. 2. Hardware: - 3. Software: het DBMS is de software dat alle toegang (access) tot de databank afhandelt. De hoofdfunctie van het DBMS is een user-interface verschaffen tot de databank. (user-interface = a boundary below which eveything is invisable to the user) 4. Users: end-users applicatieprogrammeurs database admistrator Appendix: Database-verwerkingssytemen zijn een grote vooruitgang ten opzichte van de vroegere bestandsverwerkingssystemen. Dan werden groepen records in afzonderlijke bestanden opgeslagen. Dit was dus File-processing. De voornaamstebeperkingen vandeze manier van werken waren: gescheiden en geïsoleerde gegevens (probleem: hoe de twee files combineren?) gegevens worden vaak gedupliceerd (problemen: opslagcapaciteit en gegevensintegriteit) applicatieprogramma' s zijn afhankelijk van de gebruikte file-structuur incompatibele bestanden (bijvoorbeeld: geschreven in een andere taal)

5 3. Werking van een DBMS a. Database architectuur (ANSI/SPARC): External Level: Van belang voor hoe (een gedeelte van) de data gezien worden door de individule gebruikers, er kunnen verschillende external views zijn, naargelang de noden van de gebruikers. Conceptual Level: Beschrijft de structuur van de gehele databank, er zal dus maar één conceptual view zijn, die toont hoe de databank in werkelijk eruit ziet. Internal Level: Beschrijft hoe de data fysisch opgeslagen zijn. Het systeem moet natuurlijk bewust gemaakt worden hoe de ene laag correspondeert met de andere. Deze beschrijvingen worden mappings genoemd. Zo zullen er External/Conceptual mappings bestaan tussen de external view en de conceptual view, alsook een Conceptual/ Internal mapping tussen de conceptual en de internal view. Bijvoorbeeld: Klantnummer in de C-taal correspondeert met: CUSTOMER_NR CHARACTER (6) in de conceptuele view die op zijn beurt correspondeert met EMP# TYPE = BYTE(6), in de internal view Iedere gebruiker heeft op zijn minst een taal ter beschikking (C, COBOL,..) of ontwerp gereedschappen (Access). Deze bevatten een data sublanguage, zijnde een subset van de taal speciaal voor database objecten en bewerkingen. Een taal die door bijna alle courante systemen gesupporteerd wordt, is SQL. SQL kan: interactief gebruikt worden (als een stand-alone query language) ingebed zijn in andere talen als C, COBOL, Maar ieder data sublanguage is alleszins een combinatie van minstens 2 ondergeschikte talen: DDL: data definition language de definitie/declaratie van data-objects DML: data manipulation language manipulatie of processing van data-objects Iedere external view is gedefinieerd door middel van een external schema (= definities van de externe recordtypes). Dit externe schema is geschreven, gebruik makend van het DDL gedeelte van de user's data sublanguage (dat daarom soms external DDL genoemd wordt). Bovendien dient de mapping gedefinieerd worden tussen het external schema en het onderliggende conceptual schema.

6 De conceptual view van het conceptuallevel is de voorstelling van de gehele informatieinhoud van de databank. Deze view is gedefinieerd door middel van het conceptual schema (= definities van elk van de verschillende records van de databank). Dit wordt geschreven in conceptual DDL. Deze DDL definities mogen echter geen beschouwingen insluiten van hoe de data fysisch gestockeerd worden (cfr. data onafhankelijkheid)! Analoge beschouwingen gelden voor de internallevel. De internallevel is de low-ievel voorstelling van de gehele databank. De internal view is bijgevolg gedefinieerd door het internal schema, geschreven in internal DDL. Zoals reeds vermeld, definiëren mappings de overeenkomsten tussen de respectievelijke levels. Wat is het voordeel daarvan? Welnu, neem als voorbeeld de conceptual/internal mapping. Deze specifieert hoe de conceptuele records en velden voorgesteld worden op het internallevel. Welnu, als de structuur van de opgeslagen databank verandert, dan moet deze mapping overeenkomstig mee veranderd worden, zo dat het conceptuele schema onveranderd kan blijven!! Met andere woorden, de effecten van zulke veranderingen moeten geïsoleerd worden van het conceptuele niveau, zo dat de data independence kan gevrijwaard blijven. Noot: Taak van de database administrator : Definieert het conceptuele schema: namelijk welke informatie moet gestockeerd worden? Welke zijn de entiteiten? (= logical database design). Hij gebruikt daarvoor de conceptuele DDL. Bepaalt het internal schema, dit wil zeggen de beschrijving van de fysische stockage (= physical database design). Andere taken zijn onder andere: het opstellen van de security and integrity rules, het monitoren van de performantie van de database, wijzigingen aanbrengen naargelang de vraag,... b. Werking van het DBMS: Zoals reeds gezegd, is het DBMS de software dat alle access tot de databank behandelt: de user verzoekt om access (bijvoorbeeld via SQL): het DBMS intercepteert dat verzoek en analyseert het het DBMS onderzoekt het external schema voor die user het DBMS onderzoekt de external/conceptual mapping het DBMS onderzoekt het conceptual schema het DBMS onderzoekt de conceptual/internal mapping het DBMS onderzoekt de storage-structure definitie het DBMS voert de nodige operaties uit op de databank

7 Functies van het DBMS zijn bijgevolg onder andere: Het behandelen van de data-definities (external, conceptual, internal schema, mappings) in broncode en deze kunnen omzetten in objectcode, in andere woorden: het DBMS moet language processor componenten bevatten van de verschillende DDL-talen en de datadefinities kunnen interpreteren en linken met de onderliggende niveaus. Data manipulatie: het DBMS moet een verzoek van de user kunnen behandelen, bijvoorbeeld: retrieve, update, delete, add: een DML-processor nodig. Data security, gegevensintegriteit, data recovery. Het DBMS moet in een data dictionary functie voorzien, deze bevat data over de data = metadata = definities van andere objecten in het databanksysteem. Dit wil zeggen: alle schema's (external, conceptual, internal) en mappings moeten fysisch opgeslagen worden in bron- en objectvorm in die bibliotheek, alsook andere informatie, zoals bijvoorbeeld: welke user heeft welk rapport nodig? 4. Het begrip database a. Wat? Een database is een zichzelf beschrijvende verzameling van geïntegreerde records. zichzelfbeschrijvend: dit wil zeggen, het bevat: o gebruikersgegevens o een beschrijving van zijn eigen structuur (data-dictionary) Het belang van die data-dictionary is tweevoudig: o De programma/gegevensonafhankelijkheid wordt erdoor vergroot. Data independence is de immuniteit van applicaties voor veranderingen in de manier waarop de gegevens gestockeerd worden en ge-accessed worden. Immers, externe documentatie over de bestands- en recordopmaak -zoals bij bestandsverwerkingssytemen- is niet nodig, want de structuur en de inhoud van de databank kan uit de database zelf worden gehaald. o Bij wijziging van de gegevensstructuur in de databank (bijvoorbeeld het toevoegen van nieuwe velden), hoeven deze wijzigingen alleen opgenomen te worden in de datadictionary. Verzameling geïntegreerde records: een databank bestaat niet alleen uit bestanden, maar bevat ook meta-data, indexen, applicatiemeta-data. Noot: Een databank is een model van een model! Dat wil zeggen, een databank is geen model van de werkelijkheid, maar een model van het gebruikersmodel van de werkelijkheid.

8 b. Waarom databanken? Een databank verschaft een gecentraliseerde controle van de data. De voordelen zijn onder andere: Redundantie kan gereduceerd worden (in niet-databank systemen heeft iedere applicatie zijn eigen private files); Dit wil echter niet zeggen dat er geen redundantie meer mag zijn. Bijgevolg kan inconsistentie vermeden worden. De integriteit kan bewaard worden, dit wil zeggen het verzekeren dat de data in de databank accuraat zijn; dat heeft natuurlijk ook te maken met inconsistentie. Maar ook simpele tikfouten kunnen incorrecte informatie veroorzaken. Bijvoorbeeld: iemand werkt in afdeling "70", terwijl er maar 10 afdelingen zijn. Gecentraliseerde controle kan dit detecteren. Data kunnen geshared worden. Standardisatie van de gegevens (cfr. gegevensuitwisseling). Veiligheidsbeperkingen i.v.m. de toegang tot de databank. 5. Historiek & de opgang van het Relationele Model In het begin werd databankverwerking vooral populair in grote bedrijven, cfr. transactieverwerking zoals boekhouden, stockbeheer, bestellingen enz.. Maar al snel werden ook nadelen ontdekt! Databaseverwerking maakt bedrijven ook kwetsbaarder! Maar de ontwikkeling van nieuwe methoden voor het controleren, beveiligen en bewaren van gegevens, bracht grote verbetering. Met de komst van de Pc s kwamen er ook databanktoepassingen voor persoonlijk gebruik en werden die later in een netwerk verbonden (LAN s). Nu worden databanken ook frequent gebruikt voor multimedia toepassingen op grote netwerken. Eind de jaren '70 werd een belangrijke stap gezet die tegemoet kwam aan de noden van de gebruikers: de mogelijkheid voor de gebruikers om zelf de data te kunnen benaderen (in plaats van enkel de programmeurs ) en snel een antwoord te krijgen op hun vragen. Dit werd gerealiseerd door de ontwikkeling van het relationele model. Codd publiceerde in 1970 zijn ideeën en die werden uitgewerkt tot het relationele database model (eind '70, begin '80). Typisch voor dit model : De data worden door de gebruiker waargenomen als tabellen. De operatoren, ter beschikking van de gebruiker (bijvoorbeeld voor data retrieval), genereren nieuwe tabellen uit de oude.

9 6. Enkele beschouwingen over multi-user systemen In 1979 bracht Ashton- Tate dbase II op de markt, een programma voor microcomputers. Dit programma deed vooral aan bestandsbeheer, maar vanaf dbase IV en de daaropvolgende versies zijn het echte relationele DBMS-producten geworden. Ook producten bedoeld voor mainframes werden aangepast voor gebruik op microcomputers, zoals bij voorbeeld: Oracle en Ingres. Later werden nog DBMS'n ontwikkeld voor microcomputers, zoals Paradox. Een belangrijk gevolg van deze evolutie was de enorme verbetering in DBMS-userinterfaces. Denk maar aan Access binnen MS- Windows, met zijn interfaces met grafische schermen. Na 1985, met de komst van de LAN s, konden computers veel sneller gegevens uitwisselen. Er is een groot verschil van manier van werken ten opzichte van mainframes. Op een mainframe wordt maar 1 centrale processor gebruikt voor de databankverwerking. Op LAN s kunnen meerdere processors tegelijkertijd bezig zijn met de gegevensverwerking. Om deze toenemende complexiteit te kunnen beheersen alsook om de systeemprestaties te verhogen en de communicatiekosten te verlagen, werd de client/server architectuur ontwikkeld. 7. Client/server architectuur Een client/server systeem bestaat uit een netwerk van computers: Client-computers : bevatten de applicatieprogramma's en voeren de applicaties uit; ze bevatten ook de DBMS-driver, die de aanvragen (bv. in SQL)voor gegevensverwerking van de applicatie ontvangen en doorgeven aan het DBMS, alsook de antwoorden van het DBMS accepteren en omzetten naar een geschikte vorm voor de applicatie. Ze bevatten ook de gebruikersinterface. server(s): bevat het DBMS en de programma's voor bestandsbeheer (m.b.v. besturingssysteemfuncties); hier wordt o.a. ook de concurrency controle (controle op gelijktijdige toegang tot gegevens) afgehandeld. Zowel de client-computers als de server bevatten communicatiesoftware om de berichten tussen DBMS-driver en DBMS te kunnen verzenden en ontvangen. Noot: Hier gaan we ervan uit dat -als er meerdere servers zouden zijn- ze onderling onafhankelijke databanken beheren, dit wil zeggen één databank per server. Is dit niet het geval, dan spreken we van een gedistribueerde database.

10 1. Inleiding HOOFDSTUK 2 : HET ENTITEIT-RELATIEMODEL Het ontwikkelen van een databasetoepassing begint met het identificeren van de entiteiten, gevolgd door het beschrijven van de structuur en onderlinge relaties van deze entiteiten. Kort samengevat, betekent dit: het creëren van het gebruikersgegevensmodel = gegevensmodellering. Dit gebruikersgegevensmodel zal moeten aangeven wat moet ontwikkeld worden om aa de informatiebehoeften van de gebruikers te voldoen. Twee strategieën kunnen gevolgd worden: top-down: men begint met het formuleren van een aantal bedrijfsdoelstellingen en vervolgens probeert men vast te stellen welke data en functies men moet hebben om deze doelstellingen te bereiken. Voordeel: de gegevensmodellen worden uitgewerkt vanuit het gezichtspunt van de hele organisatie. Het E/R-model is geschikter voor deze manier van ontwikkelen. bottom-up : men ontwikkelt eerst een specifiek systeem, en vervolgens gaat men anaylseren om verder het systeem verder op te bouwen. Voordeel: sneller en minder riskant. Het entiteit-relatiemodel: cfr. Peter Chen (1976) 2. Definities domain: de verzameling van mogelijke scalaire waarden, allemaal van hetzelfde type, die een veld kan aannemen (eigenlijk vergelijkbaar met een data type). entiteit: een onderscheidbaar object uit de werkomgeving van de gebruiker; bijvoorbeeld: leverancier. zwakke entiteit: zwakke entiteiten zijn entiteiten, die voor hun bestaan in de databank (in logische zin) afhankelijk zijn van een andere entiteit, die dan de sterke entiteit is; vb. een medewerker (sterk) en zijn ondergeschikte (zwak). ID-afhankelijke entiteit: is een speciaal geval van zwakke entiteit; het is entiteit waarvan de identifier ook de identifier van een andere entiteit bevat; bijvoorbeeld: gebouw (Gebouwnaam) en zijn ID-afhankelijke entiteit appartement (Gebouwnaam, Appartementnummer). attribuut (eigenschap, Engels: property): beschrijft een kenmerk van de entiteit; bijvoorbeeld: leveranciersnaam. identifier: een of meer attributen van een entiteit, die entiteitsinstanties identificeren. Voorbeelden: leveranciersnaam, leveranciersnummer,, een identifier kan uniek of nietuniek zijn, leveranciersnaam kan bijvoorbeeld niet-uniek zijn. sleutel: een groep van een of meer attributen die een rij in een tabel uniek identificeren. relatie: een verband tussen entiteiten.

11 graad van de relatie: duidt aan hoeveel entiteiten in de relatie betrokken zijn. In het E/Rmodel worden bijna alleen binaire relaties gebruikt. subtype: als werknemers een entiteit is, dan kan bijvoorbeeld programmeurs een subtype zijn van het supertype werknemers; alle eigenschappen van werknemers zijn dan ook van toepassing op programmeurs (alhoewel het omgekeerde niet waar is!). Dus, de eigenschappen van het supertype worden "geërfd" (inherited) door het subtype. 3. De 3 soorten binaire relaties: a) De 1:1 relatie (één op één): bijvoorbeeld: KADERLID---1:1---AUTO b) De I:N relatie (één op veel): bijvoorbeeld: HUIS---1:N---BEWONER c) De N:M relatie (veel op veel) bijvoorbeeld: STUDENT---N:M---OPLEIDINGSONDERDEEL 4. E/R-diagrammen: Dit is een techniek om de logische structuur van een databank op een picturale manier voor te stellen. volgens M. Kroenke: entiteit: door rechthoek zwakke entiteit: door rechthoek met afgeronde hoeken (ook de bij horende relatie-ruit heeft afgeronde hoeken) relatie: door een ruit attribuut: door een ellips Noot 1: cardinaliteit Maximale Cardinaliteit: het maximum aantal entiteiten (instanties) dat met een andere entiteit kan verbonden zijn (weergegeven in de ruit van de relatie). Meestal is dit 1 of N(M). Minimale cardinaliteit: geeft het minimaal verplichte aantal verplichte entiteiten aan (meestaloof 1) ; Voorbeeld: KOTHUIS :N STUDENT Dit wil zeggen: in een kothuis verblijft minimaal 1 student, maar een student hoeft niet in een kot te verblijven. Noot 2: recursieve relaties Relaties tussen entiteiten van dezelfde entiteitsklasse kunnen ook voorkomen! Een werknemer kan in dezelfde werkgroep zitten met andere werknemers.

12 5. Algemene stappen om te komen tot een gegevensmodel Algemeen beschouwd kunnen vier stappen onderscheiden worden: identificeer een set van nuttige bruikbare concepten: entiteiten, attributen, identifiers, relaties tussen entiteiten en subtypes. ontwerp een set van formele objecten (E/R model en E/R diagrammen). bedenk de formele integriteitsregels. bedenk de nodige formele operatoren (om stappen 2 en 3 te implementeren; gebaseerd op de relationele algebra). Hier wordt verder gebruik gemaakt van het E/R model. De ontwerp procedure ziet er bijgevolg als volgt uit: gebruik het entiteit/relatie model om via top-down methodologie de "grote" relaties te ontwerpen, gebruik makend van entiteiten, zwakke entiteiten, enz maak van deze grote relaties kleinere efficiëntere relaties via normalisatie technieken.

13 1. Definitie normalisatie HOOFDSTUK 3: NORMALISATIE Normalisatie is een procedure door dewelke een relatie, die bepaalde problemen bevat, kan geconverteerd worden naar 2 of meer relaties die deze problemen niet bevatten. Noot: een bijkomend voordeel is dat via dit proces de wenselijkheid en correctheid van relaties kan beoordeeld worden. E.F. Codd heeft baanbrekend werk op dit gebied verricht. Voor de meer formele behandeling moet verwezen worden naar o.a. het werk van Date. 2. Het relationele model relatie: een 2-dimensionele tabel, waarvan de rijen de gegevens bevatten van een grootheid en de kolommen gegevens over een bepaalde eigenschap van die grootheid; terminologie (cfr. Kroenke): Relationeel model programmeur gebruiker relatie bestand tabel tupel (tuple) of rij record rij attribuut veld kolom Een tabel is pas een relatie als: Date: there are no duplicate tuples tuples are unordered, top to bottom attributes are unordered, left to right all attribute values are atomic Of nog uitgebreider: iedere cel van de relatie bevat precies één (enkele) waarde ieder attribuut heeft een unieke naam de waarden van het attribuut zijn allemaal van hetzelfde domein de volgorde van de attributen is niet van belang ieder tupel is uniek, er zijn geen duplicaten de volgorde van de tuples is niet van belang

14 Noot: a) De relatiestructuur, bijvoorbeeld: STUDENT (Naam, Voornaam, Leeftijd, Jaar, Geslacht), kan verschillende instanties hebben, aangezien het verwisselen van rijen of kolommen niets verandert aan de betekenis van de tabel. b) Voor het normalisatieproces zijn 2 begrippen belangrijk: functionele afhankelijkheid (wordt veroorzaakt door een onderling verband tussen attributen) en sleutel (cfr. verbanden tussen attributen in relaties). 3. Functionele afhankelijkheid Een verzameling van attributen Y is functioneel afhankelijk van een verzameling attributen X als en enkel als (voor alle mogelijke geldige waarden in de relatie) iedere X-waarde met juist één Y - waarde correspondeert. Notatie: X Y met X = de determinant Merk wel op dat determinant en sleutel niet hetzelfde zijn! Een determinant hoeft niet uniek te zijn. Op te merken valt wel dat als X een kandidaat sleutel is, of een primaire sleutel, dan alle attributen Y functioneel afhankelijk moeten zijn van X. Een functionele afhankelijkheid impliceert dus een N: 1 verband tussen X en Y Een functionele afhankelijkheid kan vastgelegd zijn in een vergelijking: bijvoorbeeld: Totaal = PrijsPerStuk * AantalStukken Er kunnen ook groepen van attributen betrokken zijn: bijvoorbeeld: (SNR, Opleidingsonderdeel) Result Noot: de "closure" (ontsluiting) = voor een verzameling van attributen X bestaat de closure X + uit alle attributen die functioneel bepaald worden door X. Aan de hand hiervan kunnen de supersleutels en sleutels geïdentificeerd worden.

15 4. Sleutels Sleutel: per definitie heeft iedere relatie minstens één sleutel, dit is : een set van één of meer attributen waardoor een rij in een tabel uniek geïdentificeerd wordt. Supersleutel: een verzameling van attributen ( kan ook één attribuut zijn) die een rij uniek identificeert. Met andere woorden: een verzameling attributen dat minstens één kandidaat sleutel bevat. Het verschil met een sleutel is dat een sleutel minimaal moet zijn. Kandidaat sleutel: als een relatie meer dan I sleutel heeft, wordt iedere sleutel een kandidaat sleutel genoemd. Eén van die sleutels wordt gekozen en wordt aldus de primaire sleutel. Alle andere sleutels worden dan de secundaire sleutels genoemd. Vreemde sleutel: de primaire sleutel van een tabel, die gebruikt wordt in een andere tabel om een verband tussen de tupels van de eerste tabel met die van de tweede te maken. Opmerkingen: Elke relatie heeft minstens één sleutel, ook al bestaat ze uit alle attributen van die relatie. De determinant hoeft niet uniek te zijn, een sleutel wel! 5. Integriteit Het relationele model is frequent beschreven, includerend twee integriteitsregels: a) de entiteit integriteit: geen enkele primaire sleutel kan een NULL-waarde hebben (er kan geen informatie opgeslagen worden over iets dat niet kan geïdentificeerd worden) b) de referentie integriteit: een vreemde sleutel van een tabel moet verwijzen naar een primaire sleutel van de in verband gebrachte tabel (een tuple in één relatie die verwijst naar een andere relatie moet verwijzen naar een bestaande tuple in die relatie) Het zou accurater zijn nog een derde eraan toe te voegen: de attribuut integriteit: ieder attribuut moet voldoen aan de beperking dat zijn waarde komt uit een relevant domein.

16 6. Normalisatie a) Algemene definities: Een relatie is beschouwd in een bepaalde normaalvorm te zijn als ze voldoet aan een zeker aantal voorgeschreven set van voorwaarden. Naargelang de voorwaarden, spreken we van de eerste normaal vorm 1NF, 2NF, 3NF, de Boyce-Codd normaalvorm, 4NF, 5NF, de DK/NF (= de domein/sleutel normaalvorm). Normalisatie is het proces dat een relatie converteert in een set van relaties in een meer gewenste vorm. Het doel is redundantie en anomalieën te vermijden. De leidraad hierbij is dat een entiteit maar informatie, feiten mag bevatten over één onderwerp: "one fact in one place". b) Modificatie anomalieën: Verwijderanomalie: wanneer bij het verwijderen van informatie over een bepaald feit er ook informatie over een ander feit verloren gaat. Invoeganomalie: wanneer gegevens over een bepaald feit pas kunnen ingebracht worden als er gegevens zijn over een ander feit.

DATABANKEN GILLES CALLEBAUT

DATABANKEN GILLES CALLEBAUT DATABANKEN GILLES CALLEBAUT 1 INLEIDING EERSTE DEFINIETIE VAN DATABASE Een logische coherente verzameling van gerelateerde gegevens (data), ontworpen voor een specifiek doel en opgeslagen op een drager.

Nadere informatie

Databases - Inleiding

Databases - Inleiding Databases Databases - Inleiding Een database is een verzameling van een aantal gegevens over een bepaald onderwerp: een ledenbestand van een vereniging, een forum, login gegevens. In een database worden

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

Databases en SQL Foundation (DBSQLF.NL)

Databases en SQL Foundation (DBSQLF.NL) Databases en SQL Foundation (DBSQLF.NL) EXIN Hét exameninstituut voor ICT ers Janssoenborch - Hoog Catharijne Godebaldkwartier 365 3511 DT Utrecht Postbus 19147 3501 DC Utrecht Nederland T +31 30 234 48

Nadere informatie

Normaliseren versie 1.1

Normaliseren versie 1.1 Normaliseren versie 1.1 Datamodellering 27 1 Wat is normaliseren? Data organiseren in tabelvorm, zó dat: er minimale redundantie is update operaties (toevoegen, wijzigen, verwijderen) eenvoudig zijn uit

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

Entiteit Zaken en gebeurtenissen waarvan gegevens moeten worden vastgelegd worden een entiteit genoemd: b.v. mens, voorstelling, auto.

Entiteit Zaken en gebeurtenissen waarvan gegevens moeten worden vastgelegd worden een entiteit genoemd: b.v. mens, voorstelling, auto. Relationele databases SqlServer en Oracle zijn relationele client server databases. De verwerking van de opdrachten vindt plaats op de server. Access is een relationele pc database. De verwerking van de

Nadere informatie

EXIN Databases en SQL Foundation

EXIN Databases en SQL Foundation EXIN Databases en SQL Foundation Preparation Guide Editie 201608 Copyright 2016 EXIN All rights reserved. No part of this publication may be published, reproduced, copied or stored in a data processing

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

Hoofdstuk: 1 Principes van databases

Hoofdstuk: 1 Principes van databases DBSQLF Databases en SQL Hoofdstuk: 1 Principes van databases aant Css: 4 732 blz 9 1.1 Doel ve database - om op het juiste moment op de juiste plaats de juiste gegevens beschikbaar te hebben richten we

Nadere informatie

Datamodelleren en databases 2011

Datamodelleren en databases 2011 Datamodelleren en databases 21 Capita selecta 1 In dit college Modelleren Normaliseren Functionele afhankelijkheid 1-3N M:N-relaties, associatieve entiteittypes, ternaire relaties Weak entiteittypes Multivalued

Nadere informatie

Informatie Systeem Ontwikkeling ISO 2R290

Informatie Systeem Ontwikkeling ISO 2R290 Informatie Systeem Ontwikkeling ISO 2R290 docent: Prof. dr. Paul De Bra Gebaseerd op: Database System Concepts, 5th Ed. doel van dit vak kennis van en inzicht in basisbegrippen over informatiesystemen

Nadere informatie

Technisch Ontwerp W e b s i t e W O S I

Technisch Ontwerp W e b s i t e W O S I Technisch Ontwerp W e b s i t e W O S I WOSI Ruud Jungbacker en Michael de Vries - Technisch ontwerp Website Document historie Versie(s) Versie Datum Status Omschrijving / wijzigingen 0.1 20 nov 2008 Concept

Nadere informatie

Relationele databanken

Relationele databanken Relationele databanken De meeste databanken zijn relationeel. Gegevens in tabellen. Relationele model stoelt op de verzamelingenleer (leer der relaties). Relatie betekent hier tabel. Grote kracht van deze

Nadere informatie

Sparse columns in SQL server 2008

Sparse columns in SQL server 2008 Sparse columns in SQL server 2008 Object persistentie eenvoudig gemaakt Bert Dingemans, e-mail : info@dla-os.nl www : http:// 1 Content SPARSE COLUMNS IN SQL SERVER 2008... 1 OBJECT PERSISTENTIE EENVOUDIG

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

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

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

KU Leuven Campus De Nayer. Industrieel ingenieur Opleiding Elektronica-ICT 3e academisch bachelorjaar. Databanken

KU Leuven Campus De Nayer. Industrieel ingenieur Opleiding Elektronica-ICT 3e academisch bachelorjaar. Databanken KU Leuven Campus De Nayer Industrieel ingenieur Opleiding Elektronica-ICT 3e academisch bachelorjaar Databanken Academiejaar 2013-14 J. Vennekens Inhoudsopgave 1 Database management systemen. 1 1.1 Objectieven........................................

Nadere informatie

Les S-01: De basisbeginselen van SQL

Les S-01: De basisbeginselen van SQL Les S-01: De basisbeginselen van SQL 1.0 Relationele databases en SQL Een database is een bestand waarin gegevens worden opgeslagen in de vorm van tabellen. Zo kan een huisarts met behulp van een database

Nadere informatie

9 Werken met meer tabellen (zie ook query s)

9 Werken met meer tabellen (zie ook query s) 9 Werken met meer tabellen (zie ook query s) 9.1 Inleiding werkwijze je moet begrijpen waarom in de praktijk een databank meestal opgebouwd wordt met verschillende tabellen die aan elkaar gekoppeld worden.

Nadere informatie

Database Structuur via menus

Database Structuur via menus Data Dictionary Database Structuur via menus Na het normaliseren en maken van een data dictionary kunnen de tabellen worden ingevoerd in de database. In deze les wordt getoond hoe dit in Access gebeurt.

Nadere informatie

Canonieke Data Modellering op basis van ArchiMate. Canonieke Data Modellering op basis van Archimate Bert Dingemans

Canonieke Data Modellering op basis van ArchiMate. Canonieke Data Modellering op basis van Archimate Bert Dingemans Canonieke Data Modellering op basis van ArchiMate Canonieke Data Modellering op basis van Archimate Bert Dingemans Abstract Modelleren op basis van de open standard ArchiMate is een goed uitgangspunt voor

Nadere informatie

DB architectuur. joost.vennekens@denayer.wenk.be

DB architectuur. joost.vennekens@denayer.wenk.be DB architectuur joost.vennekens@denayer.wenk.be DB - logisch perspectief - DB - fysisch perspectief - DBMS Fysische details van databank beheren Zodat gebruiker zich enkel om logische perspectief moet

Nadere informatie

Software Test Plan. Yannick Verschueren

Software Test Plan. Yannick Verschueren Software Test Plan Yannick Verschueren November 2014 Document geschiedenis Versie Datum Auteur/co-auteur Beschrijving 1 November 2014 Yannick Verschueren Eerste versie 1 Inhoudstafel 1 Introductie 3 1.1

Nadere informatie

Leerjaar 1/2 ICT-Academie. Niveau 4. Applicatie ontwikkeling

Leerjaar 1/2 ICT-Academie. Niveau 4. Applicatie ontwikkeling Databases SQL Leerjaar 1/2 ICT-Academie Niveau 4 Applicatie ontwikkeling Auteur: R. Meijerink Datum: Januari 2013 0. Inleiding Databases / SQL In deze lessen wordt je geleerd databases te bouwen in SQL-code.

Nadere informatie

SQL / Systeemanalyse

SQL / Systeemanalyse SQL / Systeemanalyse Wie ben ik Hans de Wit 44 jaar HBO BI in deeltijd gedaan Sinds 2008 werkzaam met BI / DWH med.hro.nl/wihan SQL De gegevens in een database vormen de grondstof voor informatie De informatie

Nadere informatie

KU Leuven Campus De Nayer. Industrieel ingenieur. Opleiding Electromechanica 3e academisch bachelorjaar. Databanken

KU Leuven Campus De Nayer. Industrieel ingenieur. Opleiding Electromechanica 3e academisch bachelorjaar. Databanken KU Leuven Campus De Nayer Industrieel ingenieur Opleiding Electromechanica 3e academisch bachelorjaar Databanken Academiejaar 2013-14 J. Vennekens Inhoudsopgave 1 Database management systemen. 1 1.1 Objectieven........................................

Nadere informatie

ER-modeling. Datamodellering Wat is ER-modeling?

ER-modeling. Datamodellering Wat is ER-modeling? ER-modeling Datamodellering 2008 1 Wat is ER-modeling? ER-modelleren: top-down benadering bedacht door P. Chen 1976, paper in ACM Transactions on Database Systems Codd (Relationeel Model) aanvankelijk

Nadere informatie

ER-modeling. Wat is ER-modeling? ERD & relationeel model. ER-benadering DMO Datamodellering 2008

ER-modeling. Wat is ER-modeling? ERD & relationeel model. ER-benadering DMO Datamodellering 2008 ER-modeling Datamodellering 2008 1 Wat is ER-modeling? ER-modelleren: top-down benadering bedacht door P. Chen 1976, paper in ACM Transactions on Database Systems Codd (Relationeel Model) aanvankelijk

Nadere informatie

MODULEBESCHRIJVING Databases DBS1

MODULEBESCHRIJVING Databases DBS1 MODULEBESCHRIJVING Databases DBS1 Samensteller(s): Richard van den Ham Datum: 30-08-2012 Versie: 1.0 Module: Databases Identificatie Progresscode: DBS1 Semester: 1 Omvang: 140 SBUs/ 5 ECTS-punten Lestijd:

Nadere informatie

het bank voorbeeld ISO Datamodelleren modelleren met het E-R R model een database ontwerpen verzamelingen van relaties (verbanden)

het bank voorbeeld ISO Datamodelleren modelleren met het E-R R model een database ontwerpen verzamelingen van relaties (verbanden) het bank voorbeeld ISO Datamodelleren Prof. dr. Paul De Bra waarom zijn er drie tabellen om klanten en rekeningen voor te stellen? customer (customer_name, customer_street, customer_city) account (account_number,

Nadere informatie

12. Meer dan één tabel gebruiken en sub-queries

12. Meer dan één tabel gebruiken en sub-queries 12. Meer dan één tabel gebruiken en sub-queries 12.1. Inleiding In de vorige hoofdstukken heb je telkens queries uitgevoerd op één tabel. In de praktijk is het raadplegen van gegevens over het algemeen

Nadere informatie

Cursus Access voor Beginners Hoofdstuk 2

Cursus Access voor Beginners Hoofdstuk 2 Cursus Access voor Beginners Hoofdstuk 2 Handleiding van Auteur: OctaFisH April 2011 handleiding: Cursus Access voor Beginners Hoofdstuk 2 Cursus Access voor Beginners Hoofdstuk 2 Auteur: OctaFisH In deze

Nadere informatie

Normaliseren voor Dummies

Normaliseren voor Dummies Waarom normaliseren? Normaliseren voor Dummies Gegevensredundantie leidt tot gegevensinconsistentie! Dit cryptisch antwoord betekent het volgende: indien men dezelfde gegevens onnodig herhaaldelijk opslaat

Nadere informatie

Thinking of development

Thinking of development Thinking of development Databases Arjan Scherpenisse HKU / Miraclethings Agenda voor vandaag Opdracht tussenstand State diagram / Observer pattern Bret Victor Databases 2/42 Opdracht tussenstand Slides

Nadere informatie

DBMS. DataBase Management System. Op dit moment gebruiken bijna alle DBMS'en het relationele model. Deze worden RDBMS'en genoemd.

DBMS. DataBase Management System. Op dit moment gebruiken bijna alle DBMS'en het relationele model. Deze worden RDBMS'en genoemd. SQL Inleiding relationele databases DBMS DataBase Management System!hiërarchische databases.!netwerk databases.!relationele databases.!semantische databases.!object oriënted databases. Relationele databases

Nadere informatie

DMD-2011 Introductie. Introductie. Opzet van de cursus. Werkwijze per week. Datamodelleren en databases 2011. Twee hoorcolleges in totaal

DMD-2011 Introductie. Introductie. Opzet van de cursus. Werkwijze per week. Datamodelleren en databases 2011. Twee hoorcolleges in totaal Datamodelleren en databases 2011 Introductie Leen Breure 1/33 Opzet van de cursus Twee hoorcolleges in totaal week 1 en week 8 (14 juni) Wekelijks practicum: ca. 2 * 1 uur 1 uur: ontwikkeling van eigen

Nadere informatie

Technische nota AbiFire5 Rapporten maken via ODBC

Technische nota AbiFire5 Rapporten maken via ODBC Technische nota AbiFire5 Rapporten maken via ODBC Laatste revisie: 29 juli 2009 Inhoudsopgave Inleiding... 2 1 Installatie ODBC driver... 2 2 Systeeminstellingen in AbiFire5... 3 2.1 Aanmaken extern profiel...

Nadere informatie

SQL manipulatietaal. We kunnen er data mee toevoegen, wijzigen en verwijderen uit een database.

SQL manipulatietaal. We kunnen er data mee toevoegen, wijzigen en verwijderen uit een database. SQL manipulatietaal We kunnen er data mee toevoegen, wijzigen en verwijderen uit een database. Basiscommando's: INSERT : toevoegen van gegevens DELETE : verwijderen van gegevens UPDATE : wijzigen van gegevens

Nadere informatie

SQL is opgebouwd rond een basisinstructie waaraan één of meerdere componenten worden toegevoegd.

SQL is opgebouwd rond een basisinstructie waaraan één of meerdere componenten worden toegevoegd. BASISINSTRUCTIES SQL SQL : Structured Query Language is een taal gericht op het ondervragen van een relationele database en die aan veel klassieke databasemanagementsystemen kan worden gekoppeld. SQL is

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

1 Download de database 'bieren.mdb' en bewaar het bestand in c:\werkmap van je computer.

1 Download de database 'bieren.mdb' en bewaar het bestand in c:\werkmap van je computer. DataBase Management & Databasetechnologie We gaan nu aan de slag met het databasemanagementprogramma Access. Zo'n set programma's waarmee je databases kunt maken, beheren en bevragen noemt men ook wel

Nadere informatie

Powerpoint presentatie College 5 Gilbert van Lierop & Farshad Salamat

Powerpoint presentatie College 5 Gilbert van Lierop & Farshad Salamat Powerpoint presentatie College 5 Gilbert van Lierop & Farshad Salamat Wat is een database? Een verzameling van georganiseerde data Een database bestaat uit applicaties, SQL en het DBMS Watis eendbms? EenDBMS

Nadere informatie

DATAMODEL SQL. Middelbare School. Versie 1.0 Datum 30 oktober 2010 Auteur Mark Nuyens, studentnummer: 500625333 Groep TDI 1

DATAMODEL SQL. Middelbare School. Versie 1.0 Datum 30 oktober 2010 Auteur Mark Nuyens, studentnummer: 500625333 Groep TDI 1 DATAMODEL SQL Middelbare School Versie 1.0 Datum 30 oktober 2010 Auteur Mark Nuyens, studentnummer: 500625333 Groep TDI 1 INHOUDSOPGAVE 1. Informatiedomein 3 1.1 Informatiedomein 3 1.2 Toepassingen 3 2.

Nadere informatie

SQL & Datamodelleren

SQL & Datamodelleren SQL & Datamodelleren HVA-CMD-V1-datamodelleren Algemene handleiding bij het lesprogramma 2012-2013 Inhoud Inhoud... 2 Inleiding... 3 Leerdoelen:... 3 Plaats in het leerplan:... 3 Werkwijze:... 3 Lesstof:...

Nadere informatie

Koppeling met een database

Koppeling met een database PHP en MySQL Koppeling met een database 11.1 Inleiding In PHP is het eenvoudig om een koppeling te maken met een database. Een database kan diverse gegevens bewaren die met PHP aangeroepen en/of bewerkt

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

ISO Datamodelleren. Prof. dr. Paul De Bra. Gebaseerd op: Database System Concepts, 5th Ed. Silberschatz, Korth and Sudarshan

ISO Datamodelleren. Prof. dr. Paul De Bra. Gebaseerd op: Database System Concepts, 5th Ed. Silberschatz, Korth and Sudarshan ISO Datamodelleren Prof. dr. Paul De Bra Gebaseerd op: Database System Concepts, 5th Ed. het bank voorbeeld waarom zijn er drie tabellen om klanten en rekeningen voor te stellen? customer (customer_name,

Nadere informatie

NHibernate als ORM oplossing

NHibernate als ORM oplossing NHibernate als ORM oplossing Weg met de SQL Queries Wat is ORM? ORM staat in dit geval voor Object Relational Mapping, niet te verwarren met Object Role Modeling. ORM vertaalt een objectmodel naar een

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

INSTALLATIEHANDLEIDING

INSTALLATIEHANDLEIDING INSTALLATIEHANDLEIDING Update van uw Mamut programma EEN GEDETAILLEERDE STAP-VOOR-STAP BESCHRIJVING VAN HOE U EEN UPDATE KUNT MAKEN VAN UW MAMUT BUSINESS SOFTWARE PROGRAMMA (VAN VERSIE 9.0 OF NIEUWER).

Nadere informatie

DATAMODELLERING CRUD MATRIX

DATAMODELLERING CRUD MATRIX DATAMODELLERING CRUD MATRIX Inleiding In dit whitepaper wordt de datamodelleervorm CRUD Matrix beschreven. Deze modelleervorm staat in verhouding tot een aantal andere modelleervormen. Wil je een beeld

Nadere informatie

Tools voor canonieke datamodellering Bert Dingemans

Tools voor canonieke datamodellering Bert Dingemans Tools voor canonieke datamodellering Tools voor canonieke datamodellering Bert Dingemans Abstract Canonieke modellen worden al snel omvangrijk en complex te beheren. Dit whitepaper beschrijft een werkwijze

Nadere informatie

Technisch Ontwerp Ontwerp template

Technisch Ontwerp Ontwerp template Auteur Dennis Steenwijk Versie Datum Status 1 Inleiding 2 Versie geschiedenis Versie Datum Status Naam Omschrijving 03-10-08 Dennis Steenwijk versie 2 van 9 Versie geschiedenis 3 Distributie Naam Functie

Nadere informatie

DB architectuur.

DB architectuur. DB architectuur joost.vennekens@kuleuven.be DB - logisch perspectief - DB - fysisch perspectief - DBMS Fysische details van databank beheren Zodat gebruiker zich enkel om logische perspectief moet bekommeren

Nadere informatie

HBO5 Informatica Netwerkbeheer (90 studiepunten)

HBO5 Informatica Netwerkbeheer (90 studiepunten) STUDIEFICHE CVO DE AVONDSCHOOL Opleiding HBO5 Informatica Netwerkbeheer (90 studiepunten) Module A8 Databanken (5 studiepunten) Plaats van de module in de opleiding: In deze module 'Netwerkbeheer 2' de

Nadere informatie

Het besturingssysteem of operating system, vaak afgekort tot OS is verantwoordelijk voor de communicatie van de software met de hardware.

Het besturingssysteem of operating system, vaak afgekort tot OS is verantwoordelijk voor de communicatie van de software met de hardware. Het besturingssysteem of operating system, vaak afgekort tot OS is verantwoordelijk voor de communicatie van de software met de hardware. Het vormt een schil tussen de applicatiesoftware en de hardware

Nadere informatie

TECHNISCHE UNIVERSITEIT EINDHOVEN. Faculteit Wiskunde en Informatica

TECHNISCHE UNIVERSITEIT EINDHOVEN. Faculteit Wiskunde en Informatica TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica Extra Tentamen Databases 1, 2M400, 8 oktober 2003. Alle uitwerkingen van de opgaven moeten worden ingevuld in de daarvoor bestemde vrije

Nadere informatie

Functionele Specificatie van GRCcontrol. Rieks Joosten

Functionele Specificatie van GRCcontrol. Rieks Joosten Functionele Specificatie van GRCcontrol Rieks Joosten (rieks.joosten@tno.nl) 4 september 2014 Inhoudsopgave 1 Inleiding 2 2 Gemeenschappelijke taal 3 2.1 Automatiseerbare samenhangen...................

Nadere informatie

Software Test Plan. Yannick Verschueren

Software Test Plan. Yannick Verschueren Software Test Plan Yannick Verschueren Maart 2015 Document geschiedenis Versie Datum Auteur/co-auteur Beschrijving 1 November 2014 Yannick Verschueren Eerste versie 2 December 2014 Yannick Verschueren

Nadere informatie

Naam project Lost And Found Animals Lokaal gehost Percentage van het totaal geleverde werk 1 Cindy Jansen 50% 2 Eline Steyvers 50%

Naam project Lost And Found Animals Lokaal gehost Percentage van het totaal geleverde werk 1 Cindy Jansen 50% 2 Eline Steyvers 50% Naam project Lost And Found Animals Url Lokaal gehost Groepsleden Percentage van het totaal geleverde werk 1 Cindy Jansen 50% 2 Eline Steyvers 50% 1. Beveiliging in de toepassing Naam gebruiker Wachtwoord

Nadere informatie

DATAMODELLERING BASIS UML KLASSEMODEL

DATAMODELLERING BASIS UML KLASSEMODEL DATAMODELLERING BASIS UML KLASSEMODEL Inleiding In dit whitepaper wordt de datamodelleervorm basis UML klassemodel beschreven. Deze modelleervorm staat in verhouding tot een aantal andere modelleervormen.

Nadere informatie

Relationele Databases 2002/2003

Relationele Databases 2002/2003 1 Relationele Databases 2002/2003 Hoorcollege 3 24 april 2003 Jaap Kamps & Maarten de Rijke April Juli 2003 Plan voor Vandaag Praktische dingen 2.1, 2.3, 2.6 (alleen voor 2.2 en 2.3), 2.9, 2.10, 2.11,

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

Relationele databases

Relationele databases Relationele databases Normaliseert eer gij begint! Normalisatie is van zeer groot belang bij het ontwikkelen van een database applicatie. De kern van de zaak, de doelstelling : Efficiënt beheer van data.

Nadere informatie

Inhoud. Voorwoord Belangrijkste kenmerken van dit boek De opzet van dit boek Over de auteur Woord van dank

Inhoud. Voorwoord Belangrijkste kenmerken van dit boek De opzet van dit boek Over de auteur Woord van dank v Voorwoord Belangrijkste kenmerken van dit boek De opzet van dit boek Over de auteur Woord van dank 1 Introductie: data en informatie 1.0 Wat leer je in dit hoofdstuk? 1.1 Verschil tussen gegevens en

Nadere informatie

Het belang van. Data Modellering. GEMINIT Training. Data Modellering. Frédéric BARBIER

Het belang van. Data Modellering. GEMINIT Training. Data Modellering. Frédéric BARBIER Het belang van Data Modellering Studiedag Informatiemanagement Politeia, 22 februari 2013, Gent Open data en de cloud: een revolutie in de informatiehuishouding van de overheid Training Data Modellering

Nadere informatie

Archimate risico extensies modelleren

Archimate risico extensies modelleren Archimate risico extensies modelleren Notatiewijzen van risico analyses op basis van checklists versie 0.2 Bert Dingemans 1 Inleiding Risico s zijn een extra dimensie bij het uitwerken van een architectuur.

Nadere informatie

Release notes. Versie 2.3

Release notes. Versie 2.3 DEFINITIES EN TELRICHTLIJNEN VOOR DE TOEPASSING VAN FUNCTIEPUNTANALYSE Release notes Versie 2.3 nesma.org VOORWOORD 1 VOORWOORD In 2005 werden de Nesma FPA telrichtlijnen verheven tot de Internationale

Nadere informatie

Toon TITEL, JAAR en PLATVORM van GAMES die voor het jaar 2000 uitkwamen op Nintendo 64

Toon TITEL, JAAR en PLATVORM van GAMES die voor het jaar 2000 uitkwamen op Nintendo 64 Klas Veldnaam Datatype Lengte KLASNAAM Short Text 3 Characters JONGENS Number Integer MEISJES Number Integer Lessen Veldnaam Datatype Lengte KLASNAAM Short Text 3 Characters DOCCODE Short Text 3 Characters

Nadere informatie

Easy Business Tools - Multi-user module

Easy Business Tools - Multi-user module Easy Business Tools Multi-user module Wat is de Multi-user module en wat kan ik er mee doen? De multi-user module is een gebruikerslicentie waardoor 5 computers in een netwerk kunnen samenwerken in Mijn

Nadere informatie

Introductie (relationele) databases

Introductie (relationele) databases Eerste les Introductie (relationele) databases Database en DBMS Een verzameling van gestructureerd opgeslagen gegevens Dus ook een kaartenbak is een database Van oudsher waren er hiërarchische en netwerkdatabases

Nadere informatie

Auteur Arjaan den Ouden Datum 4 december 2013 Status Definitief Versie 1.0

Auteur Arjaan den Ouden Datum 4 december 2013 Status Definitief Versie 1.0 Auteur Arjaan den Ouden Datum 4 december 2013 Status Definitief Versie 1.0 Behoudens uitzondering door de wet gesteld, mag zonder schriftelijke toestemming van de rechthebbende op het auteursrecht van

Nadere informatie

Normaalvormen. DB kent vijf normaalvormen, elke strenger dan de vorige De eerste drie zijn veelgebruikt. ax 2 + bx + c =0

Normaalvormen. DB kent vijf normaalvormen, elke strenger dan de vorige De eerste drie zijn veelgebruikt. ax 2 + bx + c =0 Normalizatie Normaalvormen Speciale (liefst nuttige) vorm waarin iets geschreven kan worden + proces om die vorm te bereiken Bv. veeltermvergelijking van graad 2 heeft normaalvorm: ax 2 + bx + c =0 DB

Nadere informatie

de praktijk: tabellen

de praktijk: tabellen ISO Het Relationele Database Model Prof. dr. Paul De ra Gebaseerd op: Database System Concepts, 5th Ed. de praktijk: tabellen een database bestaat uit een aantal tabellen elke tabel heeft een naam en een

Nadere informatie

Databases (INFODB) 24 januari 2007

Databases (INFODB) 24 januari 2007 Departement Informatica en Informatiekunde, Faculteit Bètawetenschappen, UU. In elektronische vorm beschikbaar gemaakt door de TBC van A Eskwadraat. Het college INFODB werd in 2006/2007 gegeven door Dhr.

Nadere informatie

Het omzetten van een ER-diagram naar SQL

Het omzetten van een ER-diagram naar SQL Het omzetten van een ER-diagram naar SQL Huub de Beer Eindhoven, 4 juni 2011 Omzetting ER-diagram naar SQL in twee stappen 1: ER-Diagram relationeel model Onderwerp van hoofdstuk 3 Entiteittype relatie,

Nadere informatie

Les S-01: De basisbeginselen van SQL

Les S-01: De basisbeginselen van SQL Les S-01: De basisbeginselen van SQL 1.0 Relationele databases en SQL Een database is een bestand waarin gegevens worden opgeslagen in de vorm van tabellen. Zo kan een huisarts met behulp van een database

Nadere informatie

Les 2 Eenvoudige queries

Les 2 Eenvoudige queries Les 2 Eenvoudige queries XAMP Apache server ( http ) mysql server PHP myadmin IAM SQL oefeningen Database phpmyadmin Import : sql_producten.sql, sql_winkel.sql, sql_festival.sql SAMS SQL in 10 minuten

Nadere informatie

Form follows function -Louis Henry Sullivan

Form follows function -Louis Henry Sullivan www.grundsatzlich-it.nl Form follows function -Louis Henry Sullivan Datawarehouse: vorm en functie Ronald Kunenborg licentie: Datawarehouse: vorm en functie Een data warehouse komt voort uit pijn Die pijn

Nadere informatie

Vraag Ondersteuning door Virtuele Experts

Vraag Ondersteuning door Virtuele Experts Vraag Ondersteuning door Virtuele Experts Ondersteunen van de opdrachtgever in de Bouw gedurende de initiatieffase 1 Introductie Deze dissertatie beschrijft een onderzoek naar de toepassing van ICT om

Nadere informatie

Dit voorbeeldproject beschrijft het gebruik van web services (open standaarden) voor de ontsluiting van kernregistraties bij de gemeente Den Haag.

Dit voorbeeldproject beschrijft het gebruik van web services (open standaarden) voor de ontsluiting van kernregistraties bij de gemeente Den Haag. Voorbeeldproject Een Haagse SOA Dit voorbeeldproject beschrijft het gebruik van web services (open standaarden) voor de ontsluiting van kernregistraties bij de gemeente Den Haag. Aanleiding Vanuit de visie

Nadere informatie

Application interface. service. Application function / interaction

Application interface. service. Application function / interaction Les 5 Het belangrijkste structurele concept in de applicatielaag is de applicatiecomponent. Dit concept wordt gebruikt om elke structurele entiteit in de applicatielaag te modelleren: softwarecomponenten

Nadere informatie

H 1 Databases en databasesystemen (10 punten) a. Veel van de huidige databases zijn gebaseerd op een drie-laags systeemarchitectuur:

H 1 Databases en databasesystemen (10 punten) a. Veel van de huidige databases zijn gebaseerd op een drie-laags systeemarchitectuur: Tentamen Engineering 2007/2008 Opleiding: Embedded Systems Opl.variant: vt Groep/Klas: T Engineering Volledige vaknaam: Databases in Dag en Datum: woensdag, Tijd: 18.1-18.4 Technische Automatisering Vakcode:

Nadere informatie

icafe Project Joeri Verdeyen Stefaan De Spiegeleer Ben Naim Tanfous

icafe Project Joeri Verdeyen Stefaan De Spiegeleer Ben Naim Tanfous icafe Project Joeri Verdeyen Stefaan De Spiegeleer Ben Naim Tanfous 2006-2007 Inhoudsopgave 1 2 1.1 Programmeertaal PHP5..................... 2 1.2 MySQL database......................... 3 1.3 Adobe Flash...........................

Nadere informatie

Data Definition Language

Data Definition Language Data Definition Language We gaan hier dezelfde database gebruiken als in de vorige les. Nu gaan we deze echter maken met behulp van DDL gedeelte van SQL. Om in het SQL deel van Microsoft Access te komen

Nadere informatie

SQL datadefinitietaal

SQL datadefinitietaal SQL datadefinitietaal We kunnen er het schema van de database mee bepalen: metadata toevoegen, wijzigen en verwijderen uit een database. Basiscommando's: CREATE : toevoegen van metagegevens DROP : verwijderen

Nadere informatie

Een database voor MEDIAGROEP DE CASE OBJECTTYPEN EN LABELTYPEN

Een database voor MEDIAGROEP DE CASE OBJECTTYPEN EN LABELTYPEN pagina 1 van 9 Een database voor MEDIAGROEP In dit digitale practicum wordt het efficiënt ontwerpen van een eenvoudige database behandeld. Er wordt gebruik gemaakt van een werkwijze, die een aantal jaren

Nadere informatie

Als er besloten is een database op te stellen dient men een analyse van de informatiegegevens te volbrengen.

Als er besloten is een database op te stellen dient men een analyse van de informatiegegevens te volbrengen. Normaliseren Een van de voornaamste rollen in een informatie systeem is het bewaren van gegevens en liefst over een lange tijd. Meestal doen we dat door middel van een gegevensbank of databank. Deze gestructureerde,

Nadere informatie

Een website maken met databasetoegang.

Een website maken met databasetoegang. Hoofdstuk 5 Een website maken met databasetoegang. In dit hoofdstuk gaan we het weblog dat je in hoofdstuk 4 hebt gemaakt verder uitbreiden. Een belangrijk onderdeel wordt toegevoegd aan de applicatie,

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

Maak automatisch een geschikte configuratie van een softwaresysteem;

Maak automatisch een geschikte configuratie van een softwaresysteem; Joost Vennekens joost.vennekens@kuleuven.be Technologiecampus De Nayer We zijn geïnteresseerd in het oplossen van combinatorische problemen, zoals bijvoorbeeld: Bereken een lessenrooster die aan een aantal

Nadere informatie

1ste bach TEW. Informatiesystemen. samenvatting + minicases. uickprinter Koningstraat 13 2000 Antwerpen www.quickprinter.be 3.

1ste bach TEW. Informatiesystemen. samenvatting + minicases. uickprinter Koningstraat 13 2000 Antwerpen www.quickprinter.be 3. 1ste bach TEW Informatiesystemen samenvatting + minicases Q uickprinter Koningstraat 13 2000 Antwerpen www.quickprinter.be 119 3.50 EUR Nieuw!!! Online samenvattingen kopen via www.quickprintershop.be

Nadere informatie

Haza-21 Handleiding Thesaurus

Haza-21 Handleiding Thesaurus Haza-21 Handleiding Thesaurus versie 3.3 2 april 2012 Copyright 2011-2012 J.A.Diebrink te Burdaard. Alle rechten voorbehouden. Inhoudsopgave blz. 2 Inleiding... 3 Algemeen... 3 Toepassingen in Haza-21...

Nadere informatie

DATAMODELLERING DATA MAPPING MODEL

DATAMODELLERING DATA MAPPING MODEL DATAMODELLERING DATA MAPPING MODEL Inleiding In dit whitepaper wordt de datamodelleervorm data mapping model beschreven. Deze modelleervorm staat in verhouding tot een aantal andere modelleervormen. Wil

Nadere informatie

DIT DOCUMENT BEVAT: - ALLE VAN TOEPASSING ZIJNDE SERVICE LEVEL AGREEMENT (SLA) PER DIENST OF PRODUCT

DIT DOCUMENT BEVAT: - ALLE VAN TOEPASSING ZIJNDE SERVICE LEVEL AGREEMENT (SLA) PER DIENST OF PRODUCT DIT DOCUMENT BEVAT: - ALLE VAN TOEPASSING ZIJNDE SERVICE LEVEL AGREEMENT (SLA) PER DIENST OF PRODUCT Service Level Agreement (SLA) - BC Online Boekhouden Artikel 1. Definities Leverancier: BusinessCompleet.nl

Nadere informatie

Hoofdstuk 16: Grafieken en diagrammen: hoe

Hoofdstuk 16: Grafieken en diagrammen: hoe Hoofdstuk 16: Grafieken en diagrammen: hoe 16.0 Inleiding Wanneer je de betekenis van een serie nummers in een presentatie wilt weergeven, zal je ondervinden dat een diagram de meest effectieve manier

Nadere informatie

Kennis na het volgen van de training. Na het volgen van deze training bent u in staat:

Kennis na het volgen van de training. Na het volgen van deze training bent u in staat: Training Trainingscode Duur Gepubliceerd Taal Type Leermethode Kosten SF2015V8 4 dagen 02/02/2015 Nederlands & Engels Developer, basis Invidueel & klassikaal Op aanvraag Deze training richt zich op het

Nadere informatie

1. Inleiding... 2 1.1. Inleiding SQL... 3 1.1.1. Inleiding... 3 1.1.2. Database, databaseserver en databasetaal... 4 1.1.3. Het relationele model...

1. Inleiding... 2 1.1. Inleiding SQL... 3 1.1.1. Inleiding... 3 1.1.2. Database, databaseserver en databasetaal... 4 1.1.3. Het relationele model... 1. Inleiding... 2 1.1. Inleiding SQL... 3 1.1.1. Inleiding... 3 1.1.2. Database, databaseserver en databasetaal... 4 1.1.3. Het relationele model... 4 1.1.4. Wat is SQL?... 6 1.1.5. Verschillende categorieên

Nadere informatie