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 Familie Banden DataBase Entiteiten Attributen Relaties
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 Maar het handigst is MySQL + dbWrench
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 dbWrench 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: rooster vrij thuiswerken Wk 9: oplevering 1 implementatie en documentatie datamodel Wk 10: oplevering definitief implementatie en documentatie datamodel
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 gebruiksmogelijkheden?