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 11 F +31 30 231 59 86 E info@exin.nl I 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 2
INHOUD 1. Profiel 4 2. Exameneisen 5 3. Begrippenlijst 9 4. Literatuur 12 3
1. Profiel De module 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 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. 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 5
Examenspecificaties 1. Principes van databases (10%) 1.1 De kandidaat kent de basisbegrippen van databases. 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. 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. 6
3. Relationeel model (40%) 3.1 De kandidaat heeft kennis van de basisbegrippen van het relationeel model. 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. 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). 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. 7
5. SQL (40%) 5.1 De kandidaat heeft inzicht in SQL als Data Manipulation Language (DML). 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). 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). 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. 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 hiërarchische database 2.2 netwerkdatabase en 2.3 relationele database records relaties tabeldefinitie viewdefinitie 3. Relationeel model 3.1 relationeel model en 3.2 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 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 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 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. 12