Databases Samenvatting

Maat: px
Weergave met pagina beginnen:

Download "Databases Samenvatting"

Transcriptie

1 Databases Samenvatting Dieter Castel Jonas Devlieghere Karel Domin Giel Dops Dennis Frett Kevin Fockaert Kenneth Geets John Gybels Laurent Janssens Ben Lefevere 13 januari 2015

2 Inhoudsopgave 1 Introduction to Databases Introduction An Example Characteristics of the Database Approach Self-Describing Nature of a Database System Insulation between Programs and Data, and Data Abstraction Support of Multiple Views of the Data Sharing of Data and Multiuser Transaction Processing Actors on the Scene Database Administrators Database Designers End Users System Analysts and Application Programmers (Software Engineers) Workers behind the Scene Advantages of Using the DBMS Approach Controlling Redundancy Restricting Unauthorized Access Providing Persistent Storage for Program Objects Providing Storage Structures and Search Techniques for Efficient Query Processing Providing Backup and Recovery Providing Multiple User Interfaces Representing Complex Relationships among Data Enforcing Integrity Constraints Permitting Inferencing and Actions Using Rules Additional Implications of Using the Database Approach When Not to Use a DBMS Overview of Database Languages and Architectures Data Models, Schemas, and Instances Categories of Data Models Schemas, Instances and Database State Three-Schema Architecture and Data Independence The Three-Schema Architecture Data Independence Database Languages and Interfaces DBMS Languages DBMS Interfaces The Database System Environment DBMS Component Modules

3 2.4.2 Database System Utilities Tools, Application Environments, and Communications Facilities Centralized & Client/Server Architectures for DBMSs Centralized DBMSs Architecture Basic Client/Server Architectures Two-Tier Client/Server Architectures for DBMSs Three-Tier and n-tier Architectures for Web Applications Classification of Database Management Systems The Basic (Flat) Relational Model Relational Model Concepts Domains, Attributes, Tuples, and Relations Characteristics of Relations Relational Model Notation Relational Model Constraints and Relational Database Schemas Domain Constraints Key Constraints and Constraints on NULL values Relational Databases and Relational Database Schemas Integrity, Referential Integrity and Foreign Keys Other Types of Constraints Update Operations, Transactions and Dealing with Constraint Violations The Insert Operation The Delete Operation The Update Operation The Transaction Concept SQL: Data Definition, Constraints, and Basic Queries and Updates SQL Data Definition and Data Types Schema and Catalog Concepts in SQL The CREATE TABLE Command in SQL Attribute Data Types and Domains in SQL Specifying Constraints in SQL Specifying Attribute Constraints and Attribute Defaults Specifying Key and Referential Integrity Constraints Giving Names to Constraints Specifying Constraints on Tuples Using CHECK Basis Retrieval Queries in SQL The SELECT-FROM-WHERE Structure of Basic SQL Queries Ambiguous Attribute Names, Aliasing, Renaming, and Tuple Variables Unspecified WHERE Clause and Use of the Asterisk Tables as Sets in SQL Substring Pattern Matching and Arithmetic Operators Ordering of Query Results Discussion and Summary of Basic SQL Retrieval Queries INSERT, DELETE, and UPDATE Statements in SQL The INSERT Command The DELETE Command The UPDATE Command Additional Features of SQL

4 5 SQL: Advanced Queries, Assertions, Triggers, and Views More Complex SQL Retrieval Queries Comparisons Involving NULL and Three-Valued Logic Nested Queries, Tuples, and Set/Multiset Comparisons Correlated Nested Queries The EXISTS and UNIQUE Functions in SQL Explicit Sets and Renaming of Attributes in SQL Joined Tables in SQL and Outer Joins Aggregate Functions in SQL Grouping: The GROUP BY and HAVING Clauses Specifying Constraints as Assertions and Actions as Triggers Specifying General Constraints as Assertions in SQL Introduction to Triggers in SQL Views (Virtual Tables) in SQL Concept of a View in SQL Specification of Views in SQL View Implementation, View Update, and Inline Views Schema Change Statements in SQL The DROP Command The ALTER Command Formal Relational Languages: The Algebra and Calculus Unary Relational Operations: SELECT & PROJECT The SELECT Operation The PROJECT Operation Sequences of Operations and the RENAME Operation Relational Algebra Operations from Set Theory The UNION, INTERSECTION, and MINUS Operations The CARTESIAN PRODUCT (CROSS PRODUCT) Operation Binary Relational Operations: JOIN and DIVISION The JOIN Operation Variations of JOIN: The EQUIJOIN and NATURAL JOIN A Complete Set of Relational Algebra Operations The DIVISION Operation Notation for Query Trees Additional Relational Operations Generalized Projection Aggregate Functions and Grouping Recursive Closure Operations OUTER JOIN Operations The OUTER UNION Operation The Tuple Relational Calculus Tuple Variables and Range Relations Expressions and Formulas in Tuple Relational Calculus The Existential and Universal Quantifiers Sample Queries in Tuple Relational Calculus Notation for Query Graphs Transforming the Universal and Existential Quantifiers Using the Universal Quantifiers in Queries Safe Expressions

5 6.7 The Domain Relational Calculus Conceptual Data Modeling Using Entities and Relationships Using High-Level Conceptual Data Models for Database Design Entity Types, Entity Sets, Attributes, and Keys Entities and Attributes Entity Types, Entity Sets, Keys, and Value Sets Relationship Types, Relationship Sets, Roles & Structural Constraints Relationship Types, Sets and Instances Relationship Degree, Role Names, and Recursive Relationships Constraints on Binary Relationship Types Attributes of Relationship Types Weak Entity Types ER Diagrams, Naming Conventions, and Design Issues Summary of Notation for ER Diagrams Proper Naming of Schema Constructs Design Choices for ER Conceptual Design Alternative Notations for ER Diagrams Relationship Types of Degree Higher than Two Choosing between Binary and Ternary (or Higher-Degree) Relationships Constraints on Ternary (or Higher-Degree) Relationships Subclasses, Superclasses, and Inheritance Specialization and Generalization in EER Specialization Generalization Constraints and Characteristics of Specialization and Generalization Hierarchies Constraints on Specialization and Generalization Specialization and Generalization Hierarchies and Lattices Utilizing Specialization and Generalization in Refining Conceptual Schemas Modeling of UNION Types Using Categories in EER A Sample UNIVERSITY EER Schema, Design Choices, and Formal Definitions The UNIVERSITY Database Example Design Choices for Specialization/Generalization Data Abstraction, Knowledge Representation, & Ontology Concepts Classification and Instantiation Identification Specialization and Generalization Aggregation and Association Ontologies and the Semantic Web Mapping a Conceptual Design into a Logical Design Relational Database Design using ER-to-Relational Mapping ER-to-Relational Mapping Algorithm Discussion and Summary of Mapping for ER Model Constructs Mapping EER Model Constructs to Relations Mapping of Specialization or Generalization Mapping of Shared Subclasses (Multiple Inheritance) Mapping of Categories (Union Types)

6 12 SQL Application Programming Using C and Java Database Programming: Techniques and Issues Approaches to Database Programming Impedance Mismatch Typical Sequence of Interaction in Database Programming SQL Web Programming Using C PHP A Simple PHP Example Overview of Basic Features of PHP PHP Variables, Data Types, and Programming Constructs PHP Arrays PHP Functions PHP Server Variables and Forms Overview of PHP Database Programming Connecting to a Database Collecting Data from Forms and Inserting Records Retrieval Queries from Database Tables Database Design Theory: Introduction to Normalization Using Functional and Multivalued Dependencies Informal Design Guidelines for Relation Schemas Imparting Clear Semantics to Attributes in Relations Redundant Information in Tuples and Update Anomalies NULL values in Tuples Generation of Spurious Tuples Summary and Discussion of Design Guidelines Functional Dependencies Definition of Functional Dependency Normal Forms Based on Primary Keys Normalization of Relations Practical Use of Normal Forms Definitions of Keys and Attributes Participating in Keys First Normal Form Second Normal Form Third Normal Form General Definitions of Second & Third Normal Forms Boyce-Codd Normal Form Database Design Theory: Normalization Algorithms Further Topics in Functional Dependencies: Inference Rules, Equivalence, and Minimal Cover Inference Rules for Functional Dependencies Equivalence of Sets of Functional Dependencies Minimal Sets of Functional Dependencies Properties of Relational Decompositions Dependency Preservation Property of a Decomposition Nonadditive (Lossless) Join Property of a Decomposition Testing Binary Decompositions for the Nonadditive Join Property Successive Nonadditive Join Decompositions Algorithms for Relational Database Schema Design

7 Dependency-Preserving Decomposition into 3NF Schemas Nonadditive Join Decomposition into BCNF Schemas Dependency-Preserving and Nonadditive (Lossless) Join Decomposition into 3NF Schemas About Nulls, Dangling Tuples, and Alternative Relational Designs Problems with NULL Values and Dangling Tuples Discussion of Normalization Algorithms and Alternative Relational Designs Database File Organizations: Unordered, Ordered, and Hashed Files of Records Introduction Memory Hierarchies and Storage Devices Storage of Databases Secondary Storage Devices Buffering of Blocks Placing File Records on Disk Records and Record Types Files, Fixed-length Records, and Variable-Length Records Record Blocking and Spanned versus Unspanned Records Allocating File Blocks on Disk File Headers Operations on Files Files of Unordered Records (Heap Files) Files of Ordered Records (Sorted Files) Hashing Techniques Internal Hashing External Hashing for Disk Files Hashing Techniques That Allow Dynamic File Expansion Other Primary File Organizations Files of Mixed Records Parallelizing Disk Access Using RAID Technology New Storage Systems Storage Area Networks Network-Attached Storage iscsi Storage Systems Database File Indexing Techniques, B-Trees, and B+-Trees Types of Single-Level Ordered Indexes Primary Indexes Clustering Indexes Secondary Indexes Multilevel Indexes Dynamic Multilevel Indexes Using B-trees & B+-Trees Search Trees and B-trees B+-trees Indexes on Multiple Keys Ordered Index on Multiple Attributes Partitioned Hashing Grid Files Other Types of Indexes Hash Indexes

8 Bitmap Indexes Function-Based Indexing Some General Issues Concerning Indexing Logical versus Physical Indexes Discussion Column-Based Storage of Relations Introduction to Query Processing and Query Optimization Techniques Translating SQL Queries into Relational Algebra Algorithms for External Sorting Algorithms for SELECT and JOIN Operations Implementing the SELECT Operation Implementing the JOIN Operation Algorithms for PROJECT and Set Operations Implementing Aggregate Operations and OUTER JOINs Implementing Aggregate Operations Implementing OUTER JOINs Combining Operations Using Pipelining Using Heuristics in Query Optimization Notation for Query Trees and Query Graphs Heuristic Optimization of Query Trees Converting Query Trees into Query Execution Plans Using Selectivity and Cost Estimates in Query Optimization Cost components for Query Execution Catalog Information Used in Cost Functions Examples of Cost Functions for SELECT Examples of Cost Functions for JOIN Multiple Relation Queries and JOIN Ordening Example to Illustrate Cost-Based Query Optimization Overview of Query Optimization in Oracle Semantic Query Optimization Foundations of Database Transaction Processing Introduction to Transaction Processing Single-User versus Multiuser Systems Transactions, Database Items, Read and Write Operations, and DBMS Buffers Why Concurrency Control Is Needed Why Recovery Is Needed Transaction and System concepts Transaction States and Additional Operations The System Log Commit Point of a Transaction Desirable Properties of Transactions Characterizing Schedules Based on Recoverability Schedules (Histories) of Transactions Characterizing Schedules Based on Recoverability Characterizing Schedules Based on Serializability Serial, Nonserial, and Conflict-Serializable Schedules Testing for Conflict Serializability of a Schedule How Serializability Is Used for Concurrency Control

9 View Equivalence and View Serializability Other Types of Equivalence of Schedules Transaction Support in SQL Introduction to Protocols for Concurrency Control in Databases Two-Phase Locking Techniques for Concurrency Control Types of Locks and System Lock Tables Guaranteeing Serializability by Two-Phase Locking Dealing with Deadlock and Starvation Concurrency Control Based on Timestamp Ordering Timestamps The Timestamp Ordering Algorithm Multiversion Concurrency Control Techniques Multiversion Technique Based on Timestamp Ordering Multiversion Two-Phase Locking Using Certify Locks Validation (Optimistic) Concurrency Control Techniques Granularity of Data Items and Multiple Granularity Locking Granularity Level Considerations for Locking Multiple Granularity Level Locking Using Locks for Concurrency Control in Indexes Other Concurrency Control Issues Insertion, Deletion, and Phantom Records Interactive Transactions Latches Introduction to Database Recovery Protocols Recovery Concepts Recovery Outline and Categorization of Recovery Algorithms Caching (Buffering) of Disk Blocks Write-Ahead Logging, Steal/No-Steal, and Force/No-Foce Checkpoints in the System Log and Fuzzy Checkpoints Transaction Rollback and Cascading Roll back Transactions Actions That Do Not Affect the Database NO-UNDO/REDO Recovery Base on Deffered Update Recovery Rechniques Based on Immediate Update Shadow Paging Before Transaction During Transaction Recovery Process Disadvantages The Aries Recovery Algorithm Analysis Phase REDO Phase UNDO Phase Structures Log Sequence Number (LSN) Tables Checkpoints Recovery from crash Recovery in Multidatabse Systems

10 22.7 Database Backup and Recovery from Catastrophic Failures Handling more Catastrophic Failures Increase frequency

11 Hoofdstuk 1 Introduction to Databases 1.1 Introduction Een database heeft volgende eigenschappen: Het is een representatie van een aspect in de echte wereld, een miniwereld, ook wel universe of discourse (UoD) genaamd. Een database is een verzameling van gerelateerde informatie/data. Een database wordt ontworpen, gebouwd en ingevuld voor een specifiek doel. Aanpassingen moeten zo snel mogelijk weergegeven worden in de database. Een database management system (DBMS) is een set van programma s die de gebruiker toelaat een database te creëren en te onderhouden. 1.2 An Example Het manipuleren van een database omvat querying en updating. Een query moet gespecifieerd zijn in een bepaalde query-taal, behorende tot het DBMS, alvorens hij kan worden uitgevoerd. 1. Het ontwikkelen van een applicatie voor een bestaande database, of het ontwikkelen van een compleet nieuwe database start met een fase genaamd requirements specification and analysis. De eisen/voorwaarden van de database worden hier in detail vastgelegd. 2. De eisen/voorwaarden worden omgevormd tot een conceptual design dat weergegeven en bewerkt kan worden op een computer. 3. Het conceptual design wordt omgezet naar een logical design, dat geïmplementeerd kan worden in een commercieel DBMS. 4. Het logical design wordt omgezet in een physical design, waar men de verdere specificaties voor opslag en toegang tot de database zal vastleggen. Hierna kan men beginnen de database te bevolken. 10

12 1.3 Characteristics of the Database Approach Een database bestaat uit een enkele opslagplaats waar gegevens worden bijgehouden die één keer gedefinieerd worden en nadien toegankelijk zijn voor alle gebruikers Self-Describing Nature of a Database System Een basiskenmerk van een databasesysteem is dat het systeem niet enkel de database zelf bevat maar ook een complete definitie of beschrijving van de databasestructuur en zijn beperkingen. Deze definitie wordt bijgehouden in de DBMS catalogus. De informatie in deze catalogus is de zogenaamde meta-data, en beschrijft de structuur van de primaire database Insulation between Programs and Data, and Data Abstraction In traditionele bestandsverwerking is de structuur van de data files ingebouwd in het programma dat gebruik maakt van het bestand. Als de structuur van een bestand gewijzigd wordt, zullen dus ook alle programma s die gebruik maken van het bestand, aangepast moeten worden. Een DBMS daarentegen bewaart de structuur van de bestanden in de catalogus, apart van de programma s die het gebruiken. We noemen dit program-data independence. Een operation (functie of methode) bestaat uit 2 delen. De interface (signature) van een operatie bevat de naam van de operatie en de data types van zijn argumenten (parameters). De implementatie van de operatie is apart gedefinieerd en kan aangepast worden zonder dat de interface gewijzigd moet worden. Gebruikersprogramma s kunnen met de data werken door middel van operatienamen en -parameters, onafhankelijk van hoe de operaties geïmplementeerd zijn. We noemen dit programoperation independence. De karakteristiek die program-data independence en program-operation independence toelaat, wordt de data abstraction genoemd. Een data model is een soort van data abstraction die voor een conceptual representation van de data zorgt Support of Multiple Views of the Data Een database heeft vaak meerdere gebruikers die eventueel een ander zicht (view) willen op de database. Een view kan een subset van de database zijn maar het kan ook zelf virtuele data bevatten die afgeleid is van de data in de database maar er niet opgeslagen is Sharing of Data and Multiuser Transaction Processing Een multiuser DBMS moet toelaten dat meerdere gebruikers tegelijkertijd toegang hebben tot de database. Hiervoor moet de DBMS over concurrency control software beschikken om te verzekeren dat het updaten van data door meerdere gebruikers correct verloopt zodat ook het resultaat hiervan correct is. Een transactie is een uitvoerend programma of proces dat één of meerdere database accesses omvat. De isolation-eigenschap verzekert dat elke transactie uitgevoerd wordt, afgezonderd van andere transacties. De atomicity-eigenschap verzekert dat alle transacties ofwel volledig uitgevoerd worden, ofwel niet uitgevoerd worden. 11

13 1.4 Actors on the Scene Actors on the scene zijn de personen die dagelijks een grote database gebruiken Database Administrators Er is nood aan een chief administrator, we noemen deze de database administrator (DBA). Hij is verantwoordelijk voor autorisatie, coördinatie, monitoring en de software en hardware resources. Hij is ook de persoon die verantwoordelijk gesteld kan worden voor problemen zoals veiligheidslekken en een slechte responstijd van het systeem Database Designers Database designers zijn de personen die verantwoordelijk zijn voor het identificeren van de data die opgeslagen moet worden op de database en voor het kiezen van de juiste datastructuren om deze op te slagen data voor te stellen in de database End Users Eindgebruikers zijn de personen wiens job eruit bestaat een database te bevragen, up te daten en rapporten te maken. We kunnen ze onderverdelen in verschillende categorieën: Casual end users hebben de database occasioneel nodig en hebben mogelijk elke keer andere gegevens nodig. Naive of parametric end users bevragen en updaten de database constant. Sophisticated end users (zoals ingenieurs of wetenschappers) kennen de eigenschappen en mogelijkheden van de database zeer goed zodat ze hun eigen applicaties kunnen implementeren. Standalone users hebben meestal een persoonlijke database System Analysts and Application Programmers (Software Engineers) System analysts bepalen de eisen van de eindgebruiker en ontwerpen de specificaties voor alleenstaande transacties die voldoen aan deze eisen. Application programmers implementeren deze specificaties als programma s die ze testen, debuggen en documenteren. 1.5 Workers behind the Scene Dit stuk gaat over de mensen die de DBMS software en system environment ontwerpen, ontwikkelen en de operaties ervan uitschrijven. Ze zijn meestal niet geïnteresseerd in de inhoud van de database. DBMS system designers en implementers ontwerpen en implementeren de DBMS modules en interfaces als een softwarepakket. Tool developers ontwerpen en implementeren tools. Tools zijn optionele pakketten die vaak apart aangekocht kunnen worden. Operators en maintenance personnel is het system administration personnel. Ze zijn verantwoordelijk voor het runnen en het onderhoud van de hardware en software environment. 12

14 1.6 Advantages of Using the DBMS Approach Controlling Redundancy De redundantie is het meermaals opslaan van dezelfde data, dit leidt tot verschillende problemen. Een simpele update moet meerdere malen uitgevoerd worden, dit is duplication of effort. Opslagruimte wordt verspilt. Bestanden die dezelfde data voorstellen kunnen inconsistent worden omdat een update niet wordt doorgevoerd op alle bestanden. We moeten een database hebben die elk logical data item (bv. naam en geboortedatum) opslaat op één enkele plaats in de database, dit heet data normalization. Soms is er echter nood aan gecontroleerde redundantie. Dit komt voor indien we alle data die vaak samen opgevraagd wordt, in 1 bestand plaatsen. Hierdoor moet er bij een query slechts 1 bestand doorzocht worden i.p.v. meerdere. Dit heet denormalization Restricting Unauthorized Access Als meerdere gebruikers een grote database delen, is het logisch dat niet iedereen toegang heeft tot alle data. Een DBMS moet een security and authorization subsystem bevatten, waarmee de DBA accounts kan aanmaken en restricties kan opleggen Providing Persistent Storage for Program Objects Databases kunnen gebruikt worden om persistente opslag voor programma-objecten en datastructuren aan te bieden. Dit is één van de redenen voor object-oriented database systems. Een complex object in C++ kan permanent opgeslagen worden in een object-georiënteerd DBMS. Zo een object noemen we persistent, omdat het de beëindiging van het programma overleeft en later direct kan teruggevonden worden Providing Storage Structures and Search Techniques for Efficient Query Processing Databasesystemen moeten de mogelijkheid hebben tot het efficiënt uitvoeren van query s en updates. Omdat een database vaak is opgeslagen op een disk, moet de DBMS speciale datastructuren en technieken voorzien om de seektime te versnellen. Een oplossing hiervoor is werken met indexering. Een DBMS biedt vaak buffering of caching modules aan, die bijgehouden worden in het hoofdgeheugen. De query processing and optimization module is verantwoordelijk voor het kiezen van een efficiënt query-uitvoeringsplan voor elke query, gebaseerd op de huidige opslagstructuur Providing Backup and Recovery Een DBMS moet de mogelijkheid bezitten om te herstellen van hardware- of softwarefouten. Het backup and recovery subsystem van de DBMS is verantwoordelijk voor het herstel. Het moet kunnen herstellen, hervatten of een backup maken. 13

15 1.6.6 Providing Multiple User Interfaces Dit omvat query-talen voor casual users, programming language interfaces voor application programmers, formulieren en commando s voor parametric users en menu-gestuurde interfaces en natural language interfaces voor standalone users. Vaak in combinatie met een GUI Representing Complex Relationships among Data Een DBMS moet de mogelijkheid bieden om complexe relaties tussen data voor te stellen, evenals de mogelijkheid om nieuwe relaties te definiëren en gerelateerde data snel en efficiënt terug te vinden Enforcing Integrity Constraints De meeste database applications hebben bepaalde integrity constraints die moeten gelden voor de data. Een DBMS moet de mogelijkheid bieden om constraints te definiëren en ze te handhaven Permitting Inferencing and Actions Using Rules Sommige databasesystemen hebben de mogelijkheid om informatie af te leiden uit reeds bestaande data. Zulke systemen noemen we deductive database systems. In moderne databases bestaat de mogelijkheid om triggers te associëren met tabellen. Een trigger is een soort regel die toegepast wordt bij een update op een tabel, wat resulteert in het uitvoeren van extra operaties zoals het sturen van een boodschap. Nog sterker zijn active database systems, deze leveren actieve regels die automatisch acties uitvoeren wanneer bepaalde gebeurtenissen of condities voorkomen Additional Implications of Using the Database Approach Potential for Enforcing Standards: de DBA wordt toegelaten om een bepaalde standaard te definiëren voor de users. Reduced Application Development Time: eens een database is opgezet en runt, is er minder tijd nodig om een nieuwe applicatie te ontwikkelen, gebruikmakend van de DBMS mogelijkheden. Flexibility: moderne DBMS en laten verschillende soorten van evolutionaire veranderingen toe in de structuur van de database zonder invloed op de opgeslagen data of applicaties. Availability of Up-to-Date information: vanaf het moment dat een gebruiker bepaalde data heeft geüpdatet, moeten deze wijzigingen zichtbaar zijn voor andere gebruikers. Economies of Scale: systemen kunnen gedeeld worden om overlappingen te voorkomen op verschillende niveaus. 1.8 When Not to Use a DBMS Er zijn bepaalde situaties waarbij het gebruik van een DBMS een onnodige overhead kan veroorzaken, wat niet zou voorkomen bij het traditionele file processing. De overhead van een DBMS kan volgende oorzaken hebben: Te hoge initiële kosten voor hardware, software en training De algemeenheid van een DBMS Overhead voor het leveren van security, concurrency en recovery 14

16 Hoofdstuk 2 Overview of Database Languages and Architectures DBMS packages zijn gegroeid van één geïntegreerd systeem naar modulaire systemen. Deze bestaan uit verschillende delen. Standaard wordt er gewerkt met twee modules: een client module die de gebruikersinteractie moet verzorgen en een server module die zaken als dataopslag, toegang, en het doorzoeken van de database op zich neemt. 2.1 Data Models, Schemas, and Instances Een belangrijk kenmerk van databases is dat ze een soort van data abstraction voorzien. Hiermee bedoelt men dat zaken als de schijfopslag van de data worden genegeerd, terwijl enkel het belangrijkste om de data te kunnen bestuderen en interpreteren wordt getoond. Er worden ook meer en meer hoogniveau operaties geïmplementeerd zodat manipulatie of interpretatie van de opgeslagen data zo eenvoudig mogelijk wordt. Dit wordt ook wel het dynamische aspect van de database genoemd Categories of Data Models Er zijn een drietal interessante, veel voorkomende datamodellen: Hoog-niveau of conceptuele datamodellen Deze datamodellen gebruiken concepten als entiteiten, attributen en relaties: een entiteit stelt een object uit de echte wereld voor een attribuut stelt een eigenschap van zo een entiteit voor een relatie stelt een associatie voor tussen twee of meer entiteiten Representatieve of implementatie-datamodellen Deze datamodellen worden in commerciële databasesystemen het vaakst gebruikt. Ze maken gebruik van relaties, maar ook van record structures. Laag-niveau of fysieke datamodellen Deze datamodellen beschrijven hoe data in bestanden wordt opgeslagen in het geheugen door informatie als het recordformaat, recordsortering en toegangspaden te beschrijven. 15

17 2.1.2 Schemas, Instances and Database State Er moet bij elk datamodel een onderscheid gemaakt worden tussen de beschrijving van een database en de database zelf. De beschrijving van een database gebeurt in een database schema, ook wel een schema-diagram genoemd. Dit schema wordt ontwikkeld vóór het maken van de database en wordt niet dikwijls gewijzigd. Dit diagram geeft dus eigenlijk de structuur (de tabellen en hun kolomhoofden) weer van een database. De eigenlijke data van een database verandert regelmatig d.m.v. manipulaties. Elke momentopname in de tijd van de data in een database heet de database state (databasetoestand of instantie). Je kan het ook als volgt beschrijven: het schema is de intensie van de database, terwijl een databasetoestand een extensie van dit schema is. 2.2 Three-Schema Architecture and Data Independence De 3-schema architectuur probeert de volgende drie kenmerken te bereiken en visualiseren: Een catalog gebruiken om het schema in op te slaan zodat de database zelfbeschrijvend wordt. Isolatie tussen programma s en opgeslagen data. Ondersteunen van meerdere user views (manieren om de data te kunnen interpreteren) The Three-Schema Architecture In deze architectuur kunnen schema s op drie niveaus gedefiniëerd worden: Het interne niveau heeft een intern schema dat de fysische opslagstructuur en de toegangspaden beschrijft. Het conceptuele niveau heeft een conceptueel schema (implementatiemodel) dat de structuur van de database weergeeft voor gebruikers. Het externe niveau of view niveau heeft een aantal user views (hoe gebruikers data zien). Deze niveaus moeten uiteraard kunnen samenwerken. Bij het opvragen van data moet deze data aangepast worden om binnen de view van een zekere gebruik te passen. Deze transformaties tussen de verschillende niveaus heten mappings Data Independence Data independence binnen de 3-schema architectuur houdt in dat je het schema van één niveau kan veranderen zonder dat je het schema van het niveau direct daarboven moet aanpassen. Er zijn twee types: Logical data independence houdt in dat je het conceptueel schema kan aanpassen zonder dat je daarvoor de externe schema s of applicaties moet voor aanpassen. Je moet dus de structuur kunnen aanpassen en constraints kunnen definiëren zonder dat je daarvoor een aanpassing moet doen aan die externe schema s of applicaties. Physical data independence betekent dat je het intern schema kan aanpassen, zonder dat je aan het conceptueel schema dat er boven draait moet moet raken. De laatste soort onafhankelijkheid komt in de meeste databases wel voor, maar de eerste soort is iets moeilijker te verkrijgen. 16

18 2.3 Database Languages and Interfaces DBMS Languages Er zijn 4 theoretische DBMS-talen die belangrijk zijn voor de goede werking van de database: De data definition language (DDL) wordt gebruikt om de conceptuele en interne schema s te definiëren. De storage definition language (SDL) specificieert het interne schema. De view definition language (VDL) bepaalt de user views en de mappings die ze hebben naar het conceptueel schema. De data manipulation language (DML) staat in voor het manipuleren van data: opvragen, toevoegen, verwijderen of aanpassen. Deze zijn theoretisch omdat men in de praktijk niet werkt met aparte talen: alles wordt in één geïntegreerde taal gedefinieerd. Er zijn 2 soorten DMLs: high-level en low-level. Waar een high-level DML op zichzelf kan steunen om query s en dergelijke te processen (het wordt dan ook vaak query-taal genoemd), moet een low-level DML ingebouwd worden in een algemene programeertaal om gebruik te kunnen maken van hun functies zoals loops. In dit laatste geval is de low-level taal een data sublanguage van de host language, de programmeertaal waarin de low-level taal geschreven is DBMS Interfaces Volgende interfaces kunnen in de database aanwezig zijn: Menu-Based Interfaces for Web Clients or Browsing. Deze interfaces worden gebruikt om de inhoud van de database te kunnen opvragen en bekijken met behulp van drop-down menu s. Forms-Based Interfaces. Deze interfaces maken gebruik van invulvelden om data op te vragen of om nieuwe data toe te voegen. Graphical User Interfaces. Dit type interfaces maakt gebruik van de twee voorgaande methodes om een nette interface te geven aan de gebruikers. Natural Language Interfaces. Hier wordt geprobeerd ingegeven woorden uit een spreektaal te vertalen zodat de zin kan geïnterpreteerd worden. Dit heet dan keyword-based querying. Speech Input and Output. Hierbij kan men via gesproken taal een query ingeven, het resultaat wordt door de computer ook in gesproken taal gegeven. Interfaces for Parametric Users. Interfaces voor gebruikers die een beperkte set commando s bij herhaling nodig hebben. Door hier een specifieke set van commando s in te voeren moeten er minder toetsen worden ingedrukt. Interfaces for the DBA. Uiteraard moeten ook de database administrators in staat zijn de database te kunnen manipuleren. Zij hebben daar deze specifieke interfaces voor. 17

19 2.4 The Database System Environment DBMS Component Modules Elke database en zijn catalogus is opgeslagen op een schijf. Toegang tot deze schijf wordt geregeld door het besturingssysteem. Daar zit uiteraard ook buffer management ingebakken om disk read/write operations te schedulen. Bovendien is er nog een stored data manager die de toegang tot informatie over het systeem beheert. Het user-gedeelte van de database bestaat uit de toegang voor de DBA staff, casual users, application programmers en parametric users. Het query and transactie-gedeelte staat in voor het uitvoeren van queries op de data en het teruggeven van het resultaat. Dit gebeurt in de runtime database processor, gebruikmakend van de system catalog en de stored data manager. Voordat de query wordt uitgevoerd is deze reeds gecompiled en geoptimaliseerd door de desbetreffende modules in het user-gedeelte. Zie eventueel figuur 2.3 op pagina Database System Utilities Elke database heeft een aantal system utilities die helpen bij het beheer van de database: Loading. Deze utility staat in voor het inladen van bestaande data files in een bepaald formaat (bv. tekstbestanden of sequentiële bestanden) in de database. Backup. Deze tool maakt een gehele backup van de database om de data te kunnen herstellen bij een disk failure. Soms werkt deze tool met incrementele backup waarbij enkel de veranderingen sinds de laatste toestand worden opgeslagen. Database storage reorganisation. Een tool om een set data te reorganiseren in files of in een ander pad in de database. Performance monitoring. Deze utility houdt het gebruik van de database bij en maakt er statistieken van die door de administrators kunnen geïnterpreteerd worden Tools, Application Environments, and Communications Facilities Er zijn nog een aantal extra tools die handig kunnen zijn, bijvoorbeeld een information repository. Hierin worden zaken als ontwerpsbeslissingen bijgehouden. Er is vaak ook communication software nodig om vanop afstand aan de database te kunnen. 2.5 Centralized & Client/Server Architectures for DBMSs Centralized DBMSs Architecture De eerste databases werden gebouwd als mainframes met daarop aangesloten terminals, deze terminals hadden geen eigen rekenkracht. Omdat hardware goedkoper werd, begon men de terminals te vervangen door PC s en werkstations waarbij het hele DBMS nog steeds centraal draaide. 18

20 2.5.2 Basic Client/Server Architectures Dit type architectuur werd ontwikkeld om te kunnen werken in omgevingen met een groot aantal PC s, werkstations, printers en allerhande servers. Het idee is om verscheidene servers specifieke taken te geven in plaats van alles zomaar te centraliseren. Server-side wordt alles verdeeld over verschillende types servers (printservers, fileservers, webservers,... ). Daarnaast is er ook de client-side, waarbij elke machine zijn gebruiker voorziet van de nodige interfaces om met deze servers te kunnen werken. Al deze servers en machines zijn onderling verbonden via een communicatienetwerk Two-Tier Client/Server Architectures for DBMSs Een 2-tier client/server architecture is rechtstreeks gegroeid uit de gecentraliseerde architectuur. Interfaces en applicatieprogramma s werden verhuisd van server- naar client-side. De server heet in zo n 2-tier systeem vaak de query server of transaction server omdat dit de functies van de server zijn. Client-side is er een programma dat via een API met de database kan verbinden en er query s kan op uitvoeren binnen de rechten die toegekend zijn aan de client. De softwarecomponenten zijn dus over 2 soorten systemen verdeeld zijn: clients en servers Three-Tier and n-tier Architectures for Web Applications Veel webapplicaties werken tegenwoordig met een 3-tier architecture. Er wordt een extra laag ingebouwd tussen client en server: een application server of web server. Deze server draait de applicatieprogramma s en slaat procedures en constraints op waarmee men rekening mee moet houden bij het opvragen van data van de database server. Deze middle-tier geldt ook als extra veiligheidsmaatregel: je kan een client verifiëren voor je zijn query doorstuurt naar de databaseserver. Op de client-layer zijn dan de gebruikers- en webinterfaces aanwezig, terwijl op de server alle data management services aanwezig zijn. De verschillende layers kunnen nog verder uit mekaar gehaald worden tot n-tier architectures, bijvoorbeeld een encryptie-/decryptieserver om communicatie van en naar de servers te beveiligen. 2.6 Classification of Database Management Systems Om DBMSs te classificeren zijn er een zestal criteria om te beschouwen: Het gebruikte datamodel. In veel DBMSs is dat het relationele datamodel. Aantal ondersteunde gebruikers. Een single-user system ondersteunt maar één gebruiker tegelijk, een multiuser system meerdere. Aantal plaatsen waarover de database verdeeld is. Een DBMS is gecentraliseerd als de data op één plaats staat en gedistribueerd als de data verspreid is over meerdere plaatsen. Kost. Er zijn gratis systemen zoals MySQL en PostgreSQL maar er zijn ook betalende systemen. Veel geld gaat meestal uit naar het onderhoud van de systemen en ondersteuning als er problemen zijn. De prioriteiten liggen hier voor particulieren anders dan voor bedrijven. Het gekozen type access path. Men gebruikt meestal geïnverteerde bestandstructuren. Het doel. Er zijn databases voor algemene doeleinden en voor speciale doeleinden. 19

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

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

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

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

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

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

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

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

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

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

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

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

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

Oracle Rolling Upgrades met SharePlex Bart.vanKnijff@quest.com Systems Consultant Quest Software Nederland 9/11 2007

Oracle Rolling Upgrades met SharePlex Bart.vanKnijff@quest.com Systems Consultant Quest Software Nederland 9/11 2007 Oracle Rolling Upgrades met SharePlex Bart.vanKnijff@quest.com Systems Consultant Quest Software Nederland 9/11 2007 Copyright 2006 Quest Software Agenda Wat is SharePlex? Toepassingen en de belangrijkste

Nadere informatie

Webapplicatie-generatie NIOC 2013

Webapplicatie-generatie NIOC 2013 Webapplicatie-generatie NIOC 2013 Eddy Luursema, Misja Nabben, Arnoud van Bers Research Group Model Based Information Systems Presentation Introduction M-BIS Data intensive systems Requirements Generation

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

Zelftest DB2 for z/os basiscursus

Zelftest DB2 for z/os basiscursus Zelftest DB2 for z/os basiscursus Document: n1067test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INLEIDING BIJ DE ZELFTEST DB2 FOR Z/OS BASISCURSUS

Nadere informatie

Elfde-Liniestraat 24 3500 Hasselt Schooljaar 2009-2010 TINFO POKER GAME Oracle Scripts

Elfde-Liniestraat 24 3500 Hasselt Schooljaar 2009-2010 TINFO POKER GAME Oracle Scripts Elfde-Liniestraat 24 3500 Hasselt Schooljaar 2009-2010 TINFO POKER GAME Oracle Scripts Studenten: Peter Asnong Rik Broens Tom De Keyser Daan Gielen Kris Gregoire Koen Olaerts Toon Wouters Inhoudsopgave

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

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

Relationele Databases 2002/2003

Relationele Databases 2002/2003 1 Relationele Databases 2002/2003 Hoorcollege 4 8 mei 2003 Jaap Kamps & Maarten de Rijke April Juli 2003 Plan voor Vandaag Praktische dingen 3.1, 3.2, 3.3, 3.4, 3.5. SQL Aantekeningen 2 Tabellen. Theorie

Nadere informatie

Tentamen Databases voor ica

Tentamen Databases voor ica Tentamen Databases voor ica 17 april 2014 16:30-19:30, Educatorium-Gamma Beantwoord vragen 1, 2, 4 en 5 door het invullen van de bijbehorende pagina s van dit tentamen en deze pagina s afzonderlijk in

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

Relationele Databases 2002/2003

Relationele Databases 2002/2003 Relationele Databases 2002/2003 Hoorcollege 4 8 mei 2003 Jaap Kamps & Maarten de Rijke April Juli 2003 1 Plan voor Vandaag Praktische dingen Huiswerk 3.1, 3.2, 3.3, 3.4, 3.5. SQL Aantekeningen 2 Tabellen.

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

Pijlers van Beheer. Bram van der Vos www.axisintoict.nl ict@axisinto.nl

Pijlers van Beheer. Bram van der Vos www.axisintoict.nl ict@axisinto.nl Welkom Pijlers van Beheer Bram van der Vos www.axisintoict.nl ict@axisinto.nl Waarom doe je Beheer Business perspectief Stabiliteit Security Enablen voor gebruikers Ondersteuning Technisch Perspectief

Nadere informatie

Programmeren. Cursus Python

Programmeren. Cursus Python Programmeren Cursus Python Cursus Python Omschrijving In deze cursus leren de deelnemers te programmeren in de objectgeoriënteerde programmeertaal Python. Python is een taal die vaak wordt gebruikt voor

Nadere informatie

Secure Application Roles

Secure Application Roles Secure Application Roles Beheer de toegang tot de database 1. Inleiding Het realiseren van geautoriseerde toegang tot een database lijkt eenvoudig. Echter, vaak blijkt dat dezelfde combinatie van gebruikersnaam

Nadere informatie

Hoog Beschikbaarheid en het waterschapshuis

Hoog Beschikbaarheid en het waterschapshuis Hoog Beschikbaarheid en het waterschapshuis het doel, de mogelijkheden en de beperkingen Oracle Waterschapsdag SPREKER : E-MAIL : DATUM : Johan Westerduin jwesterduin@transfer-solutions.com 30 november

Nadere informatie

Tentamen Databases voor iku

Tentamen Databases voor iku Scheur de antwoordvellen doormidden. Maak elke vraag op een ander vel. Tentamen Databases voor iku 17 april 2013 13:30-16:30, Educatorium-Gamma Vermeld op elk vel je naam en studentnummer. Indien één van

Nadere informatie

Inleiding... 3. 1 Databases en Data Base Management Systems... 3. 2 Tabellen... 3. 3 Wat is SQL?... 5

Inleiding... 3. 1 Databases en Data Base Management Systems... 3. 2 Tabellen... 3. 3 Wat is SQL?... 5 1 Inhoudsopgave. Inleiding.... 3 1 Databases en Data Base Management Systems.... 3 2 Tabellen.... 3 3 Wat is SQL?... 5 4 Gegevens opvragen (deel 1).... 5 4.1 Boolean operatoren.... 7 4.2 IN en BETWEEN

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

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

Les 11 : Basis SQL (deel2).

Les 11 : Basis SQL (deel2). Les 11 : Basis SQL (deel2). Wat is SQL? SQL gaan we gebruiken voor het raadplegen van de database. We gaan gegevens invoegen in de database, selecteren, aanpassen en verwijderen van de database. Om dit

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

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

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

Enterprisearchitectuur

Enterprisearchitectuur Les 2 Enterprisearchitectuur Enterprisearchitectuur ITarchitectuur Servicegeoriënteerde architectuur Conceptuele basis Organisatiebrede scope Gericht op strategie en communicatie Individuele systeemscope

Nadere informatie

The End of an Architectural Era

The End of an Architectural Era The End of an Architectural Era M. Stonebraker, S. Madden, D. J. Abadi, S. Harizopoulos, N. Hachem, P. Helland Jorn Van Loock Inleiding Oorsprong relationele DBMS IBM System R (1974) DB2 Sybase SQL Server

Nadere informatie

Software Processen. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1. Het software proces

Software Processen. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1. Het software proces Software Processen Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1 Het software proces Een gestructureerd set van activiteiten nodig om een software systeem te ontwikkelen Specificatie;

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

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

Wie? Advanced Databases blok 4 2011. DB vs IR. Wat? Canonical application (DB) Canonical application (DB)

Wie? Advanced Databases blok 4 2011. DB vs IR. Wat? Canonical application (DB) Canonical application (DB) Advanced Databases blok 4 2011 Wie? Hans Philippi: docent/practicumleider René Kersten: assistent bij practicum Hans Philippi 1 2 Wat? DB vs IR 2005 XML (Siebes) 2007 Google ranking (Siebes) 2009/2011

Nadere informatie

Educagen. Wij zijn specialisten in Education en in Gen met een ervaring in consultancy en training van meer dan 20 jaar in de Gen-omgeving.

Educagen. Wij zijn specialisten in Education en in Gen met een ervaring in consultancy en training van meer dan 20 jaar in de Gen-omgeving. Educagen Wij zijn specialisten in Education en in Gen met een ervaring in consultancy en training van meer dan 20 jaar in de Gen-omgeving. Educagen leidt organisaties en hun medewerkers op om systemen

Nadere informatie

hoofdstuk 9 referentiële integriteit waarborgen overige constraints 9.1 Referentiële integriteit relationele databases 9.1

hoofdstuk 9 referentiële integriteit waarborgen overige constraints 9.1 Referentiële integriteit relationele databases 9.1 relationele databases 9.1 hoofdstuk 9 referentiële integriteit waarborgen overige constraints 9.1 Referentiële integriteit Als voorbeeld nemen we een eenvoudige database, bestaande uit twee tabellen. De

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

Belangrijkste ideeën/concepten uit OS, incl. proces

Belangrijkste ideeën/concepten uit OS, incl. proces Operating System Overview (Hfst 2) Wat is een OS? Wat was een OS? Evolutie van OS. OS als virtuele machine OS als beheerder van hulpbronnen (resources) Belangrijkste ideeën/concepten uit OS, incl. proces

Nadere informatie

Multi user Setup. Firebird database op een windows (server)

Multi user Setup. Firebird database op een windows (server) Multi user Setup Firebird database op een windows (server) Inhoudsopgave osfinancials multi user setup...3 Installeeren van de firebird database...3 Testing van de connectie met FlameRobin...5 Instellen

Nadere informatie

Integriteitsbewaking bij een relationele database

Integriteitsbewaking bij een relationele database Integriteitsbewaking bij een relationele database Bij het ontwikkelen van een informatiesysteem voor een organisatie moet er koste wat koste voor gezorgd worden, dat er geen tegenstrijdige gegevens in

Nadere informatie

Zelftest Java EE Architectuur

Zelftest Java EE Architectuur Zelftest Java EE Architectuur Document: n1218test.fm 22/03/2012 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INLEIDING BIJ DE ZELFTEST JAVA EE ARCHITECTUUR Nota:

Nadere informatie

Contents. Introduction Problem Definition The Application Co-operation operation and User friendliness Design Implementation

Contents. Introduction Problem Definition The Application Co-operation operation and User friendliness Design Implementation TeleBank Contents Introduction Problem Definition The Application Co-operation operation and User friendliness Design Implementation Introduction - TeleBank Automatic bank services Initiates a Dialog with

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

Absentie Presentie Server Migratie

Absentie Presentie Server Migratie Absentie Presentie Server Migratie Auteur A. Boerkamp Versie V1.2 Datum 11-08-2010 Status Voor Intern / Extern gebruik Pincash International, 3066GS Rotterdam, Anthonetta Kuijlstraat 43-45, 010-2868000

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

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

Zo kan je linken maken tussen je verschillende groepen van gegevens.

Zo kan je linken maken tussen je verschillende groepen van gegevens. 1 1. Entity Reference Entity Reference zal ook een onderdeel zijn van Drupal 8. Het is een module van het type veld. Het is een heel krachtige module die toelaat om referenties te maken tussen verschillende

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

SQL STATEMENTS. Deze kolom kan grote stukken tekst aan en is bedoeld om tekst erin de plaatsen. Geheel getal, bijvoorbeeld 8, 63, 835 NUMERIC

SQL STATEMENTS. Deze kolom kan grote stukken tekst aan en is bedoeld om tekst erin de plaatsen. Geheel getal, bijvoorbeeld 8, 63, 835 NUMERIC Aantekeningen IRDB Vak: IRDB > Infrma1ca Rela1nele DataBase Onderstaande database scripts zijn gebaseerd p PstgreSQL. Standaarden Schrijf SQL wrden al1jd in hfdlefers, k al werkt het met kleine lefers;

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

Big Data en Testen samen in een veranderend speelveld. Testnet 10 april 2014 Paul Rakké

Big Data en Testen samen in een veranderend speelveld. Testnet 10 april 2014 Paul Rakké Big Data en Testen samen in een veranderend speelveld Testnet 10 april 2014 Paul Rakké Kernvraag Is het testen van Big Data omgevingen, applicaties en de data anders dan het testen van meer traditionele

Nadere informatie

B.Sc. Informatica Module 4: Data & Informatie

B.Sc. Informatica Module 4: Data & Informatie B.Sc. Informatica Module 4: Data & Informatie Djoerd Hiemstra, Klaas Sikkel, Luís Ferreira Pires, Maurice van Keulen, en Jan Kamphuis 1 Inleiding Studenten hebben in modules 1 en 2 geleerd om moeilijke

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

Zelftest Oracle basiscursus

Zelftest Oracle basiscursus Zelftest Oracle basiscursus Document: N0475Test.fm 14/01/2008 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INLEIDING BIJ DE ZELFTEST ORACLE BASISCURSUS Dit is een

Nadere informatie

Installatie SQL: Server 2008R2

Installatie SQL: Server 2008R2 Installatie SQL: Server 2008R2 Download de SQL Server 2008.exe van onze site: www.2work.nl Ga naar het tabblad: Downloads en meld aan met: klant2work en als wachtwoord: xs4customer Let op! Indien u een

Nadere informatie

Extra details van de performance in de database kunt u zien met het Top Activity scherm dat u van hieruit kunt tonen.

Extra details van de performance in de database kunt u zien met het Top Activity scherm dat u van hieruit kunt tonen. Real-time performance diagnose in Oracle In Oracle 10g en 11g is het mogelijk om de database performance real-time te volgen, als u de licentie voor Diagnostics Pack heeft aangeschaft (en de Enterprise

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

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

Het beheren van mijn Tungsten Network Portal account NL 1 Manage my Tungsten Network Portal account EN 14

Het beheren van mijn Tungsten Network Portal account NL 1 Manage my Tungsten Network Portal account EN 14 QUICK GUIDE C Het beheren van mijn Tungsten Network Portal account NL 1 Manage my Tungsten Network Portal account EN 14 Version 0.9 (June 2014) Per May 2014 OB10 has changed its name to Tungsten Network

Nadere informatie

Distributed Systems Architectures

Distributed Systems Architectures Distributed Systems Architectures Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 1 Topics covered Multiprocessor architectures Client-server architectures Distributed object architectures

Nadere informatie

Data Warehouse Script Generator Doel

Data Warehouse Script Generator Doel Data Warehouse Script Generator Doel Op basis van een aantal standaard sql scripts ( create table, create view ) een nieuwe sql script genereren welke alle objecten ( tables & views ) kan aanmaken in een

Nadere informatie

Component-based software engineering

Component-based software engineering Component-based software engineering Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 19 Slide 1 CBSE essentials Independent components gespecificeerd door hun interfaces. Component standards

Nadere informatie

Cerussa FIN Pre-requirements

Cerussa FIN Pre-requirements Pre-requirements Inhoudstafel A. Algemeen... 3 B. Type installaties... 3 C. Hardware en software vereisten... 4 1. PC Clients... 4 2. Terminal Server Clients (Thin Clients)... 4 3. Server... 4 D. Operating

Nadere informatie

OFFICE A LA CARTE - ACCESS 2013

OFFICE A LA CARTE - ACCESS 2013 OFFICE A LA CARTE - ACCESS 2013 Inhoud HOOFDSTUK ACC-1.1: TERMINOLOGIE - (0:20) Wat is een database? Onderdelen van een database Tabellen en relaties Schematisch overzicht van de structuur van een database

Nadere informatie

Advanced Databases Topic 2: query processing aspects query optimisation. Query optimisation. Van SQL naar XRA. Algebraïsche herschrijving

Advanced Databases Topic 2: query processing aspects query optimisation. Query optimisation. Van SQL naar XRA. Algebraïsche herschrijving Advanced Databases Topic 2: query processing aspects query optimisation Query optimisation Outline: Basisregels algebraïsche herschrijving Schattingen Queryplan-generatie 1 2 Algebraïsche herschrijving

Nadere informatie

1. * Database worden vaak gebruikt in Client-Server architectuur.

1. * Database worden vaak gebruikt in Client-Server architectuur. Naam Studentnummer Klas Herkansing [ ] ja, nee [ ], zoja uit welk jaar? kernbegrippen relationele database Minimaal drie van de vijf vragen goed beantwoorden. 1. * Database worden vaak gebruikt in Client-Server

Nadere informatie

Van een ER-diagram naar een database specificatie in SQL

Van een ER-diagram naar een database specificatie in SQL Van een ER-diagram naar een database specificatie in SQL Huub de Beer Eindhoven, 4 juni 2011 Inhoudsopgave 1 Inleiding 1 2 Van een ER-diagram naar het relationele model 1 3 Van relationeel model naar SQL

Nadere informatie

Bestandssystemen. yvan vander sanden. 16 maart 2015

Bestandssystemen. yvan vander sanden. 16 maart 2015 Bestandssystemen yvan vander sanden 16 maart 2015 Bij elk operating system is het belangrijk te begrijpen hoe schijven en bestandssystemen werken. Schijven moeten geformatteerd worden met een specifiek

Nadere informatie

Onder de motorkap van Microsoft Azure Web Sites. Eelco Koster Software architect ORDINA

Onder de motorkap van Microsoft Azure Web Sites. Eelco Koster Software architect ORDINA Onder de motorkap van Microsoft Azure Web Sites Eelco Koster Software architect ORDINA Agenda Introductie Architectuur Project Kudu Azure Resource Manager Doel Dieper inzicht geven in de werking van Azure

Nadere informatie

Gimme Five! Op weg naar TYPO3 5.0 'Phoenix'

Gimme Five! Op weg naar TYPO3 5.0 'Phoenix' Gimme Five! Op weg naar TYPO3 5.0 'Phoenix' Waarom TYPO3 5.0? Waarom TYPO3 5.0? Enkele redenen: Waarom TYPO3 5.0? Enkele redenen: Complexiteit De TYPO3 Core architectuur heeft zijn limiet bereikt en is

Nadere informatie

PL/SQL. Declaraties van variabelen. Structuur PL/SQL is een blok-georiënteerde taal: Toekenningen

PL/SQL. Declaraties van variabelen. Structuur PL/SQL is een blok-georiënteerde taal: Toekenningen PL/SQL PL/SQL is een procedurele uitbreiding op SQL, omdat SQL op zich niet krachtig genoeg is om complexe databank applicaties te ontwikkelen. Server-side functies, of stored procedures worden op de database

Nadere informatie

ETS 4.1 Beveiliging & ETS app concept

ETS 4.1 Beveiliging & ETS app concept ETS 4.1 Beveiliging & ETS app concept 7 juni 2012 KNX Professionals bijeenkomst Nieuwegein Annemieke van Dorland KNX trainingscentrum ABB Ede (in collaboration with KNX Association) 12/06/12 Folie 1 ETS

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

Martiris 2011. Secure Private Data. Gegevensbescherming in Oracle Databases

Martiris 2011. Secure Private Data. Gegevensbescherming in Oracle Databases Martiris 2011 Secure Private Data Gegevensbescherming in Oracle Databases Inhoudsopgave INTRODUCTIE... 3 HISTORIE... 4 SECURE PRIVATE DATA: FUNCTIONEEL... 4 A) ROW LEVEL SECURITY... 4 B) COLUMN MASKING...

Nadere informatie

ASRemote WebService. Via deze webservice kunt u:

ASRemote WebService. Via deze webservice kunt u: ASRemote WebService De ASRemote WebService is een SOAP Webservice die softwarematige communicatie met Exact Globe mogelijk maakt vanaf een willekeurige locatie op het internet. Via deze webservice kunt

Nadere informatie

Configureren van een VPN L2TP/IPSEC verbinding

Configureren van een VPN L2TP/IPSEC verbinding Configureren van een VPN L2TP/IPSEC verbinding Inhoudsopgave 1. Voorbereiding.... 3 2. Domain Controller Installeren... 4 3. VPN Configuren... 7 4. Port forwarding.... 10 5. Externe Clients verbinding

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

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

SQL. Datamodellering 2008

SQL. Datamodellering 2008 SQL Datamodellering 2008 1 Wat is SQL? SQL is een standaard interactieve bevragings- en definitietaal voor relationele DBMSen SQL is een set-based, declaratieve query-taal (dus niet procedureel!) DB-leveranciers

Nadere informatie

SQL. Wat is SQL? Geschiedenis SQL SQL DMO 2008 1. Datamodellering 2008

SQL. Wat is SQL? Geschiedenis SQL SQL DMO 2008 1. Datamodellering 2008 SQL Datamodellering 2008 1 Wat is SQL? is een standaard interactieve bevragings- en definitietaal voor relationele DBMSen is een set-based, declaratieve query-taal (dus niet procedureel!) DB-leveranciers

Nadere informatie

Beveiligingsbeleid Perflectie. Architectuur & Procedures

Beveiligingsbeleid Perflectie. Architectuur & Procedures Beveiligingsbeleid Perflectie Architectuur & Procedures 30 november 2015 Versiebeheer Naam Functie Datum Versie Dimitri Tholen Software Architect 12 december 2014 0.1 Dimitri Tholen Software Architect

Nadere informatie

Na bestudering van dit hoofdstuk, moet je tot het volgende in staat zijn:

Na bestudering van dit hoofdstuk, moet je tot het volgende in staat zijn: 5. De oefendatabase 5.1. Inleiding In de volgende hoofdstukken ga je oefenen / werken met SQL. Om te kunnen oefenen heb je natuurlijk wel een database nodig. In dit hoofdstuk wordt besproken hoe je deze

Nadere informatie

Inleiding. In dit college: Opzet van de cursus (1) DMO - introductie DMO 2008 1. Datamodellering 2008

Inleiding. In dit college: Opzet van de cursus (1) DMO - introductie DMO 2008 1. Datamodellering 2008 Inleiding Datamodellering 2008 1 In dit college: Opzet van de cursus Inhoud van het vak DMO Belangrijke begrippen base, model, etc. DMO in context: andere vakken Klassiek en modern modelleren vernieuwing

Nadere informatie

Model driven Application Delivery

Model driven Application Delivery Model driven Application Delivery Fast. Flexible. Future-proof. How Agis streamlines health procurement using Mendix Model driven Application Platform Mendix in a nutshell Mendix delivers the tools and

Nadere informatie

SQL: query taal met. woorden. ISO SQL: Structured Query Language. de SQL basis query structuur. voorbeeld: doel: intuitieve query taal

SQL: query taal met. woorden. ISO SQL: Structured Query Language. de SQL basis query structuur. voorbeeld: doel: intuitieve query taal SQL: query taal met woorden ISO SQL: Structured Query Language Prof. dr. Paul De Bra Gebaseerd op: Database System Concepts, 5th Ed. doel: intuitieve query taal gebruikt Engelse woorden: select, from,

Nadere informatie

SQL Developer Data Modeler

SQL Developer Data Modeler SQL Developer Data Modeler Een migratiepad vanuit Oracle Designer Chris Amelink, Manager SO Mark Rooijakkers, Technisch Architect Hans Joop Leendertse, Willem Cortenraad, Technisch directeur Architect

Nadere informatie

DATABANKEN. Prof. Ir. W. Verschelde

DATABANKEN. Prof. Ir. W. Verschelde DATABANKEN Prof. Ir. W. Verschelde Nuttige literatuur: 1. An Introduction to Database Systems C.J. Date Addison-Wesley Publishing Company ISBN 0-201-82458-2 2. Fundamentals of Database Systems Elmasri

Nadere informatie

Perceptive Process. Release Notes. Version: 3.5.x

Perceptive Process. Release Notes. Version: 3.5.x Perceptive Process Release Notes Version: 3.5.x Written by: Product Knowledge, R&D Date: December 2015 2015 Lexmark International Technology, S.A. All rights reserved. Lexmark is a trademark of Lexmark

Nadere informatie

Katholieke Hogeschool Kempen

Katholieke Hogeschool Kempen Katholieke Hogeschool Kempen Campus Geel Departement Handelswetenschappen en Bedrijfskunde 3de jaar Toegepaste Informatica Beheer van databanken Labo 2 Hoofdstuk 3 Beheer van database files Hoofdstuk 4

Nadere informatie