View
218
Download
0
Tags:
Embed Size (px)
Citation preview
www.sims.monash.edu.au
Information description – data dictionaryIntroduction to data modelling
IMS9300 IS/IM FUNDAMENTALS
www.sims.monash.edu.au/subjects/ims93002
Data Modelling
• Focus on the information aspects of the organisation
• In a business environment many tasks share the same data
• The database/ data warehouse is a common asset and corporate resource
www.sims.monash.edu.au/subjects/ims93003
Conceptual Data Modelling
• A conceptual data model is a representation of organisational data
• Captures the structure, meaning and interrelationships amongst the data
• Independent of any data storage and access method, DBMS, platform issues
• Occurs in parallel with other systems analysis activities
www.sims.monash.edu.au/subjects/ims93004
• Identification of information requirements• Allows integration of data across the
organisation and across applications• Helps eliminate problems of data
inconsistency and duplication across the organisation
Conceptual Data Modelling
www.sims.monash.edu.au/subjects/ims93005
• Techniques;– Entity Relationship (ER) modelling
– Data dictionary
• Good modelling techniques are supported by rigorous standards and conventions to remove ambiguity and aid understanding
Conceptual Data Modelling
www.sims.monash.edu.au/subjects/ims93006
• the data dictionary is a database or repository of information about objects identified during systems development
• every object (and each of its components) must have a definition in the data dictionary
• the data dictionary is a major source of documentation about the information system
• the data dictionary must contain precise definitions of all components of all data flow diagrams
Data Dictionary
www.sims.monash.edu.au/subjects/ims93007
Data Dictionary -data element entry
•ACADEMIC CONSULTANCY
DATA ELEMENT: Product code
•Alias: Inventory number, product number•Description: Number to identify and differentiate each product held in warehouse•Values: Must be a positive integer•Range: 00001 to 99999
AUTHOR: David Ross
DATE: 14 Oct 2002
www.sims.monash.edu.au/subjects/ims93008
Data Dictionary -data flow entry
•ACADEMIC CONSULTANCY
DATA FLOW: Sales order
•Alias: Customer order•Description: Request for product from customer•Composition: sales order =sales order no. +
sales order date +
customer number +
[account customer
cash customer] +
customer name +
customer address +
(customer telephone no) +
{item no + item desc + item price + item qty} +
sales order total amount
AUTHOR: David Ross
DATE: 03 July 2002
www.sims.monash.edu.au/subjects/ims93009
Data Dictionary -data store entry
•ACADEMIC CONSULTANCY
DATA STORE: Sales
•Description: Store of all pertinent data about product sales made to customers•Composition: sales = date+
({product}
product quantity)+
sales total
{customer}
AUTHOR: David Ross
DATE: 10 Oct 2002
www.sims.monash.edu.au/subjects/ims930010
Data Dictionary Entries
• a data dictionary entry must be included for each – data flow
– data store
– higher level process
– primitive process
– external agent
www.sims.monash.edu.au/subjects/ims930011
Detailed Data Modelling
• To expand the conceptual data model, we need to identify and describe the details of the entities and relationships
• Attributes (data elements) of entities and relationships are identified
• The attributes should be independent of implementation technology
• Each attribute should represent a single “fact”• An organisation-wide perspective should be adopted to
ensure minimum redundancy and inconsistency and to facilitate data sharing
www.sims.monash.edu.au/subjects/ims930012
Attributes
• An attribute is a named property or characteristic of an entity that is of interest to the organisation
• Use an initial capital letter followed by lower case letters in naming attributes
• Each attribute name must be unique
www.sims.monash.edu.au/subjects/ims930013
Identifying Attributes
There are three main sources of attributes:• data to support essential user functions –
members_address; book_publisher
• data to support current operations – loan_commencement_date; amount_paid
• data to measure performance against objectives – purchase_date; loan_quantity
www.sims.monash.edu.au/subjects/ims930014
• examine all forms, documents, reports and files (computerised and manual) used in the current system
• check with users for accurate definitions of attributes
• ensure all attributes identified are still required in the new system
Identifying attributes
www.sims.monash.edu.au/subjects/ims930015
Documenting Attributes
• All attributes should be defined and described in the data dictionary
• Information should include:
namedescription
example valuesdomain of values
range of valuessynonyms
method of derivationvalidation constraintsentities which this attribute
describes
www.sims.monash.edu.au/subjects/ims930016
• Each attribute should convey a single fact
avoid embedding extra information in ranges of values
e.g. invoice-number
0000-1499 north-east region1500-2999 south-east region
3000-4499 central region
Attribute definition
www.sims.monash.edu.au/subjects/ims930017
The relational database model
• The relational database model represents data in the form of tables or relations
• Important concepts are:– relation
– primary key
– foreign key
– functional dependency
www.sims.monash.edu.au/subjects/ims930018
Example relation
• A relation generally corresponds to some real world object or concept of interest to the system (derived from an entity) e.g.:
Emp# Name Salary Dept
1247
1982
9314
Adams
Smith
Jones
24000
27000
33000
Finance
MIS
Finance
Employee
Employee (Emp#, Name, Salary, Dept)
www.sims.monash.edu.au/subjects/ims930019
Primary key
• An attribute or group of attributes which uniquely identifies a row of a relation
• Entity integrity (relational data base theory) requires that each relation has a non-null primary key
• Where several possible keys are identified, they are known as candidate keys - choose one to be the primary key
Employee (Emp#, Name, Salary, Dept)
Order-item (Order#, Item#, Qty-ordered)
E.g.
www.sims.monash.edu.au/subjects/ims930020
Well Structured Relations
• A well structured relation contains a minimum amount of redundancy and allows users to insert, modify, and delete rows in a table without errors or inconsistencies (known as “anomalies”)
• Three types of anomaly are possible:
– insertion
– deletion
– modification• Third normal form relations are considered to be well
structured relations
www.sims.monash.edu.au/subjects/ims930021
Entity Relationship Modelling
• Used for conceptual data modelling• Diagrammatic technique used to represent:
– things of importance in an organisation - entities
– the properties of those things - attributes
– how they are related to each other -
relationships
www.sims.monash.edu.au/subjects/ims930022
Entity
• Something of interest about which we store information
eg. EMPLOYEESALES ORDERSUPPLIER
• Often identified from nouns used within the business application
• Should be LOGICAL (not physical)
www.sims.monash.edu.au/subjects/ims930023
Entity Types and Instances
• An entity type is a classification of entity instances
eg BN Holdings ABC Engineering Acme Corp. Ltd.
SUPPLIER
www.sims.monash.edu.au/subjects/ims930024
Relationship
• Is an association between two classes of information – eg. customer and order
• We may wish to store additional information about the association itself – eg. volume of orders placed
• Often described in the form: entity + verb + entity eg. CUSTOMER places ORDER
• Separation of information into easily manageable collections (data tables) often necessitates mechanisms to link related collections of data
www.sims.monash.edu.au/subjects/ims930025
Representing Relationships
• We represent a relationship as a line between two entities
• The relationship is named by a meaningful verb phrase which should indicate the meaning of the association
• Relationships are bi-directional so naming each end of the relationship conveys more meaning
SUPPLIER ITEMsupplies
www.sims.monash.edu.au/subjects/ims930026
Cardinalities in Relationships
• The cardinality of a relationship is the number of instances of one entity type that may be associated with each instance of the other entity type
eg a CUSTOMER may place many ORDERs
an ORDER is placed by one CUSTOMER
an ITEM can appear on many ORDERs
www.sims.monash.edu.au/subjects/ims930027
Examples of Cardinalities
EMPLOYEE CUSTOMER SUPPLIER
PROJECTSALES
ORDERITEM
leads places supplies
One to One One to Many Many to Many
www.sims.monash.edu.au/subjects/ims930028
Nature of Relationships
We can indicate whether relationships are optional or mandatory:
• A customer MAY place many sales orders
• Each sales order MUST be placed by one customer
CUSTOMER SALESORDER
places
placed by
www.sims.monash.edu.au/subjects/ims930029
Nature of Relationships - Notations
EMPLOYEE
EMPLOYEE
MUST have a related record
May have a related record
www.sims.monash.edu.au/subjects/ims930030
Example ER model
MEMBER
FINE
LOAN
BOOK
takes outmakes
is for
www.sims.monash.edu.au/subjects/ims930031
Building a Basic ER Model
• Identify and list the major entities in the system
• Represent the entities by named rectangles
• Identify, draw, name, and quantify relationships • Indicate mandatory/optional nature of
relationships
• Revise for entity subtypes where appropriate
www.sims.monash.edu.au/subjects/ims930032
References
• Barker, R. (1989) CASE*METHOD Entity Relationship Modelling, Addison-Wesley, Wokingham UK. Chapters 4,5
• Hoffer, J.A., George, J.F. and Valacich, J.S., (1999)., Modern Systems Analysis and Design, (2nd ed), Benjamin/Cummings, Massachusetts. Chapter 10
• Whitten, J.L. & Bentley, L.D. and Dittman, K.C., (2001), Systems Analysis and Design Methods, (5th edn.), McGraw Hill Irwin, Boston MA USA. Chapter 5