220 likes | 338 Vues
CS27020 Modelling Persistent Data. Edel Sherratt. Persistent Data. Wikipedia definition (19 th Sept 2013) “Persistent Data denotes information that is infrequently accessed and not likely to be modified .”
E N D
CS27020 Modelling Persistent Data Edel Sherratt
Persistent Data • Wikipedia definition (19th Sept 2013) • “Persistent Data denotes information that is infrequently accessed and not likely to be modified.” • “The opposite of this is dynamic data ... Updates to dynamic data may come at any time, with periods of inactivity in between.” • But Persistent Data may be accessed very frequently indeed, and will usually be modified! “Business, numbers, money, people …” “Time, travel, communication, entertainment …” Kraftwerk , Computer World 1981
Modelling Persistent Data • What is persistent data? • Where does it come from? • How is it used? • Where does modelling come in? • How do we make useful models?
Persistent Data • is saved for later use • remains after it has been used • has an identity that remains even if its value is changed • is data that somebody wants to keep • is often stored in a database • but could be stored as a file • or on paper • or as a piece of art -http://www.bayeuxtapestry.org.uk • or as genes
Where does the data come from • Forms • Websites • Books • Packaging • Commercial documents • Counterfoils • Questionnaires • Sensors • Scientific experiments • Mobile phones • CCTV • …
Planetary Robotics • Planetary Robotics Vision Ground Processing (PRoVisG) • Aberystwyth Experimental Planetary Rover
Precise Deletion • An open reading frame (ORF) is part of a gene that forms codes for amino acids • Precise deletion removes ORFs from genes • Primers are used in this process • The bioinformatics group in Aberystwyth provides a database of primers for precise deletion at http://precise-deletion.dcs.aber.ac.uk/
Idris • 4 wheel drive, 4 wheel steering, electric vehicle • Used for visual navigation • Carries specialist sensors into difficult environments • 3-d laser scanning
Learn Welsh • iPhone App • Support Page • Backend sqlitedatabase
iCub • Humanoid robot • Cumulative learning • Reuse, compose, adapt previously learnt skills • http://www.im-clever.eu/ • Intrinsically motivated learning (YouTube) • Dancing iCub (YouTube)
Users • Businesses • Consumers • Students • Lecturers • Scientists • Administrators • Enthusiasts • Gamers ……. Everybody uses persistent data
Different enterprises … but • All obtain or createdata • there are many ways to generatedata • All store data • and many ways to represent and store the data • All retrieve data • depends on how the data is stored • All need to keep the data up to date • also depends on how the data is stored
Data analysis and modelling Get to know the enterprise Analyse how the data is obtained and used Create the appropriate model of reality Maintain the link with reality Present the data so that it provides useful information
Data Models Entity-relationship model Entity-relation-atttribute-event Hierarchical models Relational model Object-oriented model Semi-structured data models
Models covered in CS27020 Relational data model Object model Object-relational model Semi-structured data and XML NoSQL – various models
Useful Techniques UML modelling formalisms Identifying enterprise rules Normalization Query formulation
Creating and using Persistent Data • Need to ask • Where does the data come from? • Why is it kept? • How is it used? • Affects design and implementation choices • Modelling choices • Storage choices • Applications programming
Influence of source • Data volume • Rate of arrival
Why the data is kept • Human reasons for storing data • Who needs it? • Does it matter if others see it? • Does it matter if it is lost or corrupted? • How closely does it need to model reality? • Does it need to be up-to-date?
Data usage • How frequently is the data updated? • How frequently is it queried? • Are there patterns of use?
Other factors • Budget • Platform • Licensing • Level of support required
Modelling choices • Entity-relationship model • Object model • Name-value pairs • XML • ….