datamodellering en –verwerking 8c020 college 1ste week
DESCRIPTION
Datamodellering en –verwerking 8C020 college 1ste week. docent: Dragan Bošnački Biomodellering en Bioinformatica, BMT WH 3.101 Tel. 5159 [email protected] , [email protected]. Inhoud, Motivatie. Datamodellering/Databases Waarom? Bioinformatica - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Datamodellering en –verwerking 8C020 college 1ste week](https://reader035.vdocuments.site/reader035/viewer/2022062517/568137c0550346895d9f5fae/html5/thumbnails/1.jpg)
Datamodellering en –verwerking8C020
college 1ste week
docent:
Dragan Bošnački
Biomodellering en Bioinformatica, BMT
WH 3.101
Tel. 5159
![Page 2: Datamodellering en –verwerking 8C020 college 1ste week](https://reader035.vdocuments.site/reader035/viewer/2022062517/568137c0550346895d9f5fae/html5/thumbnails/2.jpg)
Inhoud, Motivatie
• Datamodellering/Databases– Waarom?
• Bioinformatica– Veel databases gebruikt in academia en bedrijfsleven:
» GenBank, SwissProt, KEGG, Reactome, …• Alledaagse leven:
– geldautomaat, via Internet kopen en reserveren, studentenadministratie, …
• Processmodellering– Waarom?
• databewerking• Parallelle programma’s
– Keerpunt: Multi-core processoren• Biologische processen-processen in informatica• Systeembiologie
![Page 3: Datamodellering en –verwerking 8C020 college 1ste week](https://reader035.vdocuments.site/reader035/viewer/2022062517/568137c0550346895d9f5fae/html5/thumbnails/3.jpg)
Doel van het vak
• kennis en inzicht in– elementaire concepten met betrekking tot
informatiesystemen/databases – ontwikkeling van informatiesystemen/databases
• kennis van moderne methoden voor het specificeren en ontwerpen van databases – datamodelleren– procesmodelleren
• ervaring met het modelleren van informatiesystemen en de manipulatie van gegevens met behulp van een querytaal
• ervaring met het ontwikkelen van een relationele database met Microsoft Access
• Modelleren van- en redeneren over biologische processen
![Page 4: Datamodellering en –verwerking 8C020 college 1ste week](https://reader035.vdocuments.site/reader035/viewer/2022062517/568137c0550346895d9f5fae/html5/thumbnails/4.jpg)
Onderwerpen college
• Informatiesystemen, Databases
• Datamodelleren, Entiteit-relatie model
• Database modelleren, Relationeel model
• Querytalen, SQL
• Database implementeren, Microsoft Access
• Procesmodelleren,
– formele modelen, Petri netten, verificatie
– Analogie biologische – computationele/berekenings processen
• http://www.win.tue.nl/~dragan/8C020
• http://www.win.tue.nl/~dragan/8C020/8C020-2006.html
(vorig jaar)
![Page 5: Datamodellering en –verwerking 8C020 college 1ste week](https://reader035.vdocuments.site/reader035/viewer/2022062517/568137c0550346895d9f5fae/html5/thumbnails/5.jpg)
Literatuur
• Collegedictaat– Datamodellering en –verwerking 8C020
G.J. Houben en N. H. L. Kuijpers
• Boek– Database Systems Concepts
A. Silberschatz, H.F. Korth, S. Sudarshan
McGrow-Hill, 2002
![Page 6: Datamodellering en –verwerking 8C020 college 1ste week](https://reader035.vdocuments.site/reader035/viewer/2022062517/568137c0550346895d9f5fae/html5/thumbnails/6.jpg)
Data, Cijfers, Mededelingen
• Afronding: – opdracht deel A – opdracht deel B– schriftelijk tentamen
• Cijfer:– 50% tentamen– 50% opdracht– Allebei voldoende
![Page 7: Datamodellering en –verwerking 8C020 college 1ste week](https://reader035.vdocuments.site/reader035/viewer/2022062517/568137c0550346895d9f5fae/html5/thumbnails/7.jpg)
![Page 8: Datamodellering en –verwerking 8C020 college 1ste week](https://reader035.vdocuments.site/reader035/viewer/2022062517/568137c0550346895d9f5fae/html5/thumbnails/8.jpg)
Voorbeeld Datamodelleren
• We willen records/rijen over genen met records/rijen over clusters koppelen
• Elk cluster kan met één of meer genen gekoppeld worden
• Elk gen is gekoppeld met hoogstens één cluster
• De koppeling is geimplementeerd door introductie van nieuwe velden in de rijen (nieuwe kolommen in de tabel)
• Vraag: Waar willen we nieuwe kolomen introduceren – in de gentabel of in de clustertabel?
• Antwoord: in de gentabel– Efficienter oplossing
• we weten het aantal kolomen van te voren• Slechts een extra kolom
![Page 9: Datamodellering en –verwerking 8C020 college 1ste week](https://reader035.vdocuments.site/reader035/viewer/2022062517/568137c0550346895d9f5fae/html5/thumbnails/9.jpg)
Voorbeeld Procesmodelleren
Prog/Proc A:
Print A1;
Print A2
Prog/Proc B:
Print B1;
Print B2
Outcomes:
A1;A2;B1;B2
A1;B1;B2;A2
![Page 10: Datamodellering en –verwerking 8C020 college 1ste week](https://reader035.vdocuments.site/reader035/viewer/2022062517/568137c0550346895d9f5fae/html5/thumbnails/10.jpg)
Voorbeeld Procesmodelleren
Proc A: Proc B:
X=1; Y = 0
Y=4 ;
X = X+Y
We want X == 5 after Proc A has ended
Solution:
Proc A: Proc B:
Block(Y);
X=1; Y = 0
Y=4 ;
X = X+Y;
Release(Y)
![Page 11: Datamodellering en –verwerking 8C020 college 1ste week](https://reader035.vdocuments.site/reader035/viewer/2022062517/568137c0550346895d9f5fae/html5/thumbnails/11.jpg)
Voorbeeld Procesemodelleren
Proc A: Proc B:
X= … ; Y=… ;
Y=… ; X=… ;
Proc A: Proc B:
Block X; Block Y;
Block Y; Block X;
X= … ; Y=… ;
Y=… ; X=… ;
Release Y; Release X;
Release X Release Y
![Page 12: Datamodellering en –verwerking 8C020 college 1ste week](https://reader035.vdocuments.site/reader035/viewer/2022062517/568137c0550346895d9f5fae/html5/thumbnails/12.jpg)
Voorbeeld procesmodeleren
Proc A: Proc B:
Block X; Block Y;
Block Y; Block X;
X= … ; Y=… ;
Y=… ; X=… ;
Release Y; Release X;
Release X Release Y
Trouble – besides the “normal” execution
A: Block X; A: Block Y; A: Release Y; A: Release X; B: …
there is also a blocking one
A: Block X; B: Block Y; Deadlock!
![Page 13: Datamodellering en –verwerking 8C020 college 1ste week](https://reader035.vdocuments.site/reader035/viewer/2022062517/568137c0550346895d9f5fae/html5/thumbnails/13.jpg)
Informatiesystemen
• van gegevens naar informatie
• Informatiesysteem– Een systeem voor opslaan en processeren van informatie
Algoritmen + Datastructuren = Programmeren
Processen + Informatie (Data) = Information System ?
• Belangrijk in alledagse leven
Voorbeelden:– WWW – a gigantisch (gedistribueerd) informatiesystem– ATM machinens– Mobile phone– studyweb
![Page 14: Datamodellering en –verwerking 8C020 college 1ste week](https://reader035.vdocuments.site/reader035/viewer/2022062517/568137c0550346895d9f5fae/html5/thumbnails/14.jpg)
Databases
• Database – centraal concept (onderdeel) van een informatie systeem– Georganiseerde gerelateerde informatie
• DataBase Management System (DBMS)
Bieden aan de gebruikers een efficiente manier voor processeren van informatie
![Page 15: Datamodellering en –verwerking 8C020 college 1ste week](https://reader035.vdocuments.site/reader035/viewer/2022062517/568137c0550346895d9f5fae/html5/thumbnails/15.jpg)
Conceptueel model
• het maken van een conceptueel model - één van de belangrijkste stappen in de ontwikkeling van een informatiesysteem
• conceptueel model – een abstracte beschrijving van de functionaliteit
• een conceptueel model bevat twee aspecten– statische eigenschappen: data– dynamische eigenschappen: processen
![Page 16: Datamodellering en –verwerking 8C020 college 1ste week](https://reader035.vdocuments.site/reader035/viewer/2022062517/568137c0550346895d9f5fae/html5/thumbnails/16.jpg)
Benadering
• de data en het proces zijn allebei belangrijk:– samen geven zij een integrale beschrijving
• het ontwerp van een volledig conceptueel model is niet eenvoudig– het ontwikkelen van het model gebeurt stap voor stap
• twee mogelijke benaderingen– datagericht: eerst de data, dan het proces – procesgericht: eerst het proces, dan de data
![Page 17: Datamodellering en –verwerking 8C020 college 1ste week](https://reader035.vdocuments.site/reader035/viewer/2022062517/568137c0550346895d9f5fae/html5/thumbnails/17.jpg)
Datamodelleren
• de datagerichte benadering stelt de data centraal:– het proces wordt beschreven in termen van de data
• datamodelleren (gegevensmodelleren) – het beschrijven van welke gegevens relevant zijn– hoe die gegevens met elkaar in verband staan
• in het ontwikkelingstraject van een informatiesysteem is datamodelleren het maken van een conceptueel model waarbij de ontwerper zich concentreert op de data
![Page 18: Datamodellering en –verwerking 8C020 college 1ste week](https://reader035.vdocuments.site/reader035/viewer/2022062517/568137c0550346895d9f5fae/html5/thumbnails/18.jpg)
Entity Relationship Model
• Entity-Relationship Model (ER Model, ERM) [Chen, 1976]– één van de meest gebruikte technieken
• ERM gebruikt twee concepten:– entiteit: object uit de relevante belevingswereld– relatie: verband tussen entiteiten
• ERM Communicatiemiddel tussen ontwerpers en gebruikers:– eenvoudig te gebruiken– veel CASE-tools beschikbaar voor ondersteuning
– de modelleerconcepten blijken intuïtief
![Page 19: Datamodellering en –verwerking 8C020 college 1ste week](https://reader035.vdocuments.site/reader035/viewer/2022062517/568137c0550346895d9f5fae/html5/thumbnails/19.jpg)
ER-Diagram
• conceptueel model voor een specifieke situatie– bestaat formeel uit een ER-model en een ER-diagram
• ER-model – een gedetailleerde, logische representatie van gegevens
• ER-diagram – grafische representatie van een ER-model
• vaak gebruikt men een ER-diagram en drukt daarmee eenvoudige belangrijkste onderdelen van een ER-model uit
![Page 20: Datamodellering en –verwerking 8C020 college 1ste week](https://reader035.vdocuments.site/reader035/viewer/2022062517/568137c0550346895d9f5fae/html5/thumbnails/20.jpg)
Entiteit
• entiteit - een relevant begrip uit het objectsysteem– een concept in de gebruiksomgeving waarover we gegevens
willen bijhouden
(persoon)
werknemer, student, patiënt
(plaats)
woonplaats, stad, land
(object)
machine, gebouw, auto
(gebeurtenis)
verkoop, registratie, verlenging
(concept)
rekening, cursus, afdeling
![Page 21: Datamodellering en –verwerking 8C020 college 1ste week](https://reader035.vdocuments.site/reader035/viewer/2022062517/568137c0550346895d9f5fae/html5/thumbnails/21.jpg)
Entiteit-type
• een entiteit-type (entiteit-klasse) – een collectie van entiteiten met gemeenschappelijke
eigenschappen
• representatie van entiteit-types in ER-diagram:
WERKNEMER CURSUS REKENING
![Page 22: Datamodellering en –verwerking 8C020 college 1ste week](https://reader035.vdocuments.site/reader035/viewer/2022062517/568137c0550346895d9f5fae/html5/thumbnails/22.jpg)
Entiteit-instantie
• een entiteit-instantie (van een entiteit-type) – (het bestaan van) een enkel element van het entiteit-type
• een entiteit-type geeft een generieke beschrijving van hoe de specifieke entiteit-instanties van het entiteit-type er uit kunnen zien
• relevante eigenschappen van entiteit-type PERSONEELSLID :– PERSONEELSNUMMER– NAAM– ADRES– WOONPLAATS– JAAR-IN-DIENST– GEBOORTEDATUM
![Page 23: Datamodellering en –verwerking 8C020 college 1ste week](https://reader035.vdocuments.site/reader035/viewer/2022062517/568137c0550346895d9f5fae/html5/thumbnails/23.jpg)
Entiteit-instantie (2)
twee instanties van PERSONEELSLID
324-6678-3 324-9853-1
Anna Baanders Carla Derks
Markt 3 Groenplein 2
Eindhoven Eindhoven
1987 1993
25-9-70 4-2-65
![Page 24: Datamodellering en –verwerking 8C020 college 1ste week](https://reader035.vdocuments.site/reader035/viewer/2022062517/568137c0550346895d9f5fae/html5/thumbnails/24.jpg)
Atribuut-type
• een attribuut(-type) (van een entiteit-type) – beschrijft een karakteristieke eigenschap van een entiteit-
instantie van dat entiteit-type die van belang is binnen het objectsysteem
attribuut-typen van het entiteit-type STUDENT:
STUDENTNUMMER, NAAM, ADRES,
TELEFOONNUMMER
attribuut-typen van het entiteit-type AUTO:
VOERTUIGIDENTIFICATIE, KLEUR, GEWICHT, VERMOGEN
attribuut-typen van het entiteit-type WERKNEMER:
WERKNEMERSNUMMER, NAAM, ADRES,
VAARDIGHEDEN
![Page 25: Datamodellering en –verwerking 8C020 college 1ste week](https://reader035.vdocuments.site/reader035/viewer/2022062517/568137c0550346895d9f5fae/html5/thumbnails/25.jpg)
Entiteit-type met atribuut-typen
STUDENT
NAAM STUDENTNUMMER ADRES TELEFOONNUMMER
![Page 26: Datamodellering en –verwerking 8C020 college 1ste week](https://reader035.vdocuments.site/reader035/viewer/2022062517/568137c0550346895d9f5fae/html5/thumbnails/26.jpg)
Kandidaat-sleutel
• een kandidaat-sleutel (van een entiteit-type)– attribuut-type (of verzameling van attribuut-typen) dat elke
instantie van het type uniek identificeert en onderscheidt van de andere instanties van dat type
STUDENT:
STUDENTNUMMER
AUTO:
VOERTUIGIDENTIFICATIE
WEDSTRIJD:
combinatie van THUIS-TEAM en UIT-TEAM
WERKNEMER:
combinatie van NAAM en ADRES, of WERKNEMERSNUMMER
![Page 27: Datamodellering en –verwerking 8C020 college 1ste week](https://reader035.vdocuments.site/reader035/viewer/2022062517/568137c0550346895d9f5fae/html5/thumbnails/27.jpg)
Primaire-sleutel
STUDENT
NAAM STUDENTNUMMER ADRES TELEFOONNUMMER
•primaire sleutel (van een entiteit-type) -
–één van de kandidaat-sleutels van dat type: het is de kandidaat-sleutel waarvan is bepaald dat die de entiteit-instanties uniek identificeert
![Page 28: Datamodellering en –verwerking 8C020 college 1ste week](https://reader035.vdocuments.site/reader035/viewer/2022062517/568137c0550346895d9f5fae/html5/thumbnails/28.jpg)
Primaire sleutel (2)
• richtlijnen voor primaire sleutels:– kies sleutels met waarden die niet veranderlijk zijn in de tijd– kies geen sleutels met (ook) waarden als onbekend of niet
van toepassing– kies in plaats van grote samengestelde sleutels één
kunstmatig attribuut-type: surrogaat-sleutel
![Page 29: Datamodellering en –verwerking 8C020 college 1ste week](https://reader035.vdocuments.site/reader035/viewer/2022062517/568137c0550346895d9f5fae/html5/thumbnails/29.jpg)
Meervwaardig atribuut-type
WERKNEMER
NAAM WERKNEMERS- NUMMER
ADRES VAARDIGHEDEN
•een meerwaardig attribuut-type -•een attribuut-type dat meer dan één waarde kan hebben voor elke entiteit-instantie
![Page 30: Datamodellering en –verwerking 8C020 college 1ste week](https://reader035.vdocuments.site/reader035/viewer/2022062517/568137c0550346895d9f5fae/html5/thumbnails/30.jpg)
Relatie-type
WERKNEMER CURSUS Volbrengt
•een relatie-type •een verband tussen entiteit-instanties van één of meer entiteit-typen dat van belang is binnen het objectsysteem
![Page 31: Datamodellering en –verwerking 8C020 college 1ste week](https://reader035.vdocuments.site/reader035/viewer/2022062517/568137c0550346895d9f5fae/html5/thumbnails/31.jpg)
Voorbeeld
WERKNEMER CURSUSVolbrengt
Werknemer1
Werknemer2
Werknemer3
Werknemer4
Cursus1
Cursus2
Cursus3
![Page 32: Datamodellering en –verwerking 8C020 college 1ste week](https://reader035.vdocuments.site/reader035/viewer/2022062517/568137c0550346895d9f5fae/html5/thumbnails/32.jpg)
Atribuut-type van relatie
WERKNEMER CURSUSVolbrengt
DATUM-AFRONDING
ook een relatie-type kan attribuut-typen (eigenschappen) hebben
![Page 33: Datamodellering en –verwerking 8C020 college 1ste week](https://reader035.vdocuments.site/reader035/viewer/2022062517/568137c0550346895d9f5fae/html5/thumbnails/33.jpg)
Graad van relatie-type
• de graad van een relatie-type duidt het aantal aan van de verschillende entiteit-typen betrokken in de relatie
– (1) unair– (2) binair– (3) ternair– zelden hoger dan 3
![Page 34: Datamodellering en –verwerking 8C020 college 1ste week](https://reader035.vdocuments.site/reader035/viewer/2022062517/568137c0550346895d9f5fae/html5/thumbnails/34.jpg)
Unair relatie-type
PERSOON
Is-
getrouwd-met
WERKNEMER
Geeft-
leiding-aan
![Page 35: Datamodellering en –verwerking 8C020 college 1ste week](https://reader035.vdocuments.site/reader035/viewer/2022062517/568137c0550346895d9f5fae/html5/thumbnails/35.jpg)
Unair relatie-type
PRODUKT Bestaat-uit
HOEVEELHEID
A
X V Y
U V
A
Y X
U V
Z
V W
(1) (2) (1) (1) (1)
(1)
(2)
(2) (2) (2) (3) (3)
![Page 36: Datamodellering en –verwerking 8C020 college 1ste week](https://reader035.vdocuments.site/reader035/viewer/2022062517/568137c0550346895d9f5fae/html5/thumbnails/36.jpg)
Binair relatie-type
WERKNEMER PARKEERPLAATSHeeft
PRODUKTGROEP PRODUKTBevat
STUDENT CURSUSNeemt-deel-aan
![Page 37: Datamodellering en –verwerking 8C020 college 1ste week](https://reader035.vdocuments.site/reader035/viewer/2022062517/568137c0550346895d9f5fae/html5/thumbnails/37.jpg)
Ternair relatie-type
LEVERANCIER KLANTLevert
HOEVEELHEID
PRODUKT
![Page 38: Datamodellering en –verwerking 8C020 college 1ste week](https://reader035.vdocuments.site/reader035/viewer/2022062517/568137c0550346895d9f5fae/html5/thumbnails/38.jpg)
Cardinaliteit
SPEELFILM EXEMPLAARIs-
voorradig-als
•cardinaliteit van een relatie-type•het aantal entiteit-instanties van een entiteit-type die geassocieerd kunnen zijn met elke entiteit-instantie van een ander entiteit-type
voorbeeld van “veel”
![Page 39: Datamodellering en –verwerking 8C020 college 1ste week](https://reader035.vdocuments.site/reader035/viewer/2022062517/568137c0550346895d9f5fae/html5/thumbnails/39.jpg)
Minimum/maximum/vrij/verplicht
SPEELFILM EXEMPLAARIs-
voorradig-als
PATIENT OPNAMEDOSSIERHeeft
WERKNEMER PROJECTWerkt-in
PERSOON
Is-getrouwd-
met