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 verwijst naar een n andere records een boomstructuur, die steeds verder kan vertakken Kenmerkend: ieder recordtype kent maar één eigenaar (owner) Relationele database Gegevens opgeslagen in tabellen met soortgelijke groepen informatie Verschillende tabellen worden verbonden door een kolom / sleutel toe te voegen met een verwijzing naar een record in een andere tabel Database wordt opgeslagen, geraadpleegd en gewijzigd middels een relational database management system, RDBMS. Benaderd door middel van de taal SQL ODBMS Werkt met objecten, zoals in objectgeörienteerde programmeertalen Doel is het invoegen van objecten eenvoudig te maken Objecten die men gebruikt direct in database opslaan P i d d l i OQL Poging voor standaard vraagtaal in OQL Data sneller op te vragen door geen join operaties A. Snippe ICT Lyceum 1
Edgar Codd Wiskundige bij IBM (International Business Machines) Hierarchische databases gegevensverlies of overhead problemen Oplossing voor anamoliën zijn zes normaal vormen A Relational Model for Data in Large Shared Data Banks (boek 1970) IBM had geen zin in relationele databases Larry Ellison Zag wel iets in het idee van Codd en werkte het uit Maakte in 1977 relationele database Oracle Één van de rijkste mensen ter wereld Oracle produceert allerhande relationele databasesystemen Definities: Gegevens: gebeurtenissen die op een bepaalde manier vastgelegd zijn Informatie: de betekenis die aan gegevens gegeven wordt Tupel: een rij in een tabel Attribuut: een kolom in een tabel Sleutel: uniek attribuut in een tabel Redundantie: het dubbel opslaan van gegevens 0NV inventariseren Alle gegevens op de afleverbon onder elkaar zetten Geef de inventarisatie een naam in hoofdletters 0NV inventariseren 1NV stappen 1. Verwijder alle procesgegevens. 2. Geef de sleutel van de groep aan 3. Bepaal de deelverzameling die een herhaald keren voorkomt t.o.v. de primaire sleutel 4. Herhaal lde sleutelgegevens l van de oorspronkelijke groep samen met de gegevens van de zich herhalende deelverzameling als een nieuwe groep 5. Verwijder de zich herhalende deelverzameling uit de oorspronkelijke groep 1NV stap 1 1. Verwijder alle procesgegevens Gegevens die uit een berekening van andere gegevens voortkomen. = * = som alle regeltotalen A. Snippe ICT Lyceum 2
1NV stap 2 2. Geef de sleutel van de groep aan Sleutel altijd uniek Sleutel wordt onderstreept 1NV stap 3 3. Bepaal de deelverzameling die een herhaald keren voorkomt t.o.v. de primaire sleutel Deelverzameling = Repeterende Groep (RG) Gegevens die vaker voorkomen RG : RG : RG : RG : 1NV stap 4 4. Schrijf RG op en voeg sleutelgegevens van de oorspronkelijke groep toe Geef RG een naam Kies sleutel en voeg de sleutel van oorspronkelijke groep toe 1NV stap 5 5. Verwijder de zich herhalende deelverzameling uit de oorspronkelijke groep Oorspronkelijke groep opruimen Resultaat is de Eerste Normaalvorm RG : RG : RG : RG : Prijs 2NV stappen 1. Geef de attributen aan die niet functioneel afhankelijk zijn van de volledige sleutel 2. Formeer een aparte groep voor ieder deel van de sleutel waarvan de attributen functioneel afhankelijk zijn 3. Neem in iedere groep de attributen met het bijbehorende sleuteldeel op en wijs de primaire sleutel aan 4. Verwijder deze attributen uit de oorspronkelijke groep 2NV stap 1 1. Geef de attributen aan die niet functioneel afhankelijk zijn van de volledige sleutel Alleen voor groepen met meer dan 1 sleutel Geef aan welk deel bij een stuk sleutel hoort > > > Aantal niet, kan per order verschillen! A. Snippe ICT Lyceum 3
2NV stap 2 2. Formeer een aparte groep voor elk deel van de sleutel waarvan de attributen functioneel afhankelijk zijn Het kan zijn dat er in meerdere delen gesplitst kan worden. Oplossing: meerdere groepen vormen. 2NV stap 3 3. Neem per groep de attributen met het bijbehorende sleuteldeel op en wijs de primaire sleutel aan Nieuwe groep nieuwe naam nieuwe sleutel > > > > > > 2NV stap 4 4. Verwijder deze attributen uit de oorspronkelijke groep Oorspronkelijke groep opruimen laat sleutel staan! Resultaat is de Tweede Normaalvorm 3NV stappen 1. Geef de niet sleutel attributen aan die functioneel afhankelijk zijn van andere niet sleutel attributen 2. Formeer een aparte groep voor ieder attribuut of combinatie van attributen, waar andere attributen functioneel van afhankelijk zijn 3. Neem in iedere groep de attributen met bijbehorende sleutel op en wijs de primaire sleutel aan 4. Verwijder de attributen van de nieuwe groep(en) uit de oorspronkelijke groep 3NV stap 1 1. Geef de niet sleutel attributen aan die functioneel afhankelijk zijn van andere niet sleutel attributen Lijkt op 2NV 1, maar dan afhankelijk van niet sleutel 3NV stap 2 2. Formeer een aparte groep voor iedere groep attributen, waar andere attributen afhankelijk zijn Lijkt op 2NV 2 > > > > > > > > > > A. Snippe ICT Lyceum 4
3NV stap 3 3. Neem in iedere groep de attributen met bijbehorende sleutel op en wijs de primaire sleutel aan Lijkt op 2NV 3 Let op! in S laten staan vanwege relatie 3NV stap 4 4. Verwijder de attributen van de nieuwe groep(en) uit de oorspronkelijke groep Oorspronkelijke groep opruimen laat sleutel attribuut staan! Resultaat is de Derde Normaalvorm > > > > > Relatie tabellen ERD Opdracht : Maak de normalisatie af en maak het ERD Toelichting: 1 klant hoort bij 1 order 1 klant kan meerdere orders hebben op 1 order kunnen meerdere artikelen voorkomen een besteld artikel kan maar op 1 order voorkomen 1 artikel kan vaker besteld worden bij 1 besteld artikel hoort maar 1 artikel beschrijving 25 minuten Huiswerk Leeswerk Uitleg in hand out deze week Maakwerk uitgedeelde factuur Analytisch vermogen A. Snippe ICT Lyceum 5
Analytisch vermogen Opdracht: maak de puzzel van vorige week Huiswerk 20 minuten Huiswerk vorige week Opdracht 8 Inleveren opdracht 10 USE case diagram + tabellen Activiteiten schema Startsymbool Stopsymbool Stroom / flow symbool Synchronisatiebalk Actoren Swimlanes Activiteit A. Snippe ICT Lyceum 6
Actoren Swimlanes Opdracht: activiteitenschema opdracht 9 (Hoofdstuk 3) 25 minuten Huiswerk Workshop 3x Leeswerk Hoofdstuk 3: Informatie Analyse Maakwerk Maken opdracht 10 hoofdstuk 3 Inleveren opdracht 9 hoofdstuk 3 Project documentatie Analytisch vermogen Programma structuur VRAGEN Lestijden 08:30 11:00 Pauze 10:15 10:30 A. Snippe ICT Lyceum 7