Datamodellering en verwerking 8 C 020 college 1

  • Slides: 39
Download presentation
Datamodellering en –verwerking 8 C 020 college 1 ste week docent: Dragan Bošnački Biomodellering

Datamodellering en –verwerking 8 C 020 college 1 ste week docent: Dragan Bošnački Biomodellering en Bioinformatica, BMT WH 3. 101 Tel. 5159 Dragan@win. tue. nl , D. Bosnacki@tue. nl

Inhoud, Motivatie • Datamodellering/Databases – Waarom? • Bioinformatica – Veel databases gebruikt in academia

Inhoud, Motivatie • Datamodellering/Databases – Waarom? • Bioinformatica – Veel databases gebruikt in academia en bedrijfsleven: » Gen. Bank, Swiss. Prot, 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

Doel van het vak • kennis en inzicht in – elementaire concepten met betrekking

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

Onderwerpen college • Informatiesystemen, Databases • Datamodelleren, Entiteit-relatie model • Database modelleren, Relationeel model

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/8 C 020/8 C 020 -2006. html (vorig jaar)

Literatuur • Collegedictaat – Datamodellering en –verwerking 8 C 020 G. J. Houben en

Literatuur • Collegedictaat – Datamodellering en –verwerking 8 C 020 G. J. Houben en N. H. L. Kuijpers • Boek – Database Systems Concepts A. Silberschatz, H. F. Korth, S. Sudarshan Mc. Grow-Hill, 2002

Data, Cijfers, Mededelingen • Afronding: – opdracht deel A – opdracht deel B –

Data, Cijfers, Mededelingen • Afronding: – opdracht deel A – opdracht deel B – schriftelijk tentamen • Cijfer: – 50% tentamen – 50% opdracht – Allebei voldoende

Voorbeeld Datamodelleren • We willen records/rijen over genen met records/rijen over clusters koppelen •

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

Voorbeeld Procesmodelleren Prog/Proc A: Print A 1; Print A 2 Prog/Proc B: Print B

Voorbeeld Procesmodelleren Prog/Proc A: Print A 1; Print A 2 Prog/Proc B: Print B 1; Print B 2 Outcomes: A 1; A 2; B 1; B 2 A 1; B 2; A 2

Voorbeeld Procesmodelleren Proc A: Proc B: X=1; Y = 0 Y=4 ; X =

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)

Voorbeeld Procesemodelleren Proc A: Proc B: X= … ; Y=… ; X=… ; Proc

Voorbeeld Procesemodelleren Proc A: Proc B: X= … ; Y=… ; X=… ; Proc A: Proc B: Block X; Block Y; Block X; X= … ; Y=… ; X=… ; Release Y; Release X; Release X Release Y

Voorbeeld procesmodeleren Proc A: Proc B: Block X; Block Y; Block X; X= …

Voorbeeld procesmodeleren Proc A: Proc B: Block X; Block Y; Block X; X= … ; Y=… ; X=… ; Release Y; Release X; Release X Release Y Trouble – besides the “normal” execution A: Block X; A: Block Y; A: Release X; B: … there is also a blocking one A: Block X; B: Block Y; Deadlock!

Informatiesystemen • van gegevens naar informatie • Informatiesysteem – Een systeem voor opslaan en

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

Databases • Database – centraal concept (onderdeel) van een informatie systeem – Georganiseerde gerelateerde

Databases • Database – centraal concept (onderdeel) van een informatie systeem – Georganiseerde gerelateerde informatie • Data. Base Management System (DBMS) Bieden aan de gebruikers een efficiente manier voor processeren van informatie

Conceptueel model • het maken van een conceptueel model - één van de belangrijkste

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

Benadering • de data en het proces zijn allebei belangrijk: – samen geven zij

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

Datamodelleren • de datagerichte benadering stelt de data centraal: – het proces wordt beschreven

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

Entity Relationship Model • Entity-Relationship Model (ER Model, ERM) [Chen, 1976] – één van

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

ER-Diagram • conceptueel model voor een specifieke situatie – bestaat formeel uit een ER-model

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

Entiteit • entiteit - een relevant begrip uit het objectsysteem – een concept in

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

Entiteit-type • een entiteit-type (entiteit-klasse) – een collectie van entiteiten met gemeenschappelijke eigenschappen •

Entiteit-type • een entiteit-type (entiteit-klasse) – een collectie van entiteiten met gemeenschappelijke eigenschappen • representatie van entiteit-types in ER-diagram:

Entiteit-instantie • een entiteit-instantie (van een entiteit-type) – (het bestaan van) een enkel element

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

Entiteit-instantie (2) twee instanties van PERSONEELSLID 324 -6678 -3 324 -9853 -1 Anna Baanders

Entiteit-instantie (2) twee instanties van PERSONEELSLID 324 -6678 -3 324 -9853 -1 Anna Baanders Carla Derks Markt 3 Groenplein 2 Eindhoven 1987 1993 25 -9 -70 4 -2 -65

Atribuut-type • een attribuut(-type) (van een entiteit-type) – beschrijft een karakteristieke eigenschap van een

Atribuut-type • een attribuut(-type) (van een entiteit-type) – beschrijft een karakteristieke eigenschap van een entiteitinstantie 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

Entiteit-type met atribuut-typen

Entiteit-type met atribuut-typen

Kandidaat-sleutel • een kandidaat-sleutel (van een entiteit-type) – attribuut-type (of verzameling van attribuut-typen) dat

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

Primaire-sleutel • primaire sleutel (van een entiteit-type) –één van de kandidaat-sleutels van dat type:

Primaire-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

Primaire sleutel (2) • richtlijnen voor primaire sleutels: – kies sleutels met waarden die

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

Meervwaardig atribuut-type • een meerwaardig attribuut-type • een attribuut-type dat meer dan één waarde

Meervwaardig atribuut-type • een meerwaardig attribuut-type • een attribuut-type dat meer dan één waarde kan hebben voor elke entiteit-instantie

Relatie-type • een relatie-type • een verband tussen entiteit-instanties van één of meer entiteit

Relatie-type • een relatie-type • een verband tussen entiteit-instanties van één of meer entiteit -typen dat van belang is binnen het objectsysteem

Voorbeeld

Voorbeeld

Atribuut-type van relatie ook een relatie-type kan attribuut-typen (eigenschappen) hebben

Atribuut-type van relatie ook een relatie-type kan attribuut-typen (eigenschappen) hebben

Graad van relatie-type • de graad van een relatie-type duidt het aantal aan van

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

Unair relatie-type

Unair relatie-type

Unair relatie-type

Unair relatie-type

Binair relatie-type

Binair relatie-type

Ternair relatie-type

Ternair relatie-type

Cardinaliteit • cardinaliteit van een relatie-type • het aantal entiteit-instanties van een entiteit-type die

Cardinaliteit • 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”

Minimum/maximum/vrij/verplicht

Minimum/maximum/vrij/verplicht