Académique Documents
Professionnel Documents
Culture Documents
Database design
- primary objective is to create complete, normalized, non-redundant (to the extent possible), and fully
integrated conceptual design, logical and physical database models
Data Models – simple representation, basically graphical, of more complex real-world object or event
Conceptual Design
- data modeling is used to create an abstract database structure that represents real-world objects in
the most realistic way possible
Conceptual model – uses the widely used ER model which is illustrated with the help of the ERD
Logical Design
− translates the conceptual design into the internal model for a selected database management system
(DBMS) such as DB2, SQL Server, MySQL, Oracle and Access
− arrange data into a logical structure which can then be mapped into the storage objects supported by
DMBS; in case of relational databases, the storage objects are tables which store data in rows and
columns
Physical Design
− the process of selecting the data storage and data access characteristics of the database
− a detailed design of a system that includes modules and the database’s hardware and software
specifications of the system
To develop an accurate data model, the designer must have a thorough understanding of the
business rules to fully understand how the business works and what role the data plays within
company operations. Business rules are derived from a detailed description of an organization’s
operations.
Examples of business rules are follows:
A department employs many employees but each employee is employed by
one department.
Some employees may be assigned to any department.
A division operates many departments, but each department is operated by one
division.
An employee may be assigned many projects, and a project may have many
employees assigned to it.
Database Design 1
A project must have at least one employee assigned to it.
One of the employees manages each department, and each department is
managed by only one employee.
2) Entity Relationship Modeling and Normalization
Entity
− anything (person, place, thing or event) about which data are to be collected and stored
− represents a particular type of type of object in the real world
− represented in the ERD by a rectangle, also known as the entity box
− the name of the entity is a noun which is written in the center of the rectangle and is
generally written in capital letters and in a singular form
− entity names:
should be nouns that are familiar to business and should be short and
meaningful
should include abbreviations, synonyms and aliases for each entity
should be unique within the model
for composite entities, may include a combination of abbreviated names of the
entities linked through the composite entity
ERD symbol:
Attribute
− describes a particular characteristic of an entity
− equivalent to fields in file systems
− entity CUSTOMER for example will have attributes customer_no, name, address
− represented by ovals and are connected to the entity rectangle with a line; each oval
contains the name of the attribute it represents
− attribute names:
should be unique within the entity
should use the entity abbreviation or prefix
should be descriptive of the characteristic
should use suffixes such as _id, _num or _code for the primary key attribute or
identifier (identifier is the attribute or combination of attributes that uniquely
identifies entity instances in an entity set)
should not be a reserved word
should not contain spaces or special characters such as @, ! or &
Database Design 2
ERD symbol:
Relationships
− describe the associations among entities
− the name of the relationship is an active or passive verb
− represented by a diamond
Example: rents
MEMBER rents a TAPE (MEMBER and TAPE are entities)
ERD symbol:
Sample:
Tape_Cod
Id_Num
e
Title
MEMBER rents TAPE
Name
Relationship Degree
A relationship degree indicates the number of entities or participants associated with a relationship. A unary
relationship exists when an association is maintained within a single entity. A binary relationship exists when two
entities are associated. A ternary relationship exists when three entities are associated. Although higher
degrees exist, they are rare and are not specifically named. (For example, an association of four entities is
described simply as four-degree relationship).
Unary Relationship
EMPLOYEE manage
s
Binary Relationship
teache
PROFESSOR CLASS
s
Ternary Relationship
Database Design 3
PART
Database Design 4
CONNECTIVITY and CARDINALITY
Example1 (1:1): An EMPLOYEE manages one STORE; each STORE is managed by one EMPLOYEE.
1 1
manag
EMPLOYEE STORE
es
Example2 (1:M): A PAINTER can paint many PAINTINGs; each PAINTING is painted by one PAINTER.
1 M
paint
PAINTER PAINTING
s
Example3 (M:N): An EMPLOYEE can learn many job SKILLs; each job skill can be learned by many
EMPLOYEEs.
M N
Cardinality
− expresses the minimum and maximum number of entity occurrences associated with one
occurrence of the related entity
Minimum Cardinality
− the smallest number of instance allowed to participate in a relationship
− 0 or 1 (if 0, participation is optional; if 1, participation is mandatory)
− Ex. the minimum number of mother that a person can have is 1
Maximum Cardinality
− the greatest number of instances allowed to participate in a relationship
Ex. a STUDENT is allowed to retake the COURSE twice
Database Design 5
Notation:
Example1: An EMPLOYEE manages one STORE; each STORE is managed by one EMPLOYEE.
manag
EMPLOYEE STORE
es
Example2: A PAINTER can paint many PAINTINGs; each PAINTING is painted by one PAINTER.
paint
PAINTER s PAINTING
Example3: An employee can learn many skills; each skill can be learned by many employee.
Example4:
is
EMPLOYEE assigne PROJECT
d
Example5: A class may exist (at least at the start of registration) even though it contains no students. When a
student is admitted to college, that student has not (yet) signed up for any classes, therefore, at least initially,
class is optional to student.
Database Design 6
n
Database Design 7
Existence Dependency and Weak Entity
− occurs when an instance of one entity cannot exist without the existence of an instance of some other
(related) entity
Example:
an instance of HISTORY cannot exist unless the related PATIENT entity exists
in this case, HISTORY is a weak entity (an entity type that has an existence dependency)
Multivalued Attributes
− attributes that can have many values
− example: person having several college degrees and mobile numbers
− multivalued attributes are shown as follows:
Example:
nam addres
e s
skill
emp
EMPLOYEE
#
skill is a special kind of attribute because an instance of an EMPLOYEE can have more than one value for
the attribute skill. Simply put “an employee may have/possess more than one skill”
in a relational database model, the multivalued attribute is removed as an attribute of the original entity and is
made into a separate entity. The relationship HAS is established as the relationship between the original entity
and the newly created entity, originally the multivalued attribute.
emp#
EMPLOYEE has SKILL
Repeating Group
− a set of two or more multivalued attributes that are logically related
Example: PATIENT chart
Database Design 8
Patient No. : 02-1234
Patient Name : Macario, Jose
Address : Dumaguete City
symptom
name
visit_date
patient# PATIENT
physician
address
the repeating group is removed and a separate entity type will be created where these attributes will be
associated
symptom
name patient# patient#
physician
address
PATIENT has HISTORY
visit_date
take note that patient# is one of the primary keys of the entity HISTORY. Since HISTORY is a weak entity
and is therefore dependent on the existence of PATIENT, an identifying relationship will exist. In this
relationship, the primary key of the parent entity is used as part of the primary key of the dependent entity. This
usually exists whenever existence dependency occurs between entities
Example:
date_re
id# t
date_borr
Database Design 9
this indicates that if a student will borrow a book, your database design should be able to record when that
book was borrowed and when it is supposed to be returned.
References:
• Carlos, P. and Coronel, R. Database Systems. Philippines: Course Technology, 2009.
• Hoffer, J., Prescott, M. and McFadden, F. Modern Database Management 7th Edition © 2005
Database Design 10