Microsoft Access CS 110 Fall 2005

advertisement
Microsoft Access
CS 110
Fall 2005
Entity Relationship Model

Entities
• Principal data object about which
information is to be collected


employees, projects, invoices, etc.
Relationships
• An association between two or more
entities

employees are assigned to projects
Entities

Entities have attributes
• name, ID, key


May be a way to uniquely identify an
instance of an entity
May be a non-unique characteristic of an
entity instance
Relationships

Relationships have connectivity and
cardinality
• One-to-one – at most one instance of entity A
is associated with one instance of entity B
• One-to-many – one instance of entity A is
associated with zero, one, or many instances
of entity B
• Many-to-many – one instance of entity A is
associated with zero, one, or many instances
of B (and vice versa)
Building a data model



Identify entities and relationships
What are the entity attributes
Confirm the desired query results
can be generated
What makes an object an entity or
an attribute?

“Employees work on projects”
Are employees an entity or an
attribute of projects?


Analyze narratives from users,
meeting notes, policy and procedure
documents, …
Consider database properties
Normalization

Put data into table form by removing
repeated groups and duplicated data
• A theoretical definition based on logic
exists
Example





A company obtains parts from
multiple suppliers
Each supplier is in a city
A city can have more than one
supplier
Each city has a status code
Each supplier may provide many
parts
Example





s#: supplier ID
status: city
status
city: name
p#: part ID
qty: quantity
Redundant data

City and status
repeated for
each part
Update anomalies


Problems that occur when
information is inserted, deleted, or
updated
Caused by redundant data
Insert anomalies

Cannot add
new supplier
w/o adding
part supplied
Delete anomalies

Deleting a row loses information
about quantity/part AND supplier
Update anomalies

If supplier s1 moves from NY to
London, six rows must be updated
Refinement

Following rigor of normalization,
tables are split/merged to reduce
anomalies
Primary, secondary, and foreign
keys



Primary key: attribute that uniquely
identifies all other attributes in a row
Secondary key: attribute that
identifies a set of records
Foreign key: attribute in one table
that matches the primary key of
another
Download