Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese Uitslag toets opdracht: ontwerp een datamodel Domein afbakening
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese Toets deel 1 gemiddelden per vraag
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese Toets deel 1 totaalscore frequentie
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese Toets deel 2 gemiddelden per vraag
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese Toets deel 2 totaalscore frequentie
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese Vraag 3: datatype Studentnummer: numeriek of tekst Argumentatie: welke bewerkingen voor je uit op studentnummer? RGB: drie x numeriek Rood/Geel/Blauw waarden tussen 0 en 255\ FFFFFF = hexadecimaal voor 255 Numeriek bewerkingen: FF8E64 roder dan 888E64
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese Vraag 5 : redundantie Dubbel opgeslagen gegevens: Kans op fouten Bewerkelijke updates Inefficient gebruik van ruimte ‘Normalisatie’ / 3de Normaalvorm
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese SQL queries Voldoende: Basis sql querie: SELECT.. FROM.. WHERE.. eenvoudige JOIN: SELECT.. FROM.. JOIN.. ON.. aggregatie/statitieken per groep SELECT AVG(.. ) FROM.. GROUP BY.. Goed: Meervoudige JOIN Combinatie JOIN en aggregatie functies
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese Reparatie / herkansing week 10 Theorievragen: < 16 pnt Queries: < 5 punten
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese SQL deel 2: datamodel ontwerp Datamodel Criteria Proces
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese Opdracht PRO USE collectie DataBase Maak een ontwerp voor relationele database voor jouw PRO USE collectie project. 99 items Attributen: tags, kenmerken, categorieen, beschrijvingen, links Relaties: gebruikers, reacties, andere collecties
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese Modulariteit
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese Criteria Vaardigheden: SQL, genormaliseerd ERD Jargon, terminologie, vaktermen Bronnen en gereedschappen: Overdraagbaar, begrijpelijk: documentatie Zinvolle, relevante toepassing Samenwerking, advies vragen en geven Interesse en ontwikkeling
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese Op te leveren in week 8: één document met daarin Domein afbakening Entiteiten Relatie Diagram Tabel Definities Eventueel voorbeeld Data Queries ( VIEWS )
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese gereedschap Mag je zelf kiezen OpenOffice Base ( Mac gebruiker ) MySQL + DBDesigner
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese Ontwerpmethode 1.Afbakening van het domein 1.Beschrijven van de relevante informatie 2.Beschrijven van gebruiksmogelijkheden (use cases) 2.Conceptueel model: ERD op papier ! 1.Benoemen van entiteiten, attributen en relaties 2.Entity relation diagram 3.Functionele toetsing 3.Implementatie ERD in DBDesigner/OpenOffice/? 1.Datatypen 2.Views 3.* Contraints 4.* Waarborgen integriteit ( stored procedures, triggers, etc) 5.* Optimaliseren perfomance ( indexen e.a. maatregelen ) * Niet verplicht voor een V
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese Plan van aanpak Wk 6: afbakening van het domein Huiswerk: versie 1 van het conceptueel datamodel Wk 7: criteria voor goed datamodel Huiswerk: versie 2 van het conceptueel datamodel Wk 8: oplevering implementatie en documentatie datamodel Wk 9: rooster vrij di: inleveren definitief datamodel per Wk 10: feedback feedback en herkansing toets
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese Afbakening Welke informatie zal de database bevatten? Tot op welke details? entiteiten en/of functionaliteiten ? -Welke ‘entiteiten’ behoren tot het domein? En welke niet? -Welke functies zal de database moeten kunnen vervullen? Wat moet een gebruiker kunnen doen? ( use case diagram ) -documenteer het resultaat!
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese Ontwerp methode Bottom-up Van details verzamelen Naar grote structuren vaststellen Top-down Van grote structuren ontwerpen Naar details invullen
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese methode 1 : bottom-up ontwerp 1.Beschrijf in een stukje tekst de informatie die je gaat gebruiken in je project. 2.Maak enkelvoudige korte zinnen. 3.Onderstreep zelfstandige naamwoorden. 4.Verwijder naamwoorden die niet naar permanente gegevens verwijzen 5.Selecteer de kernwoorden ( verwijder synoniemen, onbelangrijke woorden ) entiteiten 6. werkwoorden verbinden entiteiten relaties
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese Methode 2 top-down ontwerp Niet alle entiteiten zijn even belangrijk in het datamodel. Sterke entiteiten ( TOP ) 2 to 5 kern-entiteiten Worden in ieder geval in het model opgenomen, ook als andere entiteiten er niet zouden zijn. Zwakke entiteiten Beschrijven veelal relaties tussen sterke entiteiten Zijn afhankelijk van sterke entiteiten. Opzoeklijstjes
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese Opdracht: top-down ontwerp Identificeer de belangrijkste ‘sterke’ entiteiten Identificeer relaties tussen deze entiteiten Maak een eerste ‘conceptueel’ datamodel NB: - Beperk je tot 2 tot 5 entiteiten
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese Te doen 2 Maak een overzicht van de manieren waarop de database gebruikt moet gaan worden. Use case diagram.
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese Opdracht. Maak een eerste versie van een ERD voor jouw collectie database op papier Controleer Zijn alle belangrijkste entiteiten gevonden? Zijn de attributen in kaart gebracht? Zijn de relaties in kaart gebracht? Vergelijk met je use case. Is het datamodel een basis voor alle gebruuiksmogelijkheden?