Design Issues for Relational Databases 02/23/00

Database Design
Principles of database
Relational Models
Relational databases are designed to
provide efficient structures for transaction
Minimize data redundancy
Identify stable structures
Provide for flexible queries
Relational Databases
Based on tables which represent
things about which we store data
Rows represent instances
Columns (attributes) are single valued
Connections among tables are
defined by common attributes
Data Modeling
Describe the data structures and
relationships that are required
to support the users business
The business model is the
abstract description of the rules
and processes by which the
organization creates value.
Considerations in Relational
Database Design
Understand the business environment and uses of
Identify fields needed to produce required information
store data in smallest parts
avoid calculated fields
Group fields into tables
Determine each table’s primary key
Include a common field in related tables
Avoid redundancies
Conceptual Data Modeling
Understand the structure of
data independent of process
Describe the information
objects of the organization
and the relationships between
Develop from knowledge of
the organization and users
Something of importance that can be
identified in the business environment.
•Similar entities are grouped in entity
Example - individual employees can be
grouped in an entity class called EMPLOYEE.
•Individual members of an entity class are
called entity instances.
Entity rows cannot be duplicates
Entities must have more than one
Entities must have more than one
Examples of Entities
Person - customer,
Object - item, product
Event - sale, purchase
Concept - course, flight
Identifying Entities
In the business context, entities are
usually described by nouns.
The person, or organization using the
system is usually not an entity.
Reports, screens and processing
steps are not entities.
Entities with only one attribute are
usually modeled as attributes of
another entity.
Entities have attributes or properties that
describe the characteristics of the entity.
All entity instances in an entity class have the
same attributes. Attribute values will vary.
Attributes can be composites of other attributes.
The type of data described by the attribute is the
same for all entity instances. The value can
change but must be the same type (numbers,
date, etc).
Single field or combination of
several fields to identify records for
retrieval and processing
Primary key - unique identifier
Secondary key -identifier, but not
necessarily unique
Foreign key - primary key in another
related table
Example of Relational Tables
Examples of Relational Tables
Entity instances have some name or
identification string to identify them
within the context of the environment.
This name or string is an identifier.
Unique identifiers identify a single entity
Non-unique identifiers can identify sets of
A relationship is a connection or
association between entity
instances in different entity
It specifies what row connects
with what row in associated
A process for identifying structural
problems with relational databases
to reduce processing anomalies.
Theoretically based
Bottom-up (starts with attribute
Step by step procedure
Steps in Normalization
Every non-key attribute
is fully functionally
dependent on the
primary key.
No functional
dependencies between
non-key attributes.