16-01-2013, 11:30 AM
DATABASE DESIGN
DATABASE.pdf (Size: 195.84 KB / Downloads: 135)
INTRODUCTION
- The ability to design databases and associated
applications is critical to the success of the modern
enterprise.
- Database design requires understanding both the
operational and business requirements of an
organization as well as the ability to model and
realize those requirements using a database.
- Developing database and information systems is
performed using a development lifecycle, which
consists of a series of steps.
SPECIFICATION
REQUIREMENTS GATHERING
The most critical aspect of specification is the gathering
and compilation of system and user requirements. This
process is normally done in conjunction with managers
and users.
The major goal in requirements gathering is to:
- collect the data used by the organization,
- identify relationships in the data,
- identify future data needs,
- and determine how the data is used and generated.
The starting place for data collection is gathering
existing forms and reviewing policies and systems.
Then, ask users what the data means, and determine
their daily processes. These things are especially
critical:
- Identification of unique fields (keys)
- Data dependencies, relationships, and constraints
(high-level)
- The data sizes and their growth rates
REASONS FOR CONCEPTUAL MODELING
•Independent of DBMS.
•Allows for easy communication between end-users and
developers.
•Has a clear method to convert from high-level model to
relational model.
•Conceptual schema is a permanent description of the
database requirements.
ENTITY-RELATIONSHIP MODEL
- Most popular conceptual model for database design
- Basis for many other models
- Describes the data in a system and how that data is
related
- Describes data as entities, attributes and relationships
DATABASE REQUIREMENTS
• We must convert the written database requirements
into an E-R diagram
• Need to determine the entities, attributes and
relationships.
– nouns = entities
– adjectives = attributes
– verbs = relationships
Teaching Database
Design an E-R schema for a database to store info about
professors, courses and course sections indicating the
following:
• The name and employee ID number, salary and email
address(es) of each professor
• How long each professor has been at the university
• The course sections each professor teaches
• The name, number and topic for each course offered
• The section and room number for each course section
• Each course section must have only one professor
• Each course can have multiple sections