SQL / Systeemanalyse
Modulehouder: Datum: september 2015 Modulecode: IBK1SQL01 ECTS: 3 Docent: HDA de Wit
1 Onderwijs inhoud ................................................................................................................................................ 3 1.1 Context ......................................................................................................................................................... 3 1.2 De opdracht / doel van de module ................................................................................................................ 3 2. Werkwijze en ondersteuning .............................................................................................................................. 4 2.1 Lesprogramma .............................................................................................................................................. 4 2.2 Begeleiding en werkvorm ............................................................................................................................. 5 2.3 Literatuur ...................................................................................................................................................... 5 3. Beoordeling ........................................................................................................................................................ 6 3.1 Beoordelingsprocedure ................................................................................................................................. 6 3.2 Beoordelingscriteria ...................................................................................................................................... 6 3.3 Herkansingsregeling ..................................................................................................................................... 6 3.4 Fraude en Plagiaat......................................................................................................................................... 6 4. Organisatie .......................................................................................................................................................... 7 4.1 Module-informatie ........................................................................................................................................ 7 4.2 Studiebelasting.............................................................................................................................................. 7 4.3 Werkafspraken .............................................................................................................................................. 7 4.4 Inleverdata .................................................................................................................................................... 7 4.5 Klachten ........................................................................................................................................................ 7 5. Verantwoording en leerdoelen ............................................................................................................................ 8 Bijlage I.................................................................................................................................................................. 9
Studiejaar 2015-16
2
1 Onderwijs inhoud 1.1 Context Bij organisatie worden de processen in steeds grotere mate ondersteund door ICT middelen (zie bijv. bij Logistiek Management). Een bedrijfskundig Informaticus kan worden ingezet om onderzoek naar de ICT-behoeftes van de organisatie én het ontwerpen van ICT systemen te ondersteunen. Bij het ontwerpen van informatiesystemen is de gegevensanalyse en gegevensmodellering een belangrijk onderdeel. Vanuit alle benodigde informatiebehoeften van de organisatie en het daarvoor te ontwerpen informatiesysteem zullen de gegevens bepaald moeten worden welke opgenomen worden in de database. Noodzakelijk is dat deze gegevens logisch gegroepeerd worden om een consistente database te verkrijgen. De informatiebehoefte kan ook vertaald worden naar werkende (SQL) code waardoor uit de database de benodigde gegevens worden opgehaald in een door de gegevensgebruiker gewenste vorm. De manager zal bijvoorbeeld niet de behoefte hebben aan rauwe data (onbewerkte records) maar wel aan de verkoopcijfers per regio of per klant. Structured Query language (SQL) is de taal waarin deze informatie behoefte wordt beschreven zodat de database (DBMS) het kan verwerken.
1.2 De opdracht / doel van de module Ten behoeve van deze gegevensanalyse en gegevensmodellering wordt in de les een gegevensmodelleringtechniek behandeld, te weten het entiteit-relatie diagram (ERD). Ook aan de orde komt de normalisatie (NF) en transformatie van dit model naar het relationele model (DSD) als basis voor de implementatie in een database management systeem. Daarnaast wordt behandeld hoe informatievragen van gebruikers vertaald moeten worden in een voor de database begrijpelijke taal (SQL) Na afloop kun je voor een eenvoudige organisatie een analyse opstellen en een werkende database ontwerpen. Dit wordt beoordeeld met behulp van een toets (zie voor details H3: ‘Beoordeling’).
Studiejaar 2015-16
3
2. Werkwijze en ondersteuning 2.1 Lesprogramma In het onderstaande weekschema wordt een gedetailleerd overzicht gegeven van de aangeboden stof en de opdrachten aan de student. In de kolom “onderdeel / onderwerp / thema” wordt de lesstof uit het leerboek aangegeven. Lesweek
onderdeel / onderwerp / thema
*
*
Literatuur vooraf
1
SQL de basis
Lezen modulewijzer.
2
SQL vervolg
Presentatie Les 1
3
Normaliseren van enteiten/tabellen Onderwerpen Afhankelijkheden tussen attributen De normaalvormen (NF) en hiërarchie e e, e ( e 1 , 2 3 , 4 NF en DKNF)
4
Introductie en ontwerpen van ERD’s Onderwerpen: Wat is een database Gegevensbehoeften organisaties Ontwerpstappen Bouwstenen ERD (entiteiten, attributen en relaties)
5
Titel: Ontwerpen van ERD’s - vervolg Bijeenkomst 2 (les) Onderwerpen Bijzondere relaties (SuperSub, recursief) Omzetten trinaire relaties naar binaire relaties
6
Titel: Omzetten informatiebehoeftes in SQL Onderwerpen Rol SQL tussen klantbehoefte en DBMS Structuur SQL statements Gebruik S(impel)QL als oefen tool SQL constructies (logische operatoren, functies, distinct e.d.)
7
Titel: SQL vervolg – complexe functies 2 Onderwerpen Group by en Having Geneste queries
8
Responsiecollege en uitloop
9
Bestuderen Kroenke hst 3 en 4 Presentatie les 1 & 2
Voorbereiden responsie college en maken proeftoets
Uitleg Feedback Bespreken proeftoets
TOETS (of week 10 => zie toetsrooster)
Voorbereiden op toets
10 * invulling van de les kan door input vanuit de klas iets afwijken om aan de vragen te kunnen voldoen. Studiejaar 2015-16
4
2.2 Begeleiding en werkvorm De stof wordt in de lesweken aangeboden in een gecombineerde theorie/praktijk les. De nadruk ligt op de theorie. Oefenen zal voornamelijk onbegeleid gebeuren. Voor dit vak wordt gebruik gemaakt van een boek van Kroenke (theorie en oefeningen) en lesmateriaal (presentaties, opdrachten oefen tool en -bestanden en syllabus SQL) op de site van de modulebeheerder (www.med.hro.nl/wihan). In deze modulewijzer staan ook enkele aanvullende opdrachten.
2.3 Literatuur Op internet en in de boekhandel zijn er vele artikelen en boeken, maar ook (online)trainingen te vinden. Afhankelijke van de behoefte van de student moet hij/zij daar zelf een keus in maken. Onderstaande leermiddelen worden gebruikt tijdens de les. De aanschaf is niet verplicht maar de toetsing zal plaats vinden op basis van deze stof! Met andere woorden alle stof uit de besproken hoofdstukken kan aan de orde komen tijdens de toets. Bronnen: Auteur: Kroenke, David M., Auer, D.J. e Titel: Databases (11 editie) Uitgever: Pearson Benelux B.V. ISBN: 9789043019873 Oudere drukken zijn bruikbaar, maar (vooral) indeling wijkt af van 11 editie
Auteur: Kuiper, Toon, Titel: Syllabus en presentaties SQL Uitgever: nvt – hoofdstukken worden als PDF’s beschikbaar gesteld op site van de modulebeheerder (www.med.hro.nl/wihan). ISBN: nvt
Studiejaar 2015-16
5
3. Beoordeling 3.1 Beoordelingsprocedure De toets: De schriftelijke toets wordt gegeven in week 9 (of 10, zie toets rooster) afgenomen en duurt 120 minuten. Voor alle leerdoelen is er een (of meer) opdracht(en) geformuleerd. Bij elke opdracht zijn er punten te verdienen (zie voor meer uitleg de proeftoets).
Feedback: Na de toets is er een inzage/feedback moment (wordt door de docent bekend gemaakt) waarin de toets ook wordt behandeld.
3.2 Beoordelingscriteria Beoordelingsmatrijs en voorbeeld toets: zie bijlage I
3.3 Herkansingsregeling Bij het halen van een onvoldoende of niet deelnemen aan de toets, kan de student een herkansingstoets doen in de loop van het volgende kwartaal (zie toets rooster).
3.4 Fraude en Plagiaat Fraude is als de student tijdens of na een tentamen probeert de inhoudelijke beoordeling op onrechtmatige wijze te beïnvloeden. Onder fraude wordt eveneens verstaan als de student een andere student in de gelegenheid stelt onderdelen van zijn of haar werk over te nemen. De ingeleverde uitwerkingen van de opdrachten kunnen worden gescand op plagiaat. Een docent kan je om een digitale versie vragen voor dat doel. Onder plagiaat verstaat het instituut: het letterlijk overnemen van teksten zonder correcte bronvermelding. Bij constatering van fraude en/of plagiaat wordt de Examencommissie IBK direct geïnformeerd met het verzoek tot het nemen van een maatregel. Na een hoorzitting legt de Examencommissie IBK een maatregel op die bindend is.Voor de juistheid wordt verwezen naar artikel 9.5 van de Hogeschoolgids van het instituut IBK.
Studiejaar 2015-16
6
4. Organisatie 4.1 Module-informatie Modulecode: IBK1SQL01 Modulenaam: Informatieanalyse en SQL Aantal studiepunten: 3 Beginvereisten: geen Contacturen: 2 per week Onderwijsperiode: 2
4.2 Studiebelasting
Contact-lesuren: 8x2=16 SBU Lesvoorbereiding : 8x3=24 SBU Werken aan thuisopdrachten: 8x4 =32 SBU. Toetsvoorbereiding : 10 SBU Toetstijd : 2 SBU Totaal: 84 SBU = 3 ECTS
4.3 Werkafspraken Aanwezigheid studenten: Niet verplicht. Bereikbaarheid docent(en) De docent die deze module gaat geven is bij het maken van deze module nog niet bekend. De modulehouder is verantwoordelijk voor de inhoud van de module en de toetsing. Gegevens van de modulehouder van deze module: dhr. HDA de Wit e-mail:
[email protected] telefoon: 010-794 e kamer: flexplek 5 etage
4.4 Inleverdata Geen! Zie rooster voor toetsdata.
4.5 Klachten Mocht je onverhoopt klachten hebben over de begeleiding van deze module, probeer dan in eerste instantie samen met je eigen docent tot een oplossing te komen. Als dat niet tot een bevredigende oplossing leidt, dan kun je contact opnemen met de modulehouder. Voor klachten over de organisatie van de module kun je contact opnemen met de onderwijsmanager.
Studiejaar 2015-16
7
5. Verantwoording en leerdoelen Na afloop kun je: - een eenvoudig bedrijfsproces analyseren (casus / tekst) en op basis hiervan een ERD opstellen. - een gegeven tabel controleren op juistheid en verbeteren (Normaliseren/NF). - op basis van een gegeven ERD een DSD op stellen (vreemde sleutels (FK’s) toevoegen aan tabellen om relaties uit ERD vorm te geven inde tabellen). - Informatiebehoeftes van klanten/gebruikers van de database omzetten in een SQL instructie (zodat het DBMS de gevraagde informatie kan presenteren).
Taxonomie De toetsmatrijs geeft de relatie weer tussen de leerdoelen en de vragen dan wel opdrachten van een toets. Tevens geeft de toetsmatrijs aan op welk niveau het leerdoel getoetst wordt. De BI-opleiding heeft ervoor gekozen om deze niveau-aanduiding te koppelen aan de vereenvoudigde taxonomie van Romiszowski.
1. 2. 3.
4.
Leerdoelen
Niveau*
Een eenvoudig bedrijfsproces analyseren (casus / tekst) en op basis hiervan een ERD opstellen. . Een gegeven tabel controleren op juistheid en verbeteren (Normaliseren/NF). Op basis van een gegeven ERD een DSD op stellen (vreemde sleutels (FK’s) toevoegen aan tabellen om relaties uit ERD vorm te geven inde tabellen). Informatiebehoeftes van klanten/gebruikers van de database omzetten in een SQL instructie (zodat het DBMS de gevraagde informatie kan presenteren).
T
Verwijzing naar opdracht/ vraag/ criteria** Zie proeftoets
T
Zie proeftoets
T
Zie proeftoets
T
Zie proeftoets
*) Niveau: K = Kennis B = Begrijpen T= Toepassen
**) Zie proeftoets in bijlage
Studiejaar 2015-16
8
Bijlage I *************************************begin casus Het meest prestigieuze wereldkampioenschap autoraces is ongetwijfeld het kampioenschap Formule 1. Gedurende het seizoen strijden niet alleen een aantal coureurs om de titel maar valt er ook een wereldtitel voor teams (aangeduid als wereldtitel voor constructeurs) te vergeven. In elke grand prix – zo heet een race die meetelt voor het wereldkampioenschap – komen twee coureurs per team uit. De winnaar van de grand prix krijgt 10 punten, een tweede plaats levert 8 punten op, een derde plek wordt gewaardeerd met 6 punten, enz. De coureur met het hoogste puntentotaal aan het eind van het seizoen is de uiteindelijke wereldkampioen. De uitslag van de constructeurstitel wordt eenvoudig bepaald door de punten van beide coureurs bij elkaar op te tellen. De tabel UITSLAG bevat slechts de namen van de coureurs die op de eerste acht plaatsen eindigden en dus punten behaalden voor het wereldkampioenschap. Deze tabel is gedeeltelijk weergegeven (inmiddels - wij denken dat het vandaag voorjaar 2006 is - zijn er drie grand prixs van het seizoen verreden). De overige voor dit tentamen van belang zijnde gegevens zijn hieronder weergegeven zoals ze in de database zijn opgeslagen. De database bestaat uit de volgende vier tabellen: COUREUR Coureur Albers Alonso Barrichello Button Coulthard Fisichella Enz…
Nationaliteit Dut Esp Ita GBr GBr Ita
Team Midland Renault Honda Honda Red Bull Renault
De tabel COUREUR bevat de belangrijkste gegevens over de coureurs; alle gegevens zijn alfanumeriek. Behalve de naam van de coureur is ookde nationaliteit en de naam van het team waarvoor de coureur uitkomt opgenomen. De tweede tabel bevat de namen van de teams, samen met het bandenmerk (Michelin of Bridgestone) waar het team gebruik van maakt. Ook deze tabel bevat uitsluitend alfanumerieke gegevens. TEAM Team Band BMW Sauber Michelin Ferrari Bridgestone Honda Michelin McLaren Michelin Enz…… De derde tabel in onze database bevat de gegevens over de races en laat - naast de naam van de Grand Prix en de naam van het circuit waarop deze verreden wordt - ook de datum zien waarop de Grand Prix plaatsvindt. Uiteraard bevat deze kolom een datumgegeven. GRANDPRIX GrandPrix Australia Bahrain
Circuit Albert Park Bahrein International Circuit
Datum 2-4-2006 12-3-2006
Studiejaar 2015-16
9
Europe Malaysia San Marino Enz.
Nürburgring Sepang International Circuit Autodromo Enzo e Dino Ferrari
7-5-2006 19-3-2006 23-4-2006
De vierde tabel tenslotte bevat de punten die aan coureurs zijn toebedeeld als gevolg van hun in de wedstrijd behaalde klassering. UITSLAG GP Australia Australia Australia Australia Australia Australia Australia Australia Bahrain Bahrain Enz. ******************einde casus
Coureur Alonso Barrichello Coulthard Fisichella Heidfeld R Schumacher Räikkönen Villeneuve Alonso Button
Pt 2 1 4 5 6 8 10 3 10 5
Opgave 5 (7pt): Noteer een query die alleen de Italiaanse coureurs van het team Renault toont Opgave 6 (7pt) Noteer een query die per coureur het aantal tot nu toe behaalde punten oplevert. Opgave 7 (7 pt) Schrijf een query die de namen van de coureurs oplevert die nog in geen enkele grand prix punten behaalden. (Aanw.: gebruik een subquery.) Opgave 8 (7 pt) Noteer een query die aangeeft hoeveel keer elke coureur bij de eerste drie eindigde (10, 8, of 6 punten scoorde). Opgave 9 (7 pt) Formuleer een query die resulteert in de nationaliteiten waartoe de coureurs behoren. De nationaliteiten moeten in omgekeerd alfabetische volgorde getoond worden. Einde toets.
Studiejaar 2015-16
10