230 likes | 530 Views
An Introduction to Data Modelling. Entity Relationship Modelling. Avin Mathew amathew@smsmt.com. Nov 2010. WHY do we model data?. WHAT is a data model?.
E N D
An Introduction to Data Modelling Entity Relationship Modelling • Avin Mathew • amathew@smsmt.com • Nov 2010
An album has an a creating artist, a title, recommended price, genre and album art that is displayed to a user. A user can subsequently purchase the album in various quantities and at different unit prices depending on specials on offer. A user’s purchase order will contain the date of purchase, their contact details (address, telephone and/or email) and the total price.
How do we data model? • People • Business, users, developers, DBAs • Inputs • Business & functional requirements, business processes, databases, documents, UI screens • Tools • Drawing packages (e.g. PowerPoint, Visio), data modelling packages (e.g. ERWin, System Architect)
Entity Relationship Model • Most common data modelling technique • Used in most business information system development • Tools that engineer a database from a data model
ER Process • Identify entities • Identify attributes • Identify relationships • Apply naming conventions • Assign keys • Normalise
Identify entities • An object that exists and is distinguishable from other objects • Examples: person, company, event, place • Should be a singular concept
Identify attributes • Properties of an entity
Identify relationships • An association between two entities • Cardinality and optionality • One to one • Many to many • Roles • One to many
Apply naming conventions • Examples: • Singular vs plural names for entities • Consistent names: date, summary, description, name • Reference Types all ending with Type • Standardise suffixes: Id, Key, Code, Flag
Normalise • Every non-key attribute in every table is directly dependent on the key • Results in: • Elimination of redundancies • Fewer anomalies • Most information systems are in third-normal form
Data Model Patterns • David Hay – Data model patterns: Conventions of thought • Martin Fowler – Analysis patterns: Reusable object models • Len Silverston – The data model resource book: A library of universal data models for all enterprises
An Introduction to Data Modelling Entity Relationship Modelling • Avin Mathew • amathew@smsmt.com • Nov 2010