390 likes | 547 Views
Datamodellering en –verwerking 8C020 college 1ste 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
E N D
Datamodellering en –verwerking8C020 college 1ste 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 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
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 • 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)
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
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 • 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 A1; • Print A2 • Prog/Proc B: • Print B1; • Print B2 Outcomes: A1;A2;B1;B2 A1;B1;B2;A2
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=… ; • 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
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!
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 informatie • DataBase 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 stappenin de ontwikkeling van een informatiesysteem • conceptueel model – eenabstracte beschrijving van de functionaliteit • een conceptueel model bevat twee aspecten • statischeeigenschappen: data • dynamische eigenschappen: processen
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 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 modelwaarbij de ontwerper zich concentreert op de data
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 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 de gebruiksomgevingwaarover 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) • eencollectie 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 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-typePERSONEELSLID : • PERSONEELSNUMMER • NAAM • ADRES • WOONPLAATS • JAAR-IN-DIENST • GEBOORTEDATUM
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
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
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:het is de kandidaat-sleutel waarvan is bepaald datdie de entiteit-instanties uniek identificeert
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 kan hebben voor elke entiteit-instantie
Relatie-type • een relatie-type • een verband tussen entiteit-instanties van één of meer entiteit-typendat van belang is binnen het objectsysteem
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 vande verschillende entiteit-typen betrokken in de relatie • (1) unair • (2) binair • (3) ternair • zelden hoger dan 3
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”