Title: Datamodellering en
1Datamodellering en verwerking8C020 college
1ste week
- docent
- Dragan Bošnacki
- Biomodellering en Bioinformatica, BMT
- WH 3.101
- Tel. 5159
- Dragan_at_win.tue.nl ,
- D.Bosnacki_at_tue.nl
2Inhoud, 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 programmas
- Keerpunt Multi-core processoren
- Biologische processen-processen in informatica
- Systeembiologie
3Doel 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
4Onderwerpen 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.htm
l - (vorig jaar)
5Literatuur
- 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
6Data, Cijfers, Mededelingen
- Afronding
- opdracht deel A
- opdracht deel B
- schriftelijk tentamen
- Cijfer
- 50 tentamen
- 50 opdracht
- Allebei voldoende
7(No Transcript)
8Voorbeeld 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
9Voorbeeld Procesmodelleren
- Prog/Proc A
- Print A1
- Print A2
- Prog/Proc B
- Print B1
- Print B2
Outcomes A1A2B1B2 A1B1B2A2
10Voorbeeld Procesmodelleren
- Proc A Proc B
- X1 Y 0
- Y4
- X XY
We want X 5 after Proc A has ended
Solution Proc A Proc
B Block(Y) X1 Y 0 Y4
X XY Release(Y)
11Voorbeeld Procesemodelleren
Proc A Proc B Block X
Block Y Block Y Block X X
Y Y X
Release Y Release
X Release X Release Y
12Voorbeeld 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!
13Informatiesystemen
- 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
14Databases
- 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
15Conceptueel 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
16Benadering
- 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
17Datamodelleren
- 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
18Entity 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
19ER-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
20Entiteit
- 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
21Entiteit-type
- een entiteit-type (entiteit-klasse)
- een collectie van entiteiten met
gemeenschappelijke eigenschappen - Â
- representatie van entiteit-types in ER-diagram
- Â
22Entiteit-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
23Entiteit-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
24Atribuut-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
25Entiteit-type met atribuut-typen
26Kandidaat-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
27Primaire-sleutel
- 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
28Primaire 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
29Meervwaardig atribuut-type
- een meerwaardig attribuut-type -
- een attribuut-type dat meer dan één waarde kan
hebben voor elke entiteit-instantie
30Relatie-type
- een relatie-type
- een verband tussen entiteit-instanties van één of
meer entiteit-typen dat van belang is binnen het
objectsysteem - Â
31Voorbeeld
32Atribuut-type van relatie
ook een relatie-type kan attribuut-typen
(eigenschappen) hebben
33Graad 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
34Unair relatie-type
35Unair relatie-type
36Binair relatie-type
37Ternair relatie-type
38Cardinaliteit
- 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
39Minimum/maximum/vrij/verplicht