Data Modelling
Data Modelling
Objectives
Definition of terms Importance of data modeling Write good names and definitions for entities, relationships, and attributes Distinguish unary, binary, and ternary relationships Model different types of attributes, entities, relationships, and cardinalities Draw E-R diagrams for common business situations EConvert many-to-many relationships to associative many-toentities Model time-dependent data using time stamps time2
SDLC Revisited Data Modeling is an Analysis Activity (figures 2-4, 2-5) 2- 2Project Identification and Selection Project Initiation and Planning
Analysis
Logical Design
Physical Design
Implementation
Maintenance
Data modelling involves documenting rules and policies of an organization that govern data. Business rules and policies govern creating updating and removing data in an information processing and storage system, hence described along with related data. Database Analyst identifies, understands, represents & implements these rules in database technology.
4
Business Rules
Statements that define or constrain some aspect of the business Assert business structure Control/influence business behavior Expressed in terms familiar to end users Automated through DBMS software
Declarative what a process validates (not how) Precise clear, agreed-upon meaning agreedAtomic one statement (indivisible) Consistent internally and externally (not conflicting, not contradictory with other rules) Expressible structured, natural language (no misinterpretation) Distinct non-redundant nonBusinessBusiness-oriented understood by business people, only business people can modify
6
They appear in description of business functions, events, policies, units, stakeholders and other objects. Can be found in interview notes from individual and group information systems requirements collection sessions, organisational documents (like manuals, contracts, brochures) & other sources. Precise rules are formulated from iterative inquiry process (they may be vague initially)
7
Related to business, not technical, characteristics Meaningful and self-documenting selfUnique Readable Composed of words from an approved list Repeatable (standard pattern)
8
Data Definitions
ER Modelling
Conceptual data modelling Tool for communication between database designer and end user during analysis phase Ease of use CASE tool support Entities and relationships represent real world Represents structure and constraints of a database independent of software
10
Entity instance - person, place, object, event, concept (often corresponds to a row in a table). Single occurrence of an entity type. Entity Type/Set collection of entities (often corresponds to a table) Attribute - property or characteristic of an entity type (often corresponds to a field in a table) Relationship instance link between entities (corresponds to primary key-foreign key keyequivalencies in related tables)
12
Relationship symbols
Entity symbols
Attribute symbols
13
SHOULD BE:
An object that will have many instances in the database An object that will be composed of multiple attributes An object that we are trying to model A user of the database system An output of the database system (e.g. a report)
14
Figure 3-4
Inappropriate entities
System user
System output
Appropriate entities
15
Attributes
Required versus Optional Attributes Simple versus Composite Attribute SingleSingle-Valued versus Multivalued Attribute Stored versus Derived Attributes Identifier Attributes
16
Identifiers (Keys)
Identifier (Key) - An attribute (or combination of attributes) that uniquely identifies individual instances of an entity type Simple Key versus Composite Key Candidate Key an attribute that could be a key satisfies the requirements for being a key
17
Characteristics of Identifiers
Will not change in value Will not be null No intelligent identifiers (e.g. containing locations or people that might change) Substitute new, simple keys for long, composite keys
18
19
20
21
Figure 3-8 Entity with a multivalued attribute (Skill) and derived attribute (Years_Employed) Whats wrong with this?
Derived
from date employed and current date
Multivalued:
an employee can have more than one skill
22
More on Relationships
The relationship type is modeled as the diamond and lines between entity types the instance is between specific entity instances
These describe features pertaining to the association between the entities in the relationship
Two entities can have more than one type of relationship between them (multiple relationships) Associative Entity combination of relationship and entity
24
Degree of Relationships
Degree
Cardinality of Relationships
One-toOne-to-One
Each entity in the relationship will have exactly one related entity An entity on one side of the relationship can have many related entities, but an entity on the other side will have a maximum of one related entity Entities on both sides of the relationship can have many related entities on the other side
27
One-toOne-to-Many
Many-toMany-to-Many
Cardinality Constraints
Cardinality Constraints - the number of instances of one entity (B) that can or must be associated with each instance of another entity (A) Minimum Cardinality Minimum instances of entity B associated with each instance of A
29
30
32
33
34
Here, the date completed attribute pertains specifically to the employees completion of a courseit is an attribute of the relationship
35
36
Figure 3-13a A unary relationship with an attribute. This has a many-to-many relationship
38
39
40
Strong entities
exist independently of other types of entities has its own unique identifier represented with single-line rectangle singledependent on a strong entity cannot exist on its own does not have a unique identifier represented with double-line rectangle doublelinks strong entities to weak entities represented with double line diamond
41
Weak entity
Identifying relationship
Strong entity
Identifying relationship
Weak entity
42
Associative Entities
It s an
entity
AND it s a
relationship
All relationships for the associative entity should be many The associative entity could have meaning independent of the other entities The associative entity preferably has a unique identifier, and should also have other attributes The associative entity may participate in other relationships other than the entities of the associated relationship Ternary relationships should be converted to associative entities
43
Associative entity involves a rectangle with a diamond inside. Note that the many-to-many cardinality symbols face toward the associative entity and not toward the other entities
44
46
47
Different modeling software tools may have different notation for the same constructs
48