Basisopleiding informatica - module 4

Maat: px
Weergave met pagina beginnen:

Download "Basisopleiding informatica - module 4"

Transcriptie

1 TRAINING & CONSULTING Basisopleiding informatica - module 4 ABIS Training & Consulting training@abis.be ABIS 2013, 2014 Document nummer: 1660_02n.fm 19 augustus 2014 Commentaren over deze publicatie kan u sturen naar: ABIS Training & Consulting, Postbus 220, B-3000 Leuven, België Tel.: (+32) , Fax: (+32) Copyright ABIS N.V.

2

3 INHOUDSTAFEL VOORWOORD V NORMALISATIE 27 VAN BESTAND NAAR TABEL 1 1 Van bestand naar tabel 2 2 Definitie Database 3 3 Hoe data structureren Hiërarchische structuur Netwerk-structuur Relationele structuur NoSQL 12 RELATIONAL DATABASE MANAGEMENT SYSTEMS 15 1 Wat is een Database Management System (DBMS) 16 2 Taken van het RDBMS (relationele DBMS) 17 3 Overzicht van RDBMS produkten DB Oracle MySQL SQL Server / MS SQL Access 23 4 SQL - Structured Query Language 24 1 Ontwerpen van een relationele data structuur Analyse Basisontwerp Normalisatie 31 2 Relaties tussen tabellen: sleutels 35 3 ERD diagram 38 TABELLEN 41 1 Tabeldefinitie: Overzicht 42 2 Kolomdefinitie Naam Datatype NULL waarden Standaardwaarden Beperkingen opleggen 46 3 Integriteit 47 SQL 49 1 Wat is een query? 50 2 Tabellen selecteren: FROM 51 3 Resultaat weergeven: SELECT Welke kolommen tonen in het resultaat? 52 Basisopleiding informatica - module 4 iii

4 3.2 Berekende waarden weergeven Aliassen DISTINCT 55 4 Gegevens Filteren: WHERE Basiscondities Logische operatoren IN BETWEEN LIKE IS NULL 71 5 Sorteren: ORDER BY 74 6 Tabellen koppelen: JOIN INNER JOIN LEFT en RIGHT OUTER JOIN FULL OUTER JOIN 83 3 Normalisatie Tabellen SQL SELECT - FROM WHERE - Basiscondities WHERE - Logische operatoren WHERE - IN en BETWEEN WHERE - LIKE WHERE - IS NULL ORDER BY Gemengde opdrachten Joins Samenvatting 84 APPENDIX A: TRAINING DATABASE 85 1 ERD - Diagram 86 2 Tabeldefinities Companies Persons Courses Sessions Enrolments 92 3 Inhoud van de tabellen 93 OPDRACHTEN 99 1 Van bestand naar tabel Database Management Systemen 101 Basisopleiding informatica - module 4 iv

5 VOORWOORD In deze module bespreken we hoe data opgeslagen en beheerd kan worden in databases. We overlopen enkele manieren waarop data gestructureerd kan worden, waarbij de focus vooral zal liggen op relationele databases. In een 2de deel van de cursus maken we kennis met SQL om gegevens uit de database op te halen. Dmv een massa oefeningen maken we ons deze taal eigen. Qua oefenomgeving zal er vooral met MS-ACCESS gewerkt worden. Database Management Systemen hebben niet enkel als taak om gegevens op te slaan zodat we ze gemakkelijk kunnen opzoeken of manipuleren. Ook beheerstaken worden uitgevoerd. In deze module introduceren we enkele concepten, zoals performantie, locking, versioning, database herstel, auditing en monitoring. In de volgende module zullen enkele van deze zaker dieper worden bekeken in het kader van Oracle en SQL Server. Basisopleiding informatica - module 4 v

6 Basisopleiding informatica - module 4 vi

7 Van bestand naar tabel Objectieven : Waarom een database? Definitie database Hoe data structureren ABIS Training & Consulting 1

8 Van bestand naar tabel 1 Gegevens kunnen op verscheidene manieren bewaard worden: Bestand Spreadsheet Database Van bestand naar tabel 1. Van bestand naar tabel 2. Definitie Database 3. Hoe data structureren Voor- en nadelen (zoeken, filteren, beheer, beveiliging, consistentie, redundantie, formattering, gebruik door applicaties,...)? Basisopleiding informatica - module 4 ABIS 2

9 Definitie Database 2 Een database is een georganiseerde collectie van onderling gerelateerde data elementen die gemakkelijk te verwerken is door één of meerdere applicaties voor het terugvinden en beheren van informatie Van bestand naar tabel 1. Van bestand naar tabel 2. Definitie Database 3. Hoe data structureren Basisopleiding informatica - module 4 ABIS 3

10 Hoe data structureren 3 Meerdere manieren om data in een database te structureren Hiërarchisch Netwerk Relationeel NoSQL... Van bestand naar tabel 1. Van bestand naar tabel 2. Definitie Database 3. Hoe data structureren Verschil zit in de manier waarop de links tussen de data gelegd worden en deze data ondervraagd kan worden. Basisopleiding informatica - module 4 ABIS 4

11 Hiërarchische structuur 3.1 Oudste vorm van database Van bestand naar tabel 1. Van bestand naar tabel 2. Definitie Database 3. Hoe data structureren Boomstructuur: Ouder-kind relatie Elk record in een database kan weer verwijzen naar een n-aantal andere records Implementaties: IMS, Windows Registry, bestandssysteem (b.v. FAT) Basisopleiding informatica - module 4 ABIS 5

12 Hiërarchische structuur: voor- en nadelen Voordelen: gemakkelijk te ontwerpen goedkoop om te onderhouden gemakkelijk te beveiligen gelijkaardig aan niet-elektronische data-opslag gemakkelijk doorzoeken, maar enkel indien gesorteerd en als de zoekactie compatibel is met de sortering Van bestand naar tabel 1. Van bestand naar tabel 2. Definitie Database 3. Hoe data structureren Nadelen: kind kan maar 1 ouder hebben één boom per database, takken hebben onderling geen samenhang niet flexibel voor meer complexe verwijzingen niet alle data is intrinsiek hiërarchisch navigatie is moeilijk (niet-lineair) Basisopleiding informatica - module 4 ABIS 6

13 Netwerk-structuur 3.2 Geïntroduceerd midden jaren 60 Van bestand naar tabel 1. Van bestand naar tabel 2. Definitie Database 3. Hoe data structureren Gelijkaardig aan de hiërarchische structuur Verschil: meerdere ouders per kind en links tussen takken mogelijk Creëert many-to-many relaties Implementaties: IDMS, WAN en LAN systemen Basisopleiding informatica - module 4 ABIS 7

14 Netwerk-structuur: voor- en nadelen Voordelen: meerdere relatie-types kunnen gebruikt worden gemakkelijke datatoegang data-integriteit verzekerd data onafhankelijk van het achterliggende systeem efficiënter dan het corresponderende hiërarchische model Van bestand naar tabel 1. Van bestand naar tabel 2. Definitie Database 3. Hoe data structureren Nadelen: complex systeem (achter de schermen) moeilijk om structurele wijzigingen door te voeren in het model onoverzichtelijk Basisopleiding informatica - module 4 ABIS 8

15 Relationele structuur 3.3 Edgar Codd, begin jaren 70 Van bestand naar tabel 1. Van bestand naar tabel 2. Definitie Database 3. Hoe data structureren Gebaseerd op relationele algebra ( verzamelingenleer ) Geen echte hiërarchie meer tussen de data: platte structuur Elke rij van een tabel bevat gegevens die samenhoren, gerelateerd zijn Tabellen kunnen aan mekaar gelinkt zijn via zgn. sleutels ( keys ) One-to-many relaties Implementaties: Oracle, Sql Server, Access, DB2, MySQL,... Basisopleiding informatica - module 4 ABIS 9

16 Relationele structuur - Voorbeeld Van bestand naar tabel 1. Van bestand naar tabel 2. Definitie Database 3. Hoe data structureren id titel duur dagprijs 1 SQL JAVA id datum locatie cursusnr Abis Leuven Abis Leuven Min Financiën 2 id voornaam familienaam 1 Mark Stessens 2 Jef Goris 3 An Smets 4 Mieke Schoofs 5 Jos Van Hoof Hoe personen en sessies linken? Basisopleiding informatica - module 4 ABIS 10

17 Relationele structuur: voor- en nadelen Voordelen: eenvoudige concepten, met theoretische basis geen redundante data niet navigationeel goede security (gebaseerd op inhoud van de data) Van bestand naar tabel 1. Van bestand naar tabel 2. Definitie Database 3. Hoe data structureren Nadelen: verlies in performantie door doorgedreven normalisatie kolom kan enkel gelijkaardige data bevatten moeilijk om structuur van tabel te wijzigen achteraf (bv kolom middenin toevoegen) bewaren van complexere gegevensstructuren? gebruik van NULL waarden bij afwezigheid van een eigenschap Basisopleiding informatica - module 4 ABIS 11

18 NoSQL 3.4 Not only SQL Van bestand naar tabel 1. Van bestand naar tabel 2. Definitie Database 3. Hoe data structureren Beweging gestart in 2009 Bedoeling: moderne web-scale database, Big Data Vrijer gestructureerd, open-source, gedistribueerd Zowel gebruikt voor het opslaan van gewone relationele data als van documenten en andere structuren (b.v. JSON) Implementaties: Hadoop/Hbase, MongoDB,... Basisopleiding informatica - module 4 ABIS 12

19 NoSQL: voor- en nadelen Voordelen: dynamisch bijvoegen van nieuwe attributen ook niet-atomaire data kan makkelijk opgeslagen worden eenvoudige query-interface directere vertaling tussen data en applicatie snel efficiënter gebruik van geheugen Van bestand naar tabel 1. Van bestand naar tabel 2. Definitie Database 3. Hoe data structureren Nadelen: TE vrij? geen standaardisatie: heel veel verschillende types, tools,... geen garanties van data-consistentie Basisopleiding informatica - module 4 ABIS 13

20 Van bestand naar tabel 1. Van bestand naar tabel 2. Definitie Database 3. Hoe data structureren Basisopleiding informatica - module 4 ABIS 14

21 Relational Database Management Systems Objectieven : Verschil tussen database en DBMS Taken van het DBMS Overzicht van produkten Wat is SQL? ABIS Training & Consulting 15

22 Wat is een Database Management System (DBMS) 1 Vorig hoofdstuk: LOGISCH zicht op data-opslag Fysiek zit data nog steeds in bestanden Relational Database Management Systems 1. Wat is een Database Management System (DBMS) 2. Taken van het RDBMS (relationele DBMS) 3. Overzicht van RDBMS produkten 4. SQL - Structured Query Language Database Management System is een tool voor databeheer, en een buffer tussen data en programma s / gebruikers DBMS neemt ook andere taken op zich dan data toegankelijk maken Basisopleiding informatica - module 4 ABIS 16

23 Taken van het RDBMS (relationele DBMS) 2 Logische datastructuur toegankelijk maken, onafhankelijk van de fysieke opslag / toegangsmethode Integriteit (= consistentie) van de data bewaken Relational Database Management Systems 1. Wat is een Database Management System (DBMS) 2. Taken van het RDBMS (relationele DBMS) 3. Overzicht van RDBMS produkten 4. SQL - Structured Query Language Gelijktijdige toegang maximaliseren Performantie verhogen door optimalisatie Beveiliging van data (autorisaties) Dataverlies vermijden door o.a. backup / recovery Basisopleiding informatica - module 4 ABIS 17

24 Overzicht van RDBMS produkten 3 IBM: DB2 (z/os, LUW), Informix Oracle: Oracle, MySQL Microsoft: Access, SQL Server (MS SQL) Ingres, PostGreSQL Sybase (SAP): Adaptive Server Enterprise, IQ Teradata Relational Database Management Systems 1. Wat is een Database Management System (DBMS) 2. Taken van het RDBMS (relationele DBMS) 3. Overzicht van RDBMS produkten 4. SQL - Structured Query Language Verschillen op basis van OS waarop de database draait waar zitten de files - geheugengebruik soort / hoeveelheid data - concurrency - optimalisatie beheerstaken tools Gelijkenissen: gebruiken gelijkaardige interface (SQL) Basisopleiding informatica - module 4 ABIS 18

25 DB2 3.1 Eerste versie 1983, nieuwste versie (11) oktober 2013 Drie verschillende produkten op basis van het OS DB2 for z/os: Mainframe DB2 for LUW: Linux, Unix (AIX, Solaris, HP-UX), Windows DB2 for iseries: AS400 Relational Database Management Systems 1. Wat is een Database Management System (DBMS) 2. Taken van het RDBMS (relationele DBMS) 3. Overzicht van RDBMS produkten 4. SQL - Structured Query Language Maximale tabelgrootte: quasi onbeperkt (afh. v. bestandssysteem) Duur qua licenties - gratis versie voor thuis Extreem krachtig bij complexere systemen, zeer performant Vooral gebruikt door grote (financiële) bedrijven Tools: SPUFI, QMF, Data Studio,... Basisopleiding informatica - module 4 ABIS 19

26 Oracle 3.2 Eerste versie 1979, nieuwste versie (12c) juni 2013 OS: Windows, Linux, Solaris, AIX, HP-UX Relational Database Management Systems 1. Wat is een Database Management System (DBMS) 2. Taken van het RDBMS (relationele DBMS) 3. Overzicht van RDBMS produkten 4. SQL - Structured Query Language Maximale tabelgrootte: ongelimiteerd Duur qua licenties - gratis versie voor thuis Extreem krachtig bij complexere systemen, zeer performant Vooral populair bij grotere bedrijven Tools: SQL Developer, Apex, SQL*Plus, Oracle Reports,... Basisopleiding informatica - module 4 ABIS 20

27 MySQL 3.3 Eerste versie 1995, nieuwste versie (5.6) juli 2013 OS: alle (ook b.v. Symbian, BSD, MacOS,...) Relational Database Management Systems 1. Wat is een Database Management System (DBMS) 2. Taken van het RDBMS (relationele DBMS) 3. Overzicht van RDBMS produkten 4. SQL - Structured Query Language Open source - goedkoop (of zelfs gratis) Max tabelgrootte: ongelimiteerd (limiet van het bestandssysteem) Eenvoudige set-up voor kleinere databases Vooral populair bij kleinere bedrijven, startups, bedrijven die web applicaties ontwikkelen Tools: MySQL Workbench, PHPmyadmin, commandolijn,... Basisopleiding informatica - module 4 ABIS 21

28 SQL Server / MS SQL 3.4 Eerste versie 1984 (Sybase), 1992 (Microsoft), nieuwste versie SQL Server 2012 (april 2012) OS: Windows Relational Database Management Systems 1. Wat is een Database Management System (DBMS) 2. Taken van het RDBMS (relationele DBMS) 3. Overzicht van RDBMS produkten 4. SQL - Structured Query Language Maximale tabelgrootte: 16 TB Goedkoper dan Oracle of DB2, maar beperkter qua grootte, schaalbaarheid,... Gebruikers: Windows / Microsoft-minded bedrijven,... Tools: SQL Server Management Studio, Visual Studio, Reporting Services,... Basisopleiding informatica - module 4 ABIS 22

29 Access 3.5 Eerste versie 1992, nieuwste versie MS Access 2013 (januari 2013) OS: Windows Relational Database Management Systems 1. Wat is een Database Management System (DBMS) 2. Taken van het RDBMS (relationele DBMS) 3. Overzicht van RDBMS produkten 4. SQL - Structured Query Language Tool + DBMS in één product (goede geïntegreerde grafische gebruikersinterface) Een echt DBMS? maximale bestands-grootte: 2GB geen triggers, functies, procedures,... beperkt aantal gelijktijdige gebruikers niet client-server gebaseerd, maar file-server Eerder te gebruiken voor kleine toepassingen Basisopleiding informatica - module 4 ABIS 23

30 SQL - Structured Query Language 4 Taal waarmee relationele data aangesproken wordt Oorspronkelijk SEQUEL: Structured English QUEry Language Relational Database Management Systems 1. Wat is een Database Management System (DBMS) 2. Taken van het RDBMS (relationele DBMS) 3. Overzicht van RDBMS produkten 4. SQL - Structured Query Language 4GL - descriptief en declaratief -> gemakkelijk te schrijven ISO standaard voor alle RDBMS produkten Dialecten! Uniforme taal voor zowel data manipulatie als structuurdefinitie Basisopleiding informatica - module 4 ABIS 24

31 SQL - onderdelen DQL: Data Query Language select DML: Data Manipulation Language insert update delete merge truncate Relational Database Management Systems 1. Wat is een Database Management System (DBMS) 2. Taken van het RDBMS (relationele DBMS) 3. Overzicht van RDBMS produkten 4. SQL - Structured Query Language DDL: Data Definition Language create alter drop rename Basisopleiding informatica - module 4 ABIS 25

32 SQL - onderdelen (vervolgd) DCL: Data Control Language grant revoke Relational Database Management Systems 1. Wat is een Database Management System (DBMS) 2. Taken van het RDBMS (relationele DBMS) 3. Overzicht van RDBMS produkten 4. SQL - Structured Query Language TCL: Transaction Control Language commit rollback savepoint lock CLIENT - SERVER connect call prepare Basisopleiding informatica - module 4 ABIS 26

33 Normalisatie Objectieven : Ontwerpen van een relationele database structuur ERD diagrammen Hoe relaties leggen tussen tabellen ABIS Training & Consulting 27

34 Ontwerpen van een relationele data structuur 1 Data verspreid over meerdere tabellen Normalisatie 1. Ontwerpen van een relationele data structuur 2. Relaties tussen tabellen: sleutels 3. ERD diagram Tabel: vast aantal kolommen variabel aantal rijen één relatie tussen de gegevens (= vaste betekenis) Tabel: alle gegevens worden voorgesteld door waarden atomaire waarden (geen lijsten) geen dubbele rijen volgorde van rijen niet belangrijk volgorde van kolommen niet belangrijk (maar hun betekenis wel!) Basisopleiding informatica - module 4 ABIS 28

35 Analyse 1.1 Welke gegevens moeten er allemaal in de tabellen komen? Vb.: Normalisatie 1. Ontwerpen van een relationele data structuur 2. Relaties tussen tabellen: sleutels 3. ERD diagram Basisopleiding informatica - module 4 ABIS 29

36 Basisontwerp 1.2 Zet alle gegevens in één grote tabel op basis van de betekenis Normalisatie 1. Ontwerpen van een relationele data structuur 2. Relaties tussen tabellen: sleutels 3. ERD diagram titel duur datum locatie persoon persoonsgegevens bedrijf bedrijfsgegevens DB2 3 02/03/2013 Abis Leuven Stessens Nieuwstraat MinFinanciën Kunstlaan DB2 3 02/03/2013 Abis Leuven Smets Bondgenotenlaan Belfius Pachecolaan DB2 3 05/05/2013 AbisWoerden Goris Lippenslaan Honda Langerbruggestraat SQL 1 15/08/2013 Min Financiën Schoofs Lippenslaan MinFinanciën Kunstlaan Oracle 3 05/11/2013 Abis Leuven Smets Bondgenotenlaan Belfius Pachecolaan Java 4 05/11/2013 Abis Leuven Van Hoof Steenstraat Honda Langerbruggestraat Wijzigingen (insert, update, delete,...) kunnen consistentie-problemen geven in deze vorm --> NORMALISEREN Basisopleiding informatica - module 4 ABIS 30

37 Normalisatie 1.3 Stap 1: Cursussen - Inschrijvingen (versie 1) Normalisatie 1. Ontwerpen van een relationele data structuur 2. Relaties tussen tabellen: sleutels 3. ERD diagram titel duur DB2 3 Oracle 3 SQL 1 Java 4 titel datum locatie persoon persoonsgegevens bedrijf bedrijfsgegevens DB2 02/03/2013 Abis Leuven Stessens Nieuwstraat MinFinanciën Kunstlaan DB2 02/03/2013 Abis Leuven Smets Bondgenotenlaan Belfius Pachecolaan DB2 05/05/2013 AbisWoerden Goris Lippenslaan Honda Langerbruggestraat SQL 15/08/2013 Min Financiën Schoofs Lippenslaan MinFinanciën Kunstlaan Oracle 05/11/2013 Abis Leuven Smets Bondgenotenlaan Belfius Pachecolaan Java 05/11/2013 Abis Leuven Van Hoof Steenstraat Honda Langerbruggestraat Basisopleiding informatica - module 4 ABIS 31

38 Normalisatie Stap 2: Personen (versie 1) - inschrijvingen (versie 2) Normalisatie 1. Ontwerpen van een relationele data structuur 2. Relaties tussen tabellen: sleutels 3. ERD diagram persoon persoonsgegevens bedrijf bedrijfsgegevens Stessens Nieuwstraat Min Financiën Kunstlaan Smets Bondgenotenlaan Belfius Pachecolaan Goris Lippenslaan Honda Langerbruggestraat Schoofs Lippenslaan Min Financiën Kunstlaan Van Hoof Steenstraat Honda Langerbruggestraat titel datum locatie persoon DB2 02/03/2013 Abis Leuven Stessens DB2 02/03/2013 Abis Leuven Smets DB2 05/05/2013 Abis Woerden Goris SQL 15/08/2013 Min Financiën Schoofs Oracle 05/11/2013 Abis Leuven Smets Java 05/11/2013 Abis Leuven Van Hoof Basisopleiding informatica - module 4 ABIS 32

39 Normalisatie Stap 3: Sessies - Inschrijvingen (finale versie) Normalisatie 1. Ontwerpen van een relationele data structuur 2. Relaties tussen tabellen: sleutels 3. ERD diagram titel datum locatie titel datum persoon DB2 02/03/2013 Abis Leuven DB2 02/03/2013 Stessens DB2 05/05/2013 Abis Woerden DB2 02/03/2013 Smets SQL 15/08/2013 Min Financiën DB2 05/05/2013 Goris Oracle 05/11/2013 Abis Leuven SQL 15/08/2013 Schoofs Java 05/11/2013 Abis Leuven Oracle 05/11/2013 Smets Java 05/11/2013 Van Hoof Basisopleiding informatica - module 4 ABIS 33

40 Normalisatie Stap 4: Personen (finale versie) - Bedrijven Normalisatie 1. Ontwerpen van een relationele data structuur 2. Relaties tussen tabellen: sleutels 3. ERD diagram persoon persoonsgegevens bedrijf bedrijf bedrijfsgegevens Stessens Nieuwstraat Min Financiën Min Financiën Kunstlaan Smets Bondgenotenlaan Belfius Belfius Pachecolaan Goris Lippenslaan Honda Honda Langerbruggestraat Schoofs Lippenslaan Min Financiën KBC Brusselsesteenweg Van Hoof Steenstraat Honda Basisopleiding informatica - module 4 ABIS 34

41 Relaties tussen tabellen: sleutels 2 Primaire sleutel (primary key, PK) = kolom die elke rij in de tabel op een unieke wijze identificeert elke waarde is verschillend waarde mag niet leeg (NULL) zijn (max) 1 PK per tabel gedefinieerd op 1 of meerdere kolommen vaak een artificieel identificatienummer, dat eventueel zelfs automatisch verhoogd wordt Normalisatie 1. Ontwerpen van een relationele data structuur 2. Relaties tussen tabellen: sleutels 3. ERD diagram Refererende sleutel (foreign key, FK) = kolom in een tabel die verwijst naar een primaire sleutel in een andere (of dezelfde) tabel moet dezelfde definitie (behalve de naam) hebben als de PK waarnaar hij verwijst tabel kan meerdere FKs bevatten Als deze sleutels gedefinieerd zijn, houdt het DBMS de integriteit van de gegevens en hun samenhang in de gaten! Basisopleiding informatica - module 4 ABIS 35

42 Relaties tussen tabellen persoon persoonsgegevens bedrijf bedrijf bedrijfsgegevens Stessens Nieuwstraat Min Financiën Min Financiën Kunstlaan Smets Bondgenotenlaan Belfius Belfius Pachecolaan Goris Lippenslaan Honda Honda Langerbruggestraat Schoofs Lippenslaan Min Financiën KBC Brusselsesteenweg Van Hoof Steenstraat Honda PK FK Normalisatie 1. Ontwerpen van een relationele data structuur 2. Relaties tussen tabellen: sleutels 3. ERD diagram Met een artificiële sleutel: persoon persoonsgegevens bedrijfsnr bedrijfsnr bedrijf bedrijfsgegevens Stessens Nieuwstraat 1 1 Min Financiën Kunstlaan Smets Bondgenotenlaan 2 2 Belfius Pachecolaan Goris Lippenslaan 3 3 Honda Langerbruggestraat Schoofs Lippenslaan 1 4 KBC Brusselsesteenweg Van Hoof Steenstraat 3 PK Janssens Kerskstraat NULL FK Basisopleiding informatica - module 4 ABIS 36

43 Relaties - JOINS JOIN = samenvoegen van 2 of meerdere tabellen op basis van hun refererende en primaire sleutels Normalisatie 1. Ontwerpen van een relationele data structuur 2. Relaties tussen tabellen: sleutels 3. ERD diagram persoon persoonsgegevens bedrijfnr bedrijf bedrijfsgegevens Stessens Nieuwstraat 1 Min Financiën Kunstlaan Smets Bondgenotenlaan 2 Belfius Pachecolaan Goris Lippenslaan 3 Honda Langerbruggestraat Schoofs Lippenslaan 1 Min Financien Kunstlaan Van Hoof Steenstraat 3 Honda Langerbruggestraat Meerdere types JOINs, in verband met NULL waarden in de FK en/of niet voorkomende waarden van de PK in de FK Basisopleiding informatica - module 4 ABIS 37

44 ERD diagram 3 ERD = Entiteit - Relatie Diagram Normalisatie 1. Ontwerpen van een relationele data structuur 2. Relaties tussen tabellen: sleutels 3. ERD diagram Documenteert de relatie tussen de tabellen op een grafische manier Ook gebruikt tijdens de ontwerpfase van de database Tools bestaan om ERDs te vertalen naar tabellen en omgekeerd Verschillende tekenmanieren: UML, Chen, Bachmann,... Basisopleiding informatica - module 4 ABIS 38

45 ERD - UML UML = Unified Modeling Language Normalisatie 1. Ontwerpen van een relationele data structuur 2. Relaties tussen tabellen: sleutels 3. ERD diagram Kent verschillende diagrammen, waaronder het klasse diagram MS-Access gebruikt een soortgelijk type diagram Basisopleiding informatica - module 4 ABIS 39

46 Normalisatie 1. Ontwerpen van een relationele data structuur 2. Relaties tussen tabellen: sleutels 3. ERD diagram Basisopleiding informatica - module 4 ABIS 40

47 Tabellen Objectieven : Tabellen definiëren Wat zijn NULL-waarden Data-integriteit - sleutels Beperkingen opleggen op kolommen ABIS Training & Consulting 41

48 Tabeldefinitie: Overzicht 1 Tabel bestaat uit meerdere kolommen Tabellen 1. Tabeldefinitie: Overzicht 2. Kolomdefinitie 3. Integriteit Elke kolom gedefinieerd door: naam datatype NULLs toegelaten? standaardwaarde (optioneel) beperkingen (optioneel) Sleutels (PK en FK) zijn een speciale vorm van beperking Hoe integriteit bewaren -> wat te doen bij insert/update/delete Basisopleiding informatica - module 4 ABIS 42

49 Kolomdefinitie 2 Naam woord beginnend met een letter maximum lengte hangt af van het DBMS kies een kolomnaam die duidelijk zegt wat de inhoud is! Tabellen 1. Tabeldefinitie: Overzicht 2. Kolomdefinitie 3. Integriteit Datatype 2.2 elke kolom gekarakteriseerd door datatype en lengte 3 basistypes: - tekst: vaste lengte (char), variabele lengte (varchar) - numeriek: geheel, decimaal,... - chronologisch: datum, tijd, tijdsduur,... binair, LOB, XML,... exacte benaming + implementatie kan DBMS afhankelijk zijn! Basisopleiding informatica - module 4 ABIS 43

50 NULL waarden 2.3 Is het invullen van een waarde in de kolom verplicht? ja nee -> NULL toegestaan (default) Tabellen 1. Tabeldefinitie: Overzicht 2. Kolomdefinitie 3. Integriteit NULL betekent: onbekende / ontbrekende / zinloze waarde NULL is niet hetzelfde als blanco (lege waarde)! Controverse rond het gebruik van NULLs: logica gebaseerd op 3 waarden (waar / fout / onbekend) meerdere types joins nodig worden genegeerd bij kolomfuncties fysiek geheugen? vertaling nodig indien gelinkt aan applicaties die het begrip NULL niet of slechts beperkt kennen Basisopleiding informatica - module 4 ABIS 44

51 Standaardwaarden 2.4 Als een veld verplicht is, kan een standaardwaarde (default) worden gedefinieerd Tabellen 1. Tabeldefinitie: Overzicht 2. Kolomdefinitie 3. Integriteit Deze wordt automatisch ingevuld als het veld niet opgegeven werd Kan expliciet opgegeven worden Soms ook een standaard standaardwaarde gekoppeld aan het datatype: blanco s voor tekst 0 voor numeriek nu voor datum/tijd Basisopleiding informatica - module 4 ABIS 45

52 Beperkingen opleggen 2.5 Mogelijk om validatieregels toe te voegen Tabellen 1. Tabeldefinitie: Overzicht 2. Kolomdefinitie 3. Integriteit Gekoppeld aan een kolom of aan de tabeldefinitie Waarden worden bepaald door een logische expressie Voorbeelden: geslacht in ( V, M ) cursusprijs > 0 accessoireprijs < totale_prijs Geen echte businessregels! Validatieregels moeten beperkt zijn tot een tabelrij ==> kunnen b.v. niet de grootte van een tabel beperken ==> kunnen meerdere tabellen niet koppelen (wel mogelijk m.b.v. triggers, en m.b.v. FKs) Basisopleiding informatica - module 4 ABIS 46

53 Integriteit 3 DBMS checkt integriteit van de data wanneer sleutels gedefinieerd zijn Tabellen 1. Tabeldefinitie: Overzicht 2. Kolomdefinitie 3. Integriteit Entity integriteit: primaire sleutel moet uniek zijn en mag geen NULLs bevatten Referentiële integriteit: refererende sleutel moet verwijzen naar een correcte waarde uit een primaire sleutel, of gelijk zijn aan NULL Wat bij insert/update/delete? -> ook hiervoor regels gedefinieerd: restrict: foutmelding indien rij weggehaald/gewijzigd waarnaar nog verwijzingen zijn cascade (trapsgewijs bijwerken/verwijderen) -> als rij weggehaald / gewijzigd wordt, worden ook verwijzende rijen verwijderd/gewijzigd set null: verwijzende velden worden op NULL gezet Default gedrag hangt af van DBMS, juiste keuze hangt af van betekenis van de relatie Basisopleiding informatica - module 4 ABIS 47

54 Tabellen 1. Tabeldefinitie: Overzicht 2. Kolomdefinitie 3. Integriteit Basisopleiding informatica - module 4 ABIS 48

55 SQL Objectieven : Gegevens zoeken in een tabel Filteren Eenvoudige berekeningen maken Sorteren Tabellen koppelen ABIS Training & Consulting 49

56 Wat is een query? 1 SELECT haalt data op van 1 of meer tabellen Resultaat is tabel SQL 1. Wat is een query? 2. Tabellen selecteren: FROM 3. Resultaat weergeven: SE- LECT 4. Gegevens Filteren: WHERE 5. Sorteren: ORDER BY 6. Tabellen koppelen: JOIN 7. Samenvatting Mogelijkheid om gegevens te filteren, groeperen, sorteren, (eenvoudige) berekeningen te maken 6 statements: 5 SELECT -> welke kolommen tonen 1 FROM -> uit welke tabel(len) komen de gegevens 2 WHERE -> filteren (condities) 3 GROUP BY -> groeperen 4 HAVING -> condities op kolomfuncties 6 ORDER BY -> sorteren In deze cursus: SELECT, FROM, WHERE, ORDER BY Basisopleiding informatica - module 4 ABIS 50

57 Tabellen selecteren: FROM 2 tabel/view specificeren waaruit de data komt select * from persons SQL 1. Wat is een query? 2. Tabellen selecteren: FROM 3. Resultaat weergeven: SE- LECT 4. Gegevens Filteren: WHERE 5. Sorteren: ORDER BY 6. Tabellen koppelen: JOIN 7. Samenvatting kan ook vooraf gegaan worden door een schema naam, gescheiden van de tabelnaam d.m.v. een punt select * from tbaccad.tutpersons schema naam is vaak naam van de eigenaar/creator van de tabel Basisopleiding informatica - module 4 ABIS 51

58 Resultaat weergeven: SELECT 3 Welke kolommen tonen in het resultaat? 3.1 Courses cid cstitle cdur caprice 1000 DB2, An overview IMS/DB SAS_ADV SQL 1. Wat is een query? 2. Tabellen selecteren: FROM 3. Resultaat weergeven: SE- LECT 4. Gegevens Filteren: WHERE 5. Sorteren: ORDER BY 6. Tabellen koppelen: JOIN 7. Samenvatting * toont ALLE kolommen select * -> geeft de volledige tabel weer from courses kolommen kiezen, gescheiden door een komma select cstitle, cdur from courses cstitle cdur DB2, An overview 5 IMS/DB 5 SAS_ADV 3 Basisopleiding informatica - module 4 ABIS 52

59 Berekende waarden weergeven 3.2 Nieuwe kolommen bijvoegen in het resultaat, gebaseerd op berekeningen op bestaande kolommen Operatoren: +, -, *, / SQL 1. Wat is een query? 2. Tabellen selecteren: FROM 3. Resultaat weergeven: SE- LECT 4. Gegevens Filteren: WHERE 5. Sorteren: ORDER BY 6. Tabellen koppelen: JOIN 7. Samenvatting Gebruik decimale punten, geen komma s Ook scalaire functies kunnen gebruikt worden (zie Module 5) b.v. LOWER(cstitle), SUBSTR(pfname, 1, 1), MONTH(sdate),... Voorbeeld: select cstitle, caprice * cdur * 1.15 from courses cstitle DB2, An overview IMS/DB 2070 SAS_ADV Basisopleiding informatica - module 4 ABIS 53

60 Aliassen 3.3 (Andere) naam geven aan een kolom uit de resultaat-tabel Keyword: AS SQL 1. Wat is een query? 2. Tabellen selecteren: FROM 3. Resultaat weergeven: SE- LECT 4. Gegevens Filteren: WHERE 5. Sorteren: ORDER BY 6. Tabellen koppelen: JOIN 7. Samenvatting AS kan meestal weggelaten worden (niet in MS-ACCESS) Indien meerdere woorden -> dubbele aanhalingstekens toevoegen select cstitle AS titel, caprice*cdur*1.15 AS "totale prijs" from courses titel totale prijs DB2, An overview IMS/DB 2070 SAS_ADV Berekeningen en aliassen in SELECT veranderen de inhoud van de originele tabel NIET Alias ENKEL te gebruiken in SELECT (definitie) en ORDER BY Basisopleiding informatica - module 4 ABIS 54

61 DISTINCT 3.4 Unieke rijen selecteren op basis van (combinatie) van kolommen DISTINCT = verschillend SQL 1. Wat is een query? 2. Tabellen selecteren: FROM 3. Resultaat weergeven: SE- LECT 4. Gegevens Filteren: WHERE 5. Sorteren: ORDER BY 6. Tabellen koppelen: JOIN 7. Samenvatting select distinct cdur from courses cdur 5 3 select distinct cdur, caprice from courses cdur caprice Basisopleiding informatica - module 4 ABIS 55

62 Gegevens Filteren: WHERE 4 Limiteren van het aantal rijen in het resultaat Specificeert een conditie die waar, vals of onbekend (NULL) is SQL 1. Wat is een query? 2. Tabellen selecteren: FROM 3. Resultaat weergeven: SE- LECT 4. Gegevens Filteren: WHERE 5. Sorteren: ORDER BY 6. Tabellen koppelen: JOIN 7. Samenvatting Syntax: kolomnaam - OPERATOR - expressie Condities kunnen gecombineerd worden d.m.v. AND, OR en NOT Basisopleiding informatica - module 4 ABIS 56

63 Basiscondities 4.1 Vergelijkingsoperatoren: = : gelijk aan <> : verschillend van (in sommige DBMS ook!= of ^=) < : strikt kleiner dan <= : kleiner of gelijk aan > : strikt groter dan >= : groter of gelijk aan SQL 1. Wat is een query? 2. Tabellen selecteren: FROM 3. Resultaat weergeven: SE- LECT 4. Gegevens Filteren: WHERE 5. Sorteren: ORDER BY 6. Tabellen koppelen: JOIN 7. Samenvatting Indien vergeleken wordt met een tekstwaarde -> deze tussen enkele aanhalingstekens zetten! Tekstwaarden zijn in principe hoofdlettergevoelig tenzij datatype dit anders specifeert (standaard bij MS) Numerieke waarden: nooit tussen aanhalingstekens Basisopleiding informatica - module 4 ABIS 57

64 Basiscondities - Voorbeelden companies cono coname cotown cotownno cocountr 1 ABIS N.V. LEUVEN 3000 B 2 ASCO OXFORD RG211RY GB 3 COVERDAT NAARDEN 1411 AR NL 4 EDUCA Ltd. LONDON EC2A 2EN GB SQL 1. Wat is een query? 2. Tabellen selecteren: FROM 3. Resultaat weergeven: SE- LECT 4. Gegevens Filteren: WHERE 5. Sorteren: ORDER BY 6. Tabellen koppelen: JOIN 7. Samenvatting select * from companies where cono = 2 cono coname cotown cotownno cocountr 2 ASCO OXFORD RG211RY GB select coname, cotown, cocountr from companies where cocountr <> 'GB' coname cotown cocountr ABIS N.V. LEUVEN B COVERDAT NAARDEN NL Basisopleiding informatica - module 4 ABIS 58

65 Basiscondities - Voorbeelden (vervolg) select * from companies where cono <= 3 cono coname cotown cotownno cocountr 1 ABIS N.V. LEUVEN 3000 B 2 ASCO OXFORD RG211RY GB 3 COVERDAT NAARDEN 1411 AR NL SQL 1. Wat is een query? 2. Tabellen selecteren: FROM 3. Resultaat weergeven: SE- LECT 4. Gegevens Filteren: WHERE 5. Sorteren: ORDER BY 6. Tabellen koppelen: JOIN 7. Samenvatting select * from companies where cotown > 'N' cono coname cotown cotownno cocountr 2 ASCO OXFORD RG211RY GB 3 COVERDAT NAARDEN 1411 AR NL Basisopleiding informatica - module 4 ABIS 59

66 Logische operatoren operatoren voor het samenvoegen van condities AND: beide condities moeten voldaan zijn OR: minstens 1 van de condities moet voldaan zijn NOT: negatie (meestal pas gebruikt bij IN, BETWEEN,...) SQL 1. Wat is een query? 2. Tabellen selecteren: FROM 3. Resultaat weergeven: SE- LECT 4. Gegevens Filteren: WHERE 5. Sorteren: ORDER BY 6. Tabellen koppelen: JOIN 7. Samenvatting Elk deel is een volledige conditie zoals hiervoor (kolomnaam!) Prioriteitsregels: eerst NOT, dan AND, dan OR indien andere volgorde gewenst -> HAAKJES gebruiken! zelfde prioriteit -> van links naar rechts uitgevoerd Basisopleiding informatica - module 4 ABIS 60

67 Logische operatoren - Voorbeelden companies cono coname cotown cotownno cocountr 1 ABIS N.V. LEUVEN 3000 B 2 ASCO OXFORD RG211RY GB 3 COVERDAT NAARDEN 1411 AR NL 4 EDUCA Ltd. LONDON EC2A 2EN GB SQL 1. Wat is een query? 2. Tabellen selecteren: FROM 3. Resultaat weergeven: SE- LECT 4. Gegevens Filteren: WHERE 5. Sorteren: ORDER BY 6. Tabellen koppelen: JOIN 7. Samenvatting select * from companies where cocountr='gb' AND cono>2 cono coname cotown cotownno cocountr 4 EDUCA Ltd. LONDON EC2A 2EN GB select * from companies where cocountr='gb' OR cono>2 cono coname cotown cotownno cocountr 2 ASCO OXFORD RG211RY GB 3 COVERDAT NAARDEN 1411 AR NL 4 EDUCA Ltd. LONDON EC2A 2EN GB Basisopleiding informatica - module 4 ABIS 61

68 Logische operatoren - Voorbeelden (vervolg) select coname, cocountr from companies where cocountr='nl' OR cocountr='b' coname cocountr ABIS N.V. B COVERDAT NL SQL 1. Wat is een query? 2. Tabellen selecteren: FROM 3. Resultaat weergeven: SE- LECT 4. Gegevens Filteren: WHERE 5. Sorteren: ORDER BY 6. Tabellen koppelen: JOIN 7. Samenvatting select coname, cocountr from companies where cocountr='nl' AND cocountr='b' coname cocountr Basisopleiding informatica - module 4 ABIS 62

69 Logische operatoren - Voorbeelden (vervolg) select * from companies where cocountr='nl' OR cocountr='b' AND cono < 3 cono coname cotown cotownno cocountr 1 ABIS N.V. LEUVEN 3000 B 3 COVERDAT NAARDEN 1411 AR NL SQL 1. Wat is een query? 2. Tabellen selecteren: FROM 3. Resultaat weergeven: SE- LECT 4. Gegevens Filteren: WHERE 5. Sorteren: ORDER BY 6. Tabellen koppelen: JOIN 7. Samenvatting select * from companies where (cocountr='nl' OR cocountr='b') AND cono < 3 cono coname cotown cotownno cocountr 1 ABIS N.V. LEUVEN 3000 B Basisopleiding informatica - module 4 ABIS 63

70 IN 4.3 Verzameling van waarden opsommen Waarden tussen haakjes, gescheiden door komma s SQL 1. Wat is een query? 2. Tabellen selecteren: FROM 3. Resultaat weergeven: SE- LECT 4. Gegevens Filteren: WHERE 5. Sorteren: ORDER BY 6. Tabellen koppelen: JOIN 7. Samenvatting Vervangt een gecombineerde OR op dezelfde kolom Syntax: kolomnaam IN (waarde1, waarde2, waarde3) Negatie: NOT IN Basisopleiding informatica - module 4 ABIS 64

71 IN - Voorbeelden companies cono coname cotown cotownno cocountr 1 ABIS N.V. LEUVEN 3000 B 2 ASCO OXFORD RG211RY GB 3 COVERDAT NAARDEN 1411 AR NL 4 EDUCA Ltd. LONDON EC2A 2EN GB SQL 1. Wat is een query? 2. Tabellen selecteren: FROM 3. Resultaat weergeven: SE- LECT 4. Gegevens Filteren: WHERE 5. Sorteren: ORDER BY 6. Tabellen koppelen: JOIN 7. Samenvatting select * from companies where cotown IN ('LEUVEN','LONDON') cono coname cotown cotownno cocountr 1 ABIS N.V. LEUVEN 3000 B 4 EDUCA Ltd. LONDON EC2A 2EN GB select * from companies where cono NOT IN (1,3,4) cono coname cotown cotownno cocountr 2 ASCO OXFORD RG211RY GB Basisopleiding informatica - module 4 ABIS 65

72 BETWEEN 4.4 Tussen Syntax: kolomnaam BETWEEN waarde1 AND waarde2 SQL 1. Wat is een query? 2. Tabellen selecteren: FROM 3. Resultaat weergeven: SE- LECT 4. Gegevens Filteren: WHERE 5. Sorteren: ORDER BY 6. Tabellen koppelen: JOIN 7. Samenvatting Grenswaarden inbegrepen Negatie: NOT BETWEEN Vooral gebruikt voor numerieke waarden en datums (maar kan ook voor tekst) Basisopleiding informatica - module 4 ABIS 66

73 BETWEEN - Voorbeelden Courses cid cstitle cdur caprice 1000 DB2, An overview IMS/DB SAS_ADV ORACLE, An overview SQL 1. Wat is een query? 2. Tabellen selecteren: FROM 3. Resultaat weergeven: SE- LECT 4. Gegevens Filteren: WHERE 5. Sorteren: ORDER BY 6. Tabellen koppelen: JOIN 7. Samenvatting select cstitle, caprice from courses where caprice BETWEEN 300 AND 550 cstitle caprice DB2, An overview IMS/DB ORACLE, An overview select * from courses where cdur NOT BETWEEN 4 AND 5 cid cstitle cdur caprice 3000 SAS_ADV Basisopleiding informatica - module 4 ABIS 67

74 LIKE 4.5 Zoeken op tekstwaarden met een bepaald patroon begint met bevat eindigt op SQL 1. Wat is een query? 2. Tabellen selecteren: FROM 3. Resultaat weergeven: SE- LECT 4. Gegevens Filteren: WHERE 5. Sorteren: ORDER BY 6. Tabellen koppelen: JOIN 7. Samenvatting Wildcards (jokers) gebruikt % : 0 of meer karakters (LET OP: MS-ACCESS gebruikt * ) _ : exact 1 karakter (LET OP: MS-ACCESS gebruikt? ) Syntax: kolomnaam LIKE '%waarde' Negatie: NOT LIKE Let op bij het gebruik van like '%n' (eindigt op n) in sommige DBMSen indien de kolom als vaste breedte (char) gedefinieerd is Gebruik STEEDS een wildcard bij LIKE, NOOIT bij IN!!! Basisopleiding informatica - module 4 ABIS 68

75 LIKE - Voorbeelden (MS-ACCESS syntax) companies cono coname cotown cotownno cocountr 1 ABIS N.V. LEUVEN 3000 B 2 ASCO OXFORD RG211RY GB 3 COVERDAT NAARDEN 1411 AR NL 4 EDUCA Ltd. LONDON EC2A 2EN GB SQL 1. Wat is een query? 2. Tabellen selecteren: FROM 3. Resultaat weergeven: SE- LECT 4. Gegevens Filteren: WHERE 5. Sorteren: ORDER BY 6. Tabellen koppelen: JOIN 7. Samenvatting select * from companies where cotown LIKE 'N*' cono coname cotown cotownno cocountr 3 COVERDAT NAARDEN 1411 AR NL select * from companies where cotown LIKE '*N*' cono coname cotown cotownno cocountr 1 ABIS N.V. LEUVEN 3000 B 3 COVERDAT NAARDEN 1411 AR NL 4 EDUCA Ltd. LONDON EC2A 2EN GB Basisopleiding informatica - module 4 ABIS 69

76 LIKE - Voorbeelden (vervolg) select * from companies where coname LIKE '?O*' cono coname cotown cotownno cocountr 3 COVERDAT NAARDEN 1411 AR NL SQL 1. Wat is een query? 2. Tabellen selecteren: FROM 3. Resultaat weergeven: SE- LECT 4. Gegevens Filteren: WHERE 5. Sorteren: ORDER BY 6. Tabellen koppelen: JOIN 7. Samenvatting select * from companies where coname NOT LIKE 'A*' cono coname cotown cotownno cocountr 3 COVERDAT NAARDEN 1411 AR NL 4 EDUCA Ltd. LONDON EC2A 2EN GB select * from companies where coname NOT LIKE '*A*' cono coname cotown cotownno cocountr Basisopleiding informatica - module 4 ABIS 70

77 IS NULL 4.6 Test of een waarde NULL is ( onbekend ) Niet hetzelfde als blanco! Kan b.v. ook voor numeriek of datum SQL 1. Wat is een query? 2. Tabellen selecteren: FROM 3. Resultaat weergeven: SE- LECT 4. Gegevens Filteren: WHERE 5. Sorteren: ORDER BY 6. Tabellen koppelen: JOIN 7. Samenvatting Syntax: kolomnaam IS NULL Negatie: IS NOT NULL -> waarde is gekend Opgelet: gebruik nooit kolomnaam = NULL!!! Keywoord IS enkel gebruiken in combinatie met NULL NULL kan op verschillende manieren voorgesteld worden (afhankelijk van het DBMS en zelfs van de gebruikte tool) NULL of null of (null) of \N --- Basisopleiding informatica - module 4 ABIS 71

78 IS NULL - Voorbeelden persons pno plname pfname pfunc 1 Smith John programmer 2 Johnson Paul analyst 3 Jones Mary NULL SQL 1. Wat is een query? 2. Tabellen selecteren: FROM 3. Resultaat weergeven: SE- LECT 4. Gegevens Filteren: WHERE 5. Sorteren: ORDER BY 6. Tabellen koppelen: JOIN 7. Samenvatting select * from persons where pfunc IS NULL pno plname pfname pfunc 3 Jones Mary NULL select * from persons where pfunc IS NOT NULL pno plname pfname pfunc 1 Smith John programmer 2 Johnson Paul analyst Basisopleiding informatica - module 4 ABIS 72

79 IS NULL - Voorbeelden (vervolg) Let op: <> geeft geen rijen terug waarvoor die kolom NULL is!!! select * from persons where pfunc <> PROGRAMMER SQL 1. Wat is een query? 2. Tabellen selecteren: FROM 3. Resultaat weergeven: SE- LECT 4. Gegevens Filteren: WHERE 5. Sorteren: ORDER BY 6. Tabellen koppelen: JOIN 7. Samenvatting pno plname pfname pfunc 2 Johnson Paul analyst select * from persons where pfunc <> PROGRAMMER OR pfunc IS NULL pno plname pfname pfunc 2 Johnson Paul analyst 3 Jones Mary NULL Basisopleiding informatica - module 4 ABIS 73

80 Sorteren: ORDER BY 5 Sorteren op basis van 1 of meerdere kolommen Indien meerdere kolommen: volgorde maakt uit SQL 1. Wat is een query? 2. Tabellen selecteren: FROM 3. Resultaat weergeven: SE- LECT 4. Gegevens Filteren: WHERE 5. Sorteren: ORDER BY 6. Tabellen koppelen: JOIN 7. Samenvatting Oplopend (ASC: default) of aflopend (DESC) Syntax : ORDER BY kolomnaam1 DESC, kolomnaam2 Aliassen of kolomnummers kunnen gebruikt worden Basisopleiding informatica - module 4 ABIS 74

81 ORDER BY - Voorbeelden cid cstitle cdur caprice 1000 DB2, An overview IMS/DB SAS_ADV SQL 1. Wat is een query? 2. Tabellen selecteren: FROM 3. Resultaat weergeven: SE- LECT 4. Gegevens Filteren: WHERE 5. Sorteren: ORDER BY 6. Tabellen koppelen: JOIN 7. Samenvatting select * from courses order by cdur cid cstitle cdur caprice 2000 IMS/DB SAS_ADV DB2, An overview select * from courses order by cstitle DESC cid cstitle cdur caprice 3000 SAS_ADV IMS/DB DB2, An overview Basisopleiding informatica - module 4 ABIS 75

82 ORDER BY - Voorbeelden (vervolg) select from * courses order by cdur, caprice cid cstitle cdur caprice 2000 IMS/DB SAS_ADV DB2, An overview SQL 1. Wat is een query? 2. Tabellen selecteren: FROM 3. Resultaat weergeven: SE- LECT 4. Gegevens Filteren: WHERE 5. Sorteren: ORDER BY 6. Tabellen koppelen: JOIN 7. Samenvatting select * from courses order by caprice, cdur cid cstitle cdur caprice 2000 IMS/DB DB2, An overview SAS_ADV Basisopleiding informatica - module 4 ABIS 76

83 ORDER BY - Voorbeelden (vervolg) select from * courses order by cdur DESC,caprice cid cstitle cdur caprice 1000 DB2, An overview IMS/DB SAS_ADV SQL 1. Wat is een query? 2. Tabellen selecteren: FROM 3. Resultaat weergeven: SE- LECT 4. Gegevens Filteren: WHERE 5. Sorteren: ORDER BY 6. Tabellen koppelen: JOIN 7. Samenvatting select cstitle, cdur, caprice from courses order by 3 cstitle cdur caprice IMS/DB DB2, An overview SAS_ADV Basisopleiding informatica - module 4 ABIS 77

84 Tabellen koppelen: JOIN 6 Combineren van meerdere tabellen op basis van PK en FK (JOIN-conditie) In het FROM statement SQL 1. Wat is een query? 2. Tabellen selecteren: FROM 3. Resultaat weergeven: SE- LECT 4. Gegevens Filteren: WHERE 5. Sorteren: ORDER BY 6. Tabellen koppelen: JOIN 7. Samenvatting Meerdere types JOINs ( ivm NULL waarden) INNER JOIN LEFT OUTER JOIN RIGHT OUTER JOIN FULL OUTER JOIN Alle kolommen uit de gejoinde tabellen kunnen gebruikt worden in de select Tabellen kunnen een aliasnaam krijgen (ivm leesbaarheid en naamconflicten) Alias verplicht in Access Basisopleiding informatica - module 4 ABIS 78

85 INNER JOIN 6.1 Bevat enkel die rijen die in beide tabellen een matchende PK - FK combinatie hebben JOIN-conditie in FROM SQL 1. Wat is een query? 2. Tabellen selecteren: FROM 3. Resultaat weergeven: SE- LECT 4. Gegevens Filteren: WHERE 5. Sorteren: ORDER BY 6. Tabellen koppelen: JOIN 7. Samenvatting Syntax: SELECT * FROM tabel1 t1 INNER JOIN tabel2 t2 ON t1.pk=t2.fk Basisopleiding informatica - module 4 ABIS 79

86 INNER JOIN - Voorbeeld Companies cono coname cotownno cotown cocountr 1 ABIS 3000 LEUVEN B 2 ESCON 8200 GENT B 3 FLYGT 1200 TERNAT B SQL 1. Wat is een query? 2. Tabellen selecteren: FROM 3. Resultaat weergeven: SE- LECT 4. Gegevens Filteren: WHERE 5. Sorteren: ORDER BY 6. Tabellen koppelen: JOIN 7. Samenvatting Persons pno pfname pa_cono 1 MARGOT 2 2 CHARLES 3 4 JOHN 2 5 PAUL (null) Geef voornaam en bedrijfsnaam van elke persoon select pfname, coname from persons p inner join companies c on p.pa_cono=c.cono Resultaat: pfname MARGOT CHARLES JOHN coname ESCON FLYGT ESCON Basisopleiding informatica - module 4 ABIS 80

87 LEFT en RIGHT OUTER JOIN 6.2 LEFT OUTER JOIN: ook rijen uit LINKSE tabel die geen match hebben in rechtse tabel worden meegenomen RIGHT OUTER JOIN: ook rijen uit RECHTSE tabel die geen match hebben in linkse tabel worden meegenomen SQL 1. Wat is een query? 2. Tabellen selecteren: FROM 3. Resultaat weergeven: SE- LECT 4. Gegevens Filteren: WHERE 5. Sorteren: ORDER BY 6. Tabellen koppelen: JOIN 7. Samenvatting PAUL,---- MARGOT,ABIS CHARLES,XEROX JOHN,IBM ----,APPLE LEFT INNER RIGHT Persons Companies pno pfname pa_cono cono coname cocountr 1 MARGOT 1 1 ABIS B 2 CHARLES 2 2 XEROX (null) 4 JOHN 5 5 IBM NL 5 PAUL (null) 6 APPLE B Basisopleiding informatica - module 4 ABIS 81

88 LEFT en RIGHT OUTER JOIN - Voorbeelden select pfname, coname from persons left outer join companies on pa_cono=cono Resultaat SQL 1. Wat is een query? 2. Tabellen selecteren: FROM 3. Resultaat weergeven: SE- LECT 4. Gegevens Filteren: WHERE 5. Sorteren: ORDER BY 6. Tabellen koppelen: JOIN 7. Samenvatting pfname MARGOT CHARLES JOHN PAUL coname ABIS XEROX IBM (null) select pfname, coname from persons right outer join companies on pa_cono=cono Resultaat pfname MARGOT CHARLES JOHN (null) coname ABIS XEROX IBM APPLE Basisopleiding informatica - module 4 ABIS 82

89 FULL OUTER JOIN 6.3 Ook alle niet matchende rijen worden meegenomen Combinatie van LEFT en RIGHT outer join Voorbeeld select pfname, coname from persons full outer join companies on pa_cono=cono SQL 1. Wat is een query? 2. Tabellen selecteren: FROM 3. Resultaat weergeven: SE- LECT 4. Gegevens Filteren: WHERE 5. Sorteren: ORDER BY 6. Tabellen koppelen: JOIN 7. Samenvatting Resultaat pfname MARGOT CHARLES JOHN PAUL (null) coname ABIS XEROX IBM (null) APPLE FULL OUTER JOIN wordt niet ondersteund in Access Basisopleiding informatica - module 4 ABIS 83

90 Samenvatting 7 SELECT -> welke kolommen tonen in resultaat * -> alles col1, col2 -> kolomnamen met komma s col1, col1*col2 AS hoofding -> berekende waarde, aliassen DISTINCT col1,col2 -> unieke waarden SQL 1. Wat is een query? 2. Tabellen selecteren: FROM 3. Resultaat weergeven: SE- LECT 4. Gegevens Filteren: WHERE 5. Sorteren: ORDER BY 6. Tabellen koppelen: JOIN 7. Samenvatting FROM -> tabel(len) waaruit de data komt tabelnaam1 inner join tabelnaam2 on fk_col=pk_col WHERE -> condities op rijniveau =, <>, <, >, <=, >= -> basisoperatoren AND, OR, NOT -> logische operatoren col1 (NOT) IN ( val1, val2, val3 ) -> lijst col1 (NOT) BETWEEN val1 AND val2 -> tussen col1 (NOT) LIKE %val% -> begint met / bevat col1 IS (NOT) NULL -> nulls ORDER BY -> sorteren op kolom uit resultaat (select) col1 DESC, col 2 -> kolommen, DESC = aflopend 3, hoofding (niet in ACCESS) -> kolomnummer uit select, alias Basisopleiding informatica - module 4 ABIS 84

91 Appendix A: Training Database Objectieven : Documentatie van de database gebruikt in de oefeningen ABIS Training & Consulting 85

92 ERD - Diagram 1 Appendix A: Training Database 1. ERD - Diagram 2. Tabeldefinities 3. Inhoud van de tabellen Basisopleiding informatica - module 4 ABIS 86

93 Tabeldefinities 2 De training database bestaat uit 5 tabellen: 1. COURSES 2. PERSONS 3. COMPANIES 4. SESSIONS 5. ENROLMENTS Appendix A: Training Database 1. ERD - Diagram 2. Tabeldefinities 3. Inhoud van de tabellen Deze database is een voorbeeld van de administratie van het departement TRAINING. Basisopleiding informatica - module 4 ABIS 87

94 Companies 2.1 KEY COLNO NAME COLTYPE LENGTH SCALE NULLS DEFAULT PK 1 CONO SMALLINT - - N - 2 CONAME CHAR 45 - N - 5 COTOWN CHAR 45 - N - 6 COTOWNNO CHAR 10 - Y NULL 7 COCOUNTR CHAR 4 - Y NULL 8 COTEL CHAR 16 - Y NULL 9 COVAT CHAR 11 - Y NULL 10 COBANKNO CHAR 14 - Y NULL Appendix A: Training Database 1. ERD - Diagram 2. Tabeldefinities 3. Inhoud van de tabellen Semantiek: CONO: (artificiële PK), bevat het bedrijfsnummer CONAME: naam van het bedrijf COTOWN: plaats waar het bedrijf gevestigd is COTOWNNO: postcode COCOUNTR: landcode (B,NL,D of GB) COTEL: telefoonnummer van het bedrijf COVAT: BTW nummer COBANKNO: bankrekeningnummer Basisopleiding informatica - module 4 ABIS 88

95 Persons 2.2 KEY COLNO NAME COLTYPE LENGTH SCALE NULLS DEFAULT PK 1 PNO SMALLINT - - N - 2 PLNAME CHAR 40 - N - 3 PFNAME VARCHAR 15 - Y NULL 4 PFUNC CHAR 20 - Y NULL FK(N) 5 PA_CONO SMALLINT - - Y NULL 6 PADEPT CHAR 30 - Y NULL 8 PSEX CHAR 1 - Y NULL Appendix A: Training Database 1. ERD - Diagram 2. Tabeldefinities 3. Inhoud van de tabellen Semantiek: PNO: (artificiële PK), bevat het persoonsnummer PLNAME: familienaam PFNAME: voornaam PFUNC: functie van de persoon PA_CONO: FK naar COMPANIES, bedrijf waar de persoon werkt PADEPT: departement in het bedrijf waar de persoon werkt PSEX: geslacht van de persoon, man ( M ) of vrouw ( F ) Basisopleiding informatica - module 4 ABIS 89

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

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

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

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

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

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

Zelftest SQL Workshop

Zelftest SQL Workshop Zelftest SQL Workshop Document: n0087test.fm 04/01/2018 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INLEIDING BIJ DE ZELFTEST SQL WORKSHOP Handleiding Deze test

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

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

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

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

Structured Query Language (SQL)

Structured Query Language (SQL) Structured Query Language (SQL) Huub de Beer Eindhoven, 4 juni 2011 Database: in essentie 0 of meer tabellen elke tabel nul of meer kolommen (of velden) elke tabel nul of meer unieke rijen elke query werkt

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

Zelftest SQL Workshop

Zelftest SQL Workshop Zelftest SQL Workshop Document: n0087test.fm 25/06/2014 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INLEIDING BIJ DE ZELFTEST SQL WORKSHOP Handleiding Deze test

Nadere informatie

DBMS SQL. Relationele databases. Sleutels. DataBase Management System. Inleiding relationele databases. bestaan uit tabellen.

DBMS SQL. Relationele databases. Sleutels. DataBase Management System. Inleiding relationele databases. bestaan uit tabellen. SQL Inleiding relationele databases DBMS DataBase Management System!hiërarchische databases.!netwerk databases.!relationele databases.!semantische databases.!object oriënted databases. Op dit moment gebruiken

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

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

Zelftest SQL. Document: n0453test.fm 19/04/2012. ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium

Zelftest SQL. Document: n0453test.fm 19/04/2012. ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium Zelftest SQL Document: n0453test.fm 19/04/2012 ABIS Training & Consulting P.. Box 220 B-3000 Leuven Belgium TRAINING & CNSULTING INLEIDING BIJ DE ZELFTEST SQL Korte handleiding Deze test heeft als bedoeling

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

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

Query SQL Boekje. Fredrik Hamer

Query SQL Boekje. Fredrik Hamer Query SQL Boekje Query SQL Boekje Fredrik Hamer Schrijver: Fredrik Hamer Coverontwerp: Fredrik Hamer ISBN: 9789402162103 Fredrik Hamer Inhoudsopgave A. Aanhef bepalen 17 Aantal 18 Aantal dagen tussen

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

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

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

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

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

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

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

Inhoud. Voorwoord 1 Belangrijkste kenmerken van dit boek 1 De opzet van dit boek 1 Over de auteurs 2 Woord van dank 2

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

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

11. Het selecteren van gegevens deel II

11. Het selecteren van gegevens deel II 11. Het selecteren van gegevens deel II 11.1. Inleiding In hoofdstuk 7 heb je kennis gemaakt met het statement Select. In dit hoofdstuk ga je wat dieper in op het statement. Je gaat sorteren / groeperen

Nadere informatie

Structured Query Language

Structured Query Language Structured Query Language SQL = internationale standaardtaal. Origineel IBM. SQL92 (SQL2), SQL99 (SQL3), SQL:2003, SQL:2007 en SQL:2008. Vele dialecten. In wat volgt beperken we ons tot wat tot de kern

Nadere informatie

[TOETS SQL INLEIDING]

[TOETS SQL INLEIDING] 2011 ROC ter AA afdeling T&T Team ICT Toets SQL Inleiding Duur: 100 minuten Hulpmiddelen: Alleen Pen en Papier Er is één voorblad en vijf opgaven pagina s. Normering: Deel I: 14 punten (7x2 Deel II: 10

Nadere informatie

Miniles gegevensbanken bevragen met SQL

Miniles gegevensbanken bevragen met SQL Miniles gegevensbanken bevragen met SQL In deze miniles gaat het over gegevensbanken of databases. Dit zijn bestanden waarin gegevens kunnen worden opgeslagen. Het is dan van belang dat je op een eenvoudige

Nadere informatie

Informatie verwerking en databases... 4. RDBMS en tabellen... 8 SQL SELECT... 8 SQL WHERE... 10 SQL INSERT... 14 SQL UPDATE... 17 SQL DELETE...

Informatie verwerking en databases... 4. RDBMS en tabellen... 8 SQL SELECT... 8 SQL WHERE... 10 SQL INSERT... 14 SQL UPDATE... 17 SQL DELETE... Databases+SQL 1 Inhoud Informatie verwerking en databases... 4 RDBMS en tabellen... 8 SQL SELECT... 8 SQL WHERE... 10 SQL INSERT... 14 SQL UPDATE... 17 SQL DELETE... 18 SQL ORDER BY... 19 SQL Aggregate

Nadere informatie

EUROPEES COMPUTER RIJBEWIJS / INTERNATIONAAL COMPUTER RIJBEWIJS ADVANCED DATABASE

EUROPEES COMPUTER RIJBEWIJS / INTERNATIONAAL COMPUTER RIJBEWIJS ADVANCED DATABASE EUROPEES COMPUTER RIJBEWIJS / INTERNATIONAAL COMPUTER RIJBEWIJS ADVANCED DATABASE The European Computer Driving Licence Foundation Ltd. Portview House Thorncastle Street Dublin 4 Ierland Tel: + 353 1 630

Nadere informatie

DATAMODELLERING ER DIAGRAM

DATAMODELLERING ER DIAGRAM DATAMODELLERING ER DIAGRAM Inleiding In dit whitepaper wordt de datamodelleervorm ER diagram beschreven. Deze modelleervorm staat in verhouding tot een aantal andere modelleervormen. Wil je een beeld krijgen

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

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

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

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

ADVANCED DATABASES Syllabus versie 2.0

ADVANCED DATABASES Syllabus versie 2.0 ECDL-MODULE ADVANCED DATABASES Syllabus versie 2.0 Doel Dit document bevat de syllabus van de module Advanced Databases. In de syllabus worden aan de hand van leeruitkomsten de kennis en vaardigheden uiteengezet

Nadere informatie

8. De invoer van gegevens

8. De invoer van gegevens 8. De invoer van gegevens 8.1. Inleiding Voor het invoeren van gegevens kan het DML-statement INSERT INTO worden gebruikt. Om dit statement correct te kunnen gebruiken, moet je wel antwoord weten op de

Nadere informatie

Data Manipulation Language

Data Manipulation Language Data Manipulation Language (DML) In de vorige les hebben we een database structuur gemaakt van 4 tabellen. Hiervoor worden de volgende scripts gebruikt voor de verschillende tabellen: Tabel A ROBERT ELLIS

Nadere informatie

ISO Query By Example

ISO Query By Example ISO Query By Example Prof. dr. Paul De Bra Gebaseerd op: Database System Concepts, 5th Ed. QBE waarom nog een query taal? de relationele algebra en SQL geven niet alleen een specificatie van een query-resultaat,

Nadere informatie

F. TRUYEN - Informatiekunde QBE. MS Access

F. TRUYEN - Informatiekunde QBE. MS Access F. TRUYEN - Informatiekunde QBE MS Access Maak queries via Design View Voeg de tabellen toe die je wil bevragen Selecteer de gewenste kolommen Bekijk resultaat met View knop Bekijk SQL code SQL venster

Nadere informatie

Databases SQL - meerdere tabellen

Databases SQL - meerdere tabellen Databases SQL - meerdere tabellen Nut van een database Dilbert 1 Reservering Lezer Uitgave Filiaal Basis zaken Uitlening Exemplaar NB: er kan verschil in smaak zitten tussen M1a en S1a notatie Join : het

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.

SQL. SQL joost.vennekens@kuleuven.be Mogelijkheden Tabellen maken: create table Tabellen verwijderen: drop table Tabellen vullen: insert into Tabellen wijzigen: update, delete from Gegevens opvragen: select

Nadere informatie

oefeningen TOP2000 antwoorden

oefeningen TOP2000 antwoorden oefeningen TOP2000 antwoorden vragen niveau 1 Niveau 1 beslaat de volgende onderwerpen: SELECT, FROM, WHERE, DISTINCT, ORDER BY, LIKE, BETWEEN, IN, wildcards, eenvoudige vergelijkingen, eenvoudige logische

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

SQL en XML. XML schema s & DMO. Entiteitsklasse en attribuut. SQL en XML. Datamodellering Schema een ruim begrip (zie Møller, p.

SQL en XML. XML schema s & DMO. Entiteitsklasse en attribuut. SQL en XML. Datamodellering Schema een ruim begrip (zie Møller, p. SQL en XML Datamodellering 2007 1 XML schema s & DMO Schema een ruim begrip (zie Møller, p. 96) DTD schema W3C Schema In dit overzicht: Wat zijn de belangrijke zaken uit XML voor datamodellering? (onvolledig)

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 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

Les S-02: Meer geavanceerde SQL-instructies

Les S-02: Meer geavanceerde SQL-instructies Les S-02: Meer geavanceerde SQL-instructies 2.0 Overzicht les 1: De basisvorm van een SQL query ziet er als volgt uit: (DISTINCT) selecteer de velden uit de tabel waar de volgende voorwaarde geldt ; Bij

Nadere informatie

opstarthandleiding mysqlworkbench November 2012 Fons van Kesteren HVA- CMD- V1 Datamodelleren

opstarthandleiding mysqlworkbench November 2012 Fons van Kesteren HVA- CMD- V1 Datamodelleren opstarthandleiding mysqlworkbench November 2012 Fons van Kesteren HVA- CMD- V1 Datamodelleren Handleiding om te beginnen met mysql WorkBench. In twee stappen 0. WorkBench verbinden met mysql 1. een hallo

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

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

Vragen hoofdstuk 1: Resultaat

Vragen hoofdstuk 1: Resultaat Vragen hoofdstuk 1: Resultaat Het ontwikkelen van informatiesystemen bevat volgende activiteiten: Analyse van het probleem. Toewijzen van resources. Ontwerp van de onderdelen van het systeem. Bouw van

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

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

SQL & Relationele datamodellen in interactieve media

SQL & Relationele datamodellen in interactieve media SQL & Relationele datamodellen in interactieve media HVA-CMD-V1-datamodelleren oefeningen deel 1: SQL 2012-2013 Inhoud Inhoud... 2 Selecties uit een enkelvoudige datatabel... 3 Selecties uit een meerdere

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

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

Module 1 Programmeren

Module 1 Programmeren Module 1 Programmeren Programmeertalen 13 1.1 Inleiding 13 1.2 Programmeertalen in historisch perspectief 13 1.2.1 Machinecode 13 1.2.2 Assembleertalen (assembly) 14 1.2.3 Hogere programmeertalen 15 1.2.4

Nadere informatie

Ontwerp een datamodel

Ontwerp een datamodel SQL IAM-TDI-V2-SQL, handleiding datamodel Ontwerp een datamodel Fons van Kesteren, okt 2008, HvA IAM IAM-V2-TDI-SQL 1 Doelstelling... 3 Het ontwerpproces... 4 Afbakening van het informatiedomein... 5 Entiteiten,

Nadere informatie

= > >= < <= BETWEEN IS NULL IS NOT NULL

= > >= < <= BETWEEN IS NULL IS NOT NULL Select queries SELECT...FROM... SELECT DISINCT...FROM... WHERE...AND...OR...NOT...LIKE...IN = > >= <

Nadere informatie

Relationele databases

Relationele databases Systematisch bouwen van informatiesystemen t.b.v. practicumopdracht : Relationele databases Structured Query Language SQL Relationele databases Geautomatiseerde informatiesystemen gebruiken bijna altijd

Nadere informatie

PROGRAMMA 2011-2012. Vak: informatica..

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

Nadere informatie

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

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

7. Het selecteren van gegevens

7. Het selecteren van gegevens 7. Het selecteren van gegevens 7.1. Inleiding Het doel van databases is het ontsluiten van gegevens. Een database wordt gebruikt om gegevens in op te slaan en te lezen. In dit hoofdstuk ga je door gebruik

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

MS Access. Module 0. MS Access, versie 2000 (NL) Nummer: 256 (11062002) The Courseware Company

MS Access. Module 0. MS Access, versie 2000 (NL) Nummer: 256 (11062002) The Courseware Company MS Access Module 0 MS Access, versie 2000 (NL) Nummer: 256 (11062002) The Courseware Company Niets van deze uitgave mag verveelvoudigd worden en/of openbaar worden gemaakt door middel van druk, fotokopie,

Nadere informatie

Trainingsomschrijving ACCESS 97 / 2000 / 2003NL

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

Nadere informatie

Databanken programmatorisch benaderen

Databanken programmatorisch benaderen Databanken programmatorisch benaderen met Visual Studio 2013 HA-2267-01 Informaticabeheer Bert Cauwenberg en Lieven Pauwels Werkgroep Handel 2015 Vlaams Verbond van het Katholiek Secundair Onderwijs Guimardstraat

Nadere informatie

Puzzelen met SQL: Fileleed

Puzzelen met SQL: Fileleed Puzzelen met SQL: Fileleed Patrick Barel, Alex Nuijten - AMIS Services BV Na begin de dag met een dansje en de NOS Headlines worden op Radio 3 de files voorgelezen. Heleen de Geest of John Bakker, van

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

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

We moeten de accommodaties selecteren die 3 sterren hebben, en in land met ID 10 zitten.

We moeten de accommodaties selecteren die 3 sterren hebben, en in land met ID 10 zitten. MySQL talk Trage website? Het optimaliseren van een bestaande website die een MySQL database heeft is niet altijd even makkelijk. Het probleem kan namelijk op veel verschillende plekken zitten: de database

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

Systeemontwikkeling, Hoofdstuk 4, Tabellen maken in MS Access 2010

Systeemontwikkeling, Hoofdstuk 4, Tabellen maken in MS Access 2010 4 Tabellen maken in MS Access In dit hoofdstuk starten we met de bouw van ons informatiesysteem met de belangrijkste bouwstenen: de tabellen. 4.1 Starten met MS Access Als je het programma Microsoft Access

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

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

Computervaardigheden. Universiteit Antwerpen. Computervaardigheden en Programmatie. Grafieken en Rapporten 1. Inhoud. Anatomie van een databank

Computervaardigheden. Universiteit Antwerpen. Computervaardigheden en Programmatie. Grafieken en Rapporten 1. Inhoud. Anatomie van een databank Inhoud Computervaardigheden Hoofdstuk 5 Databanken (Let op: dit is enkel voor studenten Bio-Ingenieur.) Terminologie Data importeren Basis queries Allerhande Joins Doe dit. Aandachtspunt! Wat gebeurt hier?

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

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

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

Nadere informatie

Foutafhandeling in SQL

Foutafhandeling in SQL Algemene richtlijnen binnen de mogelijkheden van RDBMS en 4GL Foutafhandeling in SQL Toon Loonen Foutafhandeling van SQL-code is op veel projecten een achtergebleven gebied. Soms is er discussie of het

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

Cursus Analyse voor Web Applicaties 1. Webdesign / Web Programmeren Analyse voor web applicaties SDM methode + Basis UML

Cursus Analyse voor Web Applicaties 1. Webdesign / Web Programmeren Analyse voor web applicaties SDM methode + Basis UML Cursus Analyse voor Web Applicaties 1 Organisatie Opleiding Module Onderwerp Syntra AB Webdesign / Web Programmeren Analyse voor web applicaties SDM methode + Basis UML Analyse op basis van SDM en UML

Nadere informatie

Vakgroep CW KAHO Sint-Lieven

Vakgroep CW KAHO Sint-Lieven Vakgroep CW KAHO Sint-Lieven Objecten Programmeren voor de Sport: Een inleiding tot JAVA objecten Wetenschapsweek 20 November 2012 Tony Wauters en Tim Vermeulen tony.wauters@kahosl.be en tim.vermeulen@kahosl.be

Nadere informatie

Gebruikers Handleiding

Gebruikers Handleiding Gebruikers Handleiding (De SQL module) Versie 2.14 Pagina 2 van 14 Versie 2.14 Inhoudsopgave NGP SQL...5 Het Menu... 6 De instellingen... 7 De database informatie... 9 Het Script... 10 Pagina 3 van 14

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

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

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

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

Van CaseTalk naar een database in SQLite studio

Van CaseTalk naar een database in SQLite studio Van CaseTalk naar een database in SQLite studio Dit document legt uit hoe je een SQL export uit CaseTalk kunt importeren in het DBMS (Database Management System) SQLite Studio. SQLIte studio is handig

Nadere informatie

Oracle-database creëren

Oracle-database creëren Datum: maart 2014 Versie: 3.1 2014 Perceptive Software. Alle rechten voorbehouden. Perceptive Software is een gedeponeerd handelsmerk van Lexmark International Technology S.A. in de VS en andere landen.

Nadere informatie