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 F E I
+31 30 234 48 11 +31 30 231 59 86
[email protected] www.exin.nl
Datum: 1 juli 2010
Alle rechten voorbehouden. Niets uit deze uitgave mag worden openbaar gemaakt of verveelvoudigd, opgeslagen in een dataverwerkend systeem of uitgezonden in enige vorm door middel van druk, fotokopie of welke andere vorm dan ook zonder toestemming van EXIN
Databases en SQL Foundation
2
INHOUD 1. Profiel 2. Exameneisen 3. Begrippenlijst 4. Literatuur
4 5 9 12
Databases en SQL Foundation
3
1. Profiel De module Databases en SQL Foundation biedt een introductie op het onderwerp databases en SQL en gaat in op de belangrijkste aspecten van databases en database-managementsystemen. SQL is de taal waarmee de communicatie tussen een database en applicatie wordt verzorgd. Kennis van SQL zorgt voor de mogelijkheid om complexere databases te bouwen die de performance van applicaties ten goede komen. Inhoud Deze module biedt een basiskennis van de belangrijkste componenten van databases en databasemanagementsystemen en de mogelijkheid tot het interpreteren en beoordelen van relationele modellen. Op basis van deze module kan men zich vervolgens verder specialiseren op het gebied van databaseontwerp of bijvoorbeeld Oracle. De onderwerpen van deze module zijn: principes van databases, databasemodellen, relationeel model, relationeel DBMS en SQL. Doelgroep De module is gericht op iedereen die zich wil verdiepen of specialiseren in het onderwerp databases en de basisbegrippen van SQL. Context De module Databases en SQL Foundation maakt deel uit van de Tracks Foundation serie: kwadrant Informatiesystemen. Voorkennis Geen. Indicatie studielast 60 uren. Training Het maximum aantal deelnemers is 25. (Dit geldt niet voor een online- of computer based training.) Contacturen Het minimum aantal contacturen tijdens de training is 15. Dit omvat groepsopdrachten, voorbereiding op het examen en korte pauzes. Dit aantal uren is exclusief huiswerk, logistieke voorbereiding van het examen en lunchpauzes. Praktijkopdracht(en) Niet van toepassing. Examenvorm Computergestuurde multiplechoicevragen. Examenduur 60 minuten. Examendetails Aantal vragen: 30 Cesuur: 65 % (20 van 30) Open boek/notities: nee Elektronische hulpmiddelen toegestaan: nee Voorbeeldvragen U kunt een voorbeeldexamen downloaden via www.exin.nl. Training provider Op de website van EXIN vindt u een lijst van geaccrediteerde training providers http://www.exin.nl/opleiders.
Databases en SQL Foundation
4
2. Exameneisen De exameneisen zijn uitgewerkt in examenspecificaties. In onderstaande tabel staan de onderwerpen van de module (exameneisen). Het gewicht van de verschillende onderwerpen in het examen wordt uitgedrukt in een percentage van het totaal. Exameneis
Examenspecificatie
Gewicht (%)
1. Principes van databases
10
1.1 De kandidaat kent de basisbegrippen van databases.
2 Databasemodellen
5
2.1 De kandidaat heeft inzicht in hiërarchische databases. 2.2 De kandidaat heeft inzicht in netwerkdatabases. 2.3 De kandidaat heeft inzicht in relationele databases. 2.4 De kandidaat is in staat verschillende databasestructuren met elkaar te vergelijken.
3 Relationeel model
40
3.1 De kandidaat heeft kennis van de basisbegrippen van het relationeel model. 3.2 De kandidaat is in staat om een gegeven relationeel model te interpreteren.
4 Relationeel database management systeem (DBMS)
5
4.1 De kandidaat heeft inzicht in een relationeel database management systeem (DBMS).
5 SQL
40 5.1 De kandidaat heeft inzicht in SQL als Data Manipulation Language (DML). 5.2 De kandidaat heeft inzicht in SQL als Data Definition Language (DDL). 5.3 De kandidaat heeft inzicht in SQL als Data Control Language (DCL).
Totaal
100
Databases en SQL Foundation
5
Examenspecificaties 1. Principes van databases (10%) 1.1 De kandidaat kent de basisbegrippen van databases. De kandidaat kan: 1.1.1 de definitie van een database geven; 1.1.2 het doel van een database aangeven; 1.1.3 de werking van een database beschrijven; 1.1.4 de voordelen van het gebruik van een database beschrijven; 1.1.5 in een database de verschillende soorten voorkomende relaties beschrijven; 1.1.6 een database beschrijven op intern, conceptueel en extern niveau; 1.1.7 het voordeel van een index beschrijven; 1.1.8 het doel van autorisatie beschrijven.
2. Databasemodellen (5%) 2.1 De kandidaat heeft inzicht in hiërarchische databases. 2.1.1 De kandidaat kan beschrijven hoe relaties tussen records worden verkregen. 2.2 De kandidaat heeft inzicht in netwerkdatabases. 2.2.1 De kandidaat kan beschrijven hoe relaties tussen records worden verkregen. 2.3 De kandidaat heeft inzicht in relationele databases. 2.3.1 De kandidaat kan beschrijven hoe relaties tussen records worden verkregen. 2.4 De kandidaat is in staat verschillende databasestructuren met elkaar te vergelijken. De kandidaat kan: 2.4.1 de voor- en nadelen van de verschillende typen databases beschrijven; 2.4.2 de verschillen en overeenkomsten tussen de verschillende typen databases beschrijven.
Databases en SQL Foundation
6
3. Relationeel model (40%) 3.1 De kandidaat heeft kennis van de basisbegrippen van het relationeel model. De kandidaat kan: 3.1.1 de basisbegrippen afzonderlijk beschrijven; 3.1.2 de basisbegrippen in onderlinge samenhang beschrijven. 3.2 De kandidaat is in staat om een gegeven relationeel model te interpreteren. De kandidaat kan: 3.2.1 in een relationeel model aangegeven delen benoemen; 3.2.2 aangeven welk deel van een gegeven relationeel model met een gevraagd begrip overeenkomt; 3.2.3 aangeven waar NULL-waarden zijn toegestaan; 3.2.4 aangeven onder welke voorwaarden NULL-waarden zijn toegestaan; 3.2.5 uitgaande van een relationeel model uitspraken doen over het model; 3.2.6 uitgaande van een relationeel model uitspraken doen over wel of niet toegestane inhoud van een op dat model gebaseerde database; 3.2.7 uitgaande van een relationeel model uitspraken verifiëren over het model; 3.2.8 uitgaande van een relationeel model uitspraken verifiëren over wel of niet toegestane inhoud van een op dat model gebaseerde database; 3.2.9 de overeenkomsten aangeven tussen relaties, tupels en attributen enerzijds en tabellen, rijen en kolommen anderzijds; 3.2.10 in een gegeven database in de tabellen, rijen en kolommen de gevolgen aangeven betreffende: de regels voor entiteitsintegriteit; de regels voor referentiële integriteit; de regels voor domein; transitieregels; updateregels; deleteregels; de regels voor NULL-waarden.
4. Relationeel database management systeem (DBMS) (5%) 4.1 De kandidaat heeft inzicht in een relationeel database management systeem (DBMS). De kandidaat kan: 4.1.1 het doel beschrijven; 4.1.2 de werking beschrijven; 4.1.3 de relatie beschrijven tussen DBMS en DML; 4.1.4 de relatie beschrijven tussen DBMS en DCL; 4.1.5 de relatie beschrijven tussen DBMS en DDL.
Databases en SQL Foundation
7
5. SQL (40%) 5.1 De kandidaat heeft inzicht in SQL als Data Manipulation Language (DML). De kandidaat kan: 5.1.1 een aantal SQL-statements en clausules beschrijven; 5.1.2 SQL opdrachten (queries) schrijven; 5.1.3 opdrachten voor manipulatie op een database, die gegeven zijn in de Nederlandse taal, omzetten naar SQL; 5.1.4 het resultaat van een SQL-opdracht, op een gegeven database, weergeven; 5.1.5 bij een gegeven uitvoer beschrijven hoe die uitvoer is verkregen; 5.1.6 voor het verkrijgen van de correcte uitvoer van een gegeven informatiebehoefte: de tabellen, rijen en kolommen aangeven waarop een selectie moet worden uitgevoerd; de voorwaarden aangeven waaraan de te selecteren tabellen, rijen en kolommen moeten voldoen; de juiste volgorde van de SQL opdrachten en clausules geven. 5.2 De kandidaat heeft inzicht in SQL als Data Definition Language (DDL). De kandidaat kan: 5.2.1 uitgaande van een gegeven datamodel in DDL tabellen aanmaken door middel van de opdracht CREATE TABLE waarbij een aantal gegevenstypen kan worden gebruikt; 5.2.2 uitgaande van een gegeven datamodel in DDL tabellen verwijderen door middel van de opdracht DROP TABLE; 5.2.3 uitgaande van een gegeven datamodel in een tabel de primaire sleutel definiëren; 5.2.4 uitgaande van een gegeven datamodel in een tabel de vreemde sleutel(s) definiëren. 5.3 De kandidaat heeft inzicht in SQL als Data Control Language (DCL). De kandidaat kan: 5.3.1 uitgaande van een gegeven datamodel in DCL rechten toekennen; 5.3.2 uitgaande van een gegeven datamodel in DCL rechten intrekken. Toelichting en verantwoording Van kandidaten wordt een beperkte toepassingsvaardigheid gevraagd op het gebied van SQL. Als uitgangspunt voor deze module is gekozen voor het boek A ‘Databases en SQL’ van T. de Rooij. Dit boek levert een compacte maar heldere inleiding van de onderwerpen databases en SQL. De in het examen gehanteerde syntax is dan ook de syntax die gebruikt wordt in dit boek. Na afronding van de module DBSQLF wordt de kandidaat geacht te kunnen werken met eenvoudige SQL-opdrachten en clausules. In dit kader is er voor gekozen een aantal onderwerpen niet of beperkt te behandelen en een aantal begrippen niet te noemen. De volgende onderwerpen en/of begrippen komen in de module niet aan de orde: - Afleiding en afhankelijkheid (Boek A pagina 48), evenals extensie, intensie en cardinaliteit; - De specifieke werking van de verschillende vormen van (het begrip) ‘join’; - De volledige werking, definiëring en toepassing van een index; - Het toepassen van views voert te ver voor deze module; - Een subquery met [NOT] EXISTS. De volgende onderwerpen en/of begrippen komen beperkt aan de orde: - Gedetailleerde syntax (zie bijvoorbeeld Boek A pagina 88) hoeft men niet uit het hoofd te kennen. maar hiervan bijvoorbeeld wel kunnen aangeven welk statement een gewenste uitwerking heeft; - Het begrip Join geeft aan dat twee (of meer) tabellen met elkaar verbonden zijn. Er kunnen vragen gesteld worden over SQL-opdrachten die betrekking hebben op meer dan één tabel; - De kandidaat moet het voordeel van (het definiëren van) een index kunnen beschrijven; - Eenvoudige SQL-statements en een subquery met [NOT] IN.
Databases en SQL Foundation
8
3. Begrippenlijst De begrippenlijst bevat de begrippen die in de toets kunnen worden behandeld.
1. Principes van databases 1.1
database • autorisatie: lezen, wijzigen, verwijderen • conceptueel niveau • database-managementsysteem (DBMS) • eenduidige definitie • eigenschappen van een object • extern niveau • fysieke gegevensonafhankelijkheid • index • intern niveau • logische gegevensonafhankelijkheid • objecten • navigeren • records • relaties: 1-op-1 relatie, 1-op-N relatie, N-op-M relatie • samenhang gegevens • toegang tot gegevens / autorisatie • views van gegevens
2. Databasemodellen 2.1 2.2 2.3
hiërarchische database netwerkdatabase en relationele database • records • relaties • tabeldefinitie • viewdefinitie
3. Relationeel model 3.1 3.2
relationeel model en relationeel model interpreteren • attribuut • attribuutnaam • attribuutwaarde • deleteregels • domein • entiteitsintegriteit • kandidaatsleutel • NULL-waarden • primaire sleutel • referentiële integriteit • relatie • relationeel model interpreteren • tupel • updateregels • vreemde sleutel
Databases en SQL Foundation
9
4. Relationeel DBMS 4.1
relationeel Database Management Systeem (DBMS) • DBMS • DCL • DDL • DML
5. SQL 5.1
Data Manipulation Language (DML) • clausule • Clausules • SELECT • SELECT * • FROM • WHERE • AND • OR • NOT • DISTINCT • GROUP BY • HAVING • INSERT INTO • VALUES • DELETE FROM • UPDATE • SET • DBMS • functies • SUM • AVG • COUNT • MAX • MIN • inhoud van een database • integriteit • kolom • object • Opdrachten • SELECT • INSERT • DELETE • UPDATE • operatoren •= •> •< • >= • <= • <> • relationeel schema • rij • selectie • tabel • volgorde • voorwaarde • [NOT] IN • SQL-statement • subquery met [NOT] IN Databases en SQL Foundation
10
5.2
Data Definition Language (DDL) • database • FOREIGN KEY • gegevenstypen • INTEGER • SMALLINT • DATE • TIME • CHAR(n) • VARCHAR(n) • kolom • opdrachten • CREATE TABLE • DROP TABLE • primaire sleutel • PRIMARY KEY • tabel • vreemde sleutel
5.3
Data Control Language (DCL) • Clausules • SELECT • UPDATE • INSERT • DELETE • ALTER • ALL • ON • TO • FROM • PUBLIC • database • opdrachten • GRANT • REVOKE • rij • tabel • waarde
Databases en SQL Foundation
11
4. Literatuur Examenliteratuur A Rooij, T. de Databases en SQL Den Haag: Sdu Uitgevers bv, 4e druk, 2010 ISBN: 978 90 395 2617 0
Aanvullende literatuur B Faber, E., Kockelkoren, Ch., Snel, R., Thijssen, J. & Wesselink, M. Databases and SQL, theorieboek Maastricht: E3 ICT, 1e druk, 2005 ISBN 10: 90 769 3958 6 ISBN 13: 978 90 769 3958 2
Samenhang literatuur en examenspecificaties Examenspecificatie
Literatuur
1.1
A:
H 2, § 6.1, § 6.3, § 7.1
2.1
A:
§ 2.2, § 2.3
3.1 3.2
A: A:
§ 3.1 t/m § 3.3 § 3.1 t/m § 3.4, § 5.3
4.1
A:
§ 2.2, § 2.3, § 6.1, § 6.3
5.1
A:
H 7 t/m H 9, H 11
5.2
A:
§ 6.1
5.3
A:
§ 6.3
Toelichting en verantwoording Academic Service is een imprint van Sdu Uitgevers bv. De oude druk van boek A (3e, 2005) kan eventueel nog gebruikt worden.
Databases en SQL Foundation
12