ANALYSE 3 INFANL01-3 WEEK CMI Informatica
ANALYSE 3- INFANL01-3 ▸ Inleiding ▸ RDBMS kenmerken ▸ Database design notaties ▸ Database design methoden ▸ ERD (Entiteit, Attributen, Relaties)
INTRODUCTIE
Introductie OP3 = ANL01-3, DEV01-3, Project 3 ANL01-3 = Theorie + Practicum Modulewijzer: Natschool Beoordeling = Schriftelijk tentamen (min 5,5 ) Voldoende afgetekende practicum opdrachten
Wat gaan we doen bij Analyse 3? ▸ ontwerpen van een logische structuur van een database ▸ verschillende ontwerp notaties leren: ERD (entiteit-relatiemodel) ▸ structuur implementeren met SQL ▸ concepten van een relationele database begrijpen ▸ SQL begrijpen en kunnen hanteren ▸ relationele database kunnen ontwerpen ▸ relationele database kunnen implementeren
GEGEVENS MODELLEREN
Oefening 1 kaartjes Sliedrecht Achim – Duitsland Mevrouw - plastic bakjes Hoeveel in Rotterdam Welke Financiële mensen? Hoeveel sales?
Gegevens modelleren – informatie analyse Woordenboek: in·for·ma·tie (de ~ (v.)) kennis die iem. bereikt => info, kondschap verstrekking van kennis of inzicht Een voor de ontvanger relevante boodschap da·ta (de ~ (m)) Feiten die verzameld worden om antwoord te kunnen geven op vragen die gesteld worden. Synoniem: gegevens. Data vormen dus de basis voor informatie. ana·ly·se (de ~ (v.), ~n/~s) de ontleding in bestanddelen ter nadere beschouwing
Data en informatie
Het ontwikkelprocess van applicaties en databases
Oefening 2 kaartjes Onderzoek welke velden je nodig hebt om de informatie van alle kaartjes te kunnen bevatten.
Welke soort data zijn interessant om te verzamelen voor deze twee sectoren? Welke rapporten kun je uit deze data genereren? Film Ziekenhuizen/Verzekeringen Opdracht
Data modeling en databases Vraag: wat houdt data modeling in?
Data modeling en databases 1.Conceptioneel model: beschrijft WAT het systeem inhoudt 2.Logisch model: beschrijft HOE het systeem onafhankelijk van een DBMS geïmplementeerd wordt. 3.Fysieke model: beschrijft HOE het systeem geïmplementeerd wordt op basis van een specifieke DBMS zoals MySQL, Oracle enz.
Waarom heb je data modellen nodig? Het is een hulpmiddel om uitzondering en inconsistentie in de database te voorkomen Doel: je wilt tabellen aanmaken in je database waar geen redundante waarden opgeslagen worden.
Geschiedenis van databases Voor de tijd van computers 1870 “Dewey Decimal Classification”
Geschiedenes van databases Na de ontwikkeling van computers
Belangrijke ontwikkelingen op het gebied van databases In 1970 heeft Edgar (Ted) Codd het relationele model voor database systemen bedacht (normalisatie) In 1976 heeft Peter Chen het ER model geintroduceerd Waarom?
Eigenschappen van RDBMS Atomicity Consistency Isolation Durability Genaamd ACID
Data modeling en notaties Er worden verschillende data modeling notaties gebruikt: Information engineering Barker notation IDEF1X UML Extended backus-naur forms En nog andere De verschillen zitten in de dekkingsgraad(nuancen) en gebruikte symbolen
Voorbeeld van verschillende notaties Tijdens de lessen worden verschillende notaties gebruikt
Data en Tabellen rij (record, tuple, occurence) kolom (attribuut, veld) tabel (relatie) tabelstructuur : patient(PAT#,PNAAM,LEEFTIJD,GESLACHT,ARTS) domein (‘M’,’V’) waarde=’V ’
Oefening -Uit welke context komen deze data? -Hoe kun je deze data gebruiken? -Trek twee conclusies uit deze data?
Methodieken for database ontwerp Top-down: Je begint met het analyseren van processen en maakt een high level ontwerp. Vervolgens wordt je ontwerp aangevuld met meer details. Kennis van processen is nodig Handig als mensen betrokken zijn die geen kennis van databases hebben bij analyse Bottom-up: Je analyseert bestaand systeem en maakt een gedateerde ontwerp van de gegevens. Handig voor het migreren of aanpassen van bestaande systemen
Methodieken for database ontwerp
ENTITEIT RELATIE DIAGRAM (ERD)
Entiteit Relatie Diagram Elementen Entiteiten Attributen Sleutels (Identifiers) Relaties
Entiteitsklassen - Entiteitsinstantie
enkelvoudig - samengesteld enkelwaardig - meerwaardig meerwaardige attributen aparte entiteit Entiteit Relatie Diagram - Attributen
Attributen in ERD’s (1)
Attributen in ERD’s (2)
Het relationele model Een relatie is een 2 dimensionale tabel een rij bevat gegevens over een bepaalde grootheid een kolom bevat gegevens over een attribuut.
Het relationele model
Entiteiten waarvan het bestaan afhankelijk is van een andere entiteit (lifetime dependency) Relaties zwakke entiteiten
Voorbeeld ERD
Het relationele model Voorwaarden voor een relatie: elke cel van de tabel is enkelwaardig alle waarden in een kolom van het zelfde soort elke kolom heeft een unieke naam en volgorde van kolommen niet van belang elke rij is uniek
Oefening 3 kaartjes Maak een eerste ontwerp voor een model waarin je alle informatie van de kaartjes kunt vastleggen. Gebruik de regels van de vorige slides.