Im Lec
Im Lec
Im Lec
Module 1: Database
Environment and Development
Process
MODULE 1 SUBTOPIC 1
Database Systems 1
• Program-Data Dependence
• All programs maintain metadata for each file they use
Database Systems 1
• Duplication of Data
• Different systems/programs have separate copies of the same
data
Database Systems 1
• Limited Data Sharing
• No centralized control of data
Database Systems 1
• Lengthy Development Times
• Programmers must design their own file formats
Database Systems 1
• Excessive Program Maintenance
• 80% of information systems budget
Database Systems 1
• Central repository of shared data
• Data is managed by a controlling
agent
• Stored in a standardized,
convenient form
Requires a Database Management System (DBMS)
Database Systems 1
• A software system that is used to create, maintain,
and provide controlled access to user databases
Order Filing
System
Database Systems 1
1. Program-data independence
2. Planned data redundancy
3. Improved data consistency
4. Improved data sharing
5. Increased application development productivity
Database Systems 1
6. Enforcement of standards
7. Improved data quality
8. Improved data accessibility and responsiveness
9. Reduced program maintenance
10.Improved decision support
Database Systems 1
1. New, specialized personnel
2. Installation and management cost and complexity
3. Conversion costs
4. Need for explicit backup and recovery
5. Organizational conflict
Data models
– Graphical system capturing nature and relationship of data
– Enterprise Data Model–high-level entities and relationships for the organization
– Project Data Model–more detailed view, matching data structure in database or data warehouse
Entities
– Noun form describing a person, place, object, event, or concept
– Composed of attributes
Relationships
– Between entities
– Usually one-to-many (1:M) or many-to-many (M:N)
Relational Databases
– Database technology involving tables (relations) representing entities and primary/foreign keys representing relationships
• CASE Tools–computer-aided software engineering
• Repository–centralized storehouse of metadata
• Database Management System (DBMS) –software for managing the
database
• Database–storehouse of the data
• Application Programs–software using the data
• User Interface–text and graphical displays to users
• Data/Database Administrators–personnel responsible for maintaining the
database
• System Developers–personnel responsible for designing databases and
software
• End Users–people who use the applications and databases
• Application Programs–software using the data
• User Interface–text and graphical displays to users
• Data/Database Administrators–personnel responsible for maintaining the
database
• System Developers–personnel responsible for designing databases and
software
• End Users–people who use the applications and databases
END OF MODULE 1
SUBTOPIC 1
MODULE 1 SUBTOPIC 2
DATABASE DEVELOPMENT
PROCESS
At the end of the chapter, the learner should be able to:
• Describe database system development life cycle
• Explain prototyping and agile development approaches
• Explain roles of individuals
• Explain the three-schema architecture for databases
SDLC
–System Development Life Cycle
–Detailed, well-planned development process
–Time-consuming, but comprehensive
–Long development cycle
Prototyping
–Rapid application development (RAD)
–Cursory attempt at conceptual data modeling
–Define database during development of initial prototype
–Repeat implementation and maintenance activities with new prototype versions
Database Systems 1
Planning
Analysis
Logical Design
Physical Design
Implementation
Maintenance
Database Systems 1
Planning
Planning Purpose–preliminary understanding
Deliverable–request for study
Analysis
Logical Design
Physical Design
Database Systems 1
Purpose–thorough requirements analysis
Planning and structuring
Deliverable–functional system specifications
Analysis
Analysis
Logical Design
Physical Design
Database Systems 1
Purpose–information requirements elicitation
Planning
and structure
Deliverable–detailed design specifications
Analysis
Logical Design
Logical Design
Physical Design
Database Systems 1
Purpose–develop technology and
Planning organizational specifications
Analysis Deliverable–program/data
structures, technology purchases,
organization redesigns
Logical Design
Physical Design
Physical Design
Database Systems 1
Purpose–programming, testing,
Planning
training, installation, documenting
Physical Design
Database activity–
Implementation
Implementation
database implementation,
including coded
programs, documentation, Maintenance
installation and
conversion
Database Systems 1
Planning Purpose–monitor, repair, enhance
Analysis
Deliverable–periodic audits
Logical Design
Physical Design
Database activity–
Implementation
database maintenance,
performance analysis
and tuning, error Maintenance
Maintenance
corrections
Database Systems 1
External Schema
• User Views
• Subsets of Conceptual Schema
• Can be determined from business-function/data entity matrices
• DBA determines schema for different users
Conceptual Schema
• E-R models
Internal Schema
• Logical structures
• Physical structures
Database Systems 1
Different
people have
different views
of the
database…these
are the external
schema
The internal
schema is the
underlying
design and
implementation
Database Systems 1
• Project–a planned undertaking of related activities to reach an objective
that has a beginning and an end
• Initiated and planned in planning stage of SDLC
• Executed during analysis, design, and implementation
• Closed at the end of implementation
Database Systems 1
• Business analysts
• Systems analysts
• Database analysts and data modelers
• Data/Database administrators
• Project managers
• Users
• Programmers
• Database architects
• Other technical experts
Database Systems 1
Driven by four main objectives:
• Need for program-data independence ➔ reduced maintenance
• Desire to manage more complex data types and structures
• Ease of data access for less technical personnel
• Need for more powerful decision support platforms
Database Systems 1
Database Systems 1
Database Systems 1
Database Systems 1
Database Systems 1
Database Systems 1
Database Systems 1
Database Systems 1
Database Systems 1
• Personal databases
• Multitier client/server databases
• Enterprise applications
• Enterprise resource planning (ERP) systems
• Data warehousing implementations
Database Systems 1
Database Systems 1
Database Systems 1
• Taylor, A. G. (2019). SQL for dummies (9th ed.). Hoboken, NJ: For
Dummies.
• Harrington, J. (2016). Relational Database Design and Implementation
(4th Edition). Morgan Kaufmann
• Juric, N., Vrbsky, S., Nestorov, S. (2016). Database Systems: Introduction
to Databases and Data Warehouses. Prospect Press
• Kroenke, D. M., & Auer, D. J. (2016). Database Concepts. Pearson.
• Sullivan, D. (2015). NoSQL for Mere Mortals (1st ed.). Boston: Addison-
Wesley.
• Hoffer, J., Ramesh, V., Topi, H. (2016). Modern Database Management 12th
Edition, Prentice Hall.
END OF SUBTOPIC 2
END OF MODULE 1
INFORMATION MANAGEMENT
Module 1: Database
Environment and Development
Process
MODULE 1 SUBTOPIC 1
Database Systems 1
• Program-Data Dependence
• All programs maintain metadata for each file they use
Database Systems 1
• Duplication of Data
• Different systems/programs have separate copies of the same
data
Database Systems 1
• Limited Data Sharing
• No centralized control of data
Database Systems 1
• Lengthy Development Times
• Programmers must design their own file formats
Database Systems 1
• Excessive Program Maintenance
• 80% of information systems budget
Database Systems 1
• Central repository of shared data
• Data is managed by a controlling
agent
• Stored in a standardized,
convenient form
Requires a Database Management System (DBMS)
Database Systems 1
• A software system that is used to create, maintain,
and provide controlled access to user databases
Order Filing
System
Database Systems 1
1. Program-data independence
2. Planned data redundancy
3. Improved data consistency
4. Improved data sharing
5. Increased application development productivity
Database Systems 1
6. Enforcement of standards
7. Improved data quality
8. Improved data accessibility and responsiveness
9. Reduced program maintenance
10.Improved decision support
Database Systems 1
1. New, specialized personnel
2. Installation and management cost and complexity
3. Conversion costs
4. Need for explicit backup and recovery
5. Organizational conflict
Data models
– Graphical system capturing nature and relationship of data
– Enterprise Data Model–high-level entities and relationships for the organization
– Project Data Model–more detailed view, matching data structure in database or data warehouse
Entities
– Noun form describing a person, place, object, event, or concept
– Composed of attributes
Relationships
– Between entities
– Usually one-to-many (1:M) or many-to-many (M:N)
Relational Databases
– Database technology involving tables (relations) representing entities and primary/foreign keys representing relationships
• CASE Tools–computer-aided software engineering
• Repository–centralized storehouse of metadata
• Database Management System (DBMS) –software for managing the
database
• Database–storehouse of the data
• Application Programs–software using the data
• User Interface–text and graphical displays to users
• Data/Database Administrators–personnel responsible for maintaining the
database
• System Developers–personnel responsible for designing databases and
software
• End Users–people who use the applications and databases
• Application Programs–software using the data
• User Interface–text and graphical displays to users
• Data/Database Administrators–personnel responsible for maintaining the
database
• System Developers–personnel responsible for designing databases and
software
• End Users–people who use the applications and databases
END OF MODULE 1
SUBTOPIC 1
MODULE 1 SUBTOPIC 2
DATABASE DEVELOPMENT
PROCESS
At the end of the chapter, the learner should be able to:
• Describe database system development life cycle
• Explain prototyping and agile development approaches
• Explain roles of individuals
• Explain the three-schema architecture for databases
SDLC
–System Development Life Cycle
–Detailed, well-planned development process
–Time-consuming, but comprehensive
–Long development cycle
Prototyping
–Rapid application development (RAD)
–Cursory attempt at conceptual data modeling
–Define database during development of initial prototype
–Repeat implementation and maintenance activities with new prototype versions
Database Systems 1
Planning
Analysis
Logical Design
Physical Design
Implementation
Maintenance
Database Systems 1
Planning
Planning Purpose–preliminary understanding
Deliverable–request for study
Analysis
Logical Design
Physical Design
Database Systems 1
Purpose–thorough requirements analysis
Planning and structuring
Deliverable–functional system specifications
Analysis
Analysis
Logical Design
Physical Design
Database Systems 1
Purpose–information requirements elicitation
Planning
and structure
Deliverable–detailed design specifications
Analysis
Logical Design
Logical Design
Physical Design
Database Systems 1
Purpose–develop technology and
Planning organizational specifications
Analysis Deliverable–program/data
structures, technology purchases,
organization redesigns
Logical Design
Physical Design
Physical Design
Database Systems 1
Purpose–programming, testing,
Planning
training, installation, documenting
Physical Design
Database activity–
Implementation
Implementation
database implementation,
including coded
programs, documentation, Maintenance
installation and
conversion
Database Systems 1
Planning Purpose–monitor, repair, enhance
Analysis
Deliverable–periodic audits
Logical Design
Physical Design
Database activity–
Implementation
database maintenance,
performance analysis
and tuning, error Maintenance
Maintenance
corrections
Database Systems 1
External Schema
• User Views
• Subsets of Conceptual Schema
• Can be determined from business-function/data entity matrices
• DBA determines schema for different users
Conceptual Schema
• E-R models
Internal Schema
• Logical structures
• Physical structures
Database Systems 1
Different
people have
different views
of the
database…these
are the external
schema
The internal
schema is the
underlying
design and
implementation
Database Systems 1
• Project–a planned undertaking of related activities to reach an objective
that has a beginning and an end
• Initiated and planned in planning stage of SDLC
• Executed during analysis, design, and implementation
• Closed at the end of implementation
Database Systems 1
• Business analysts
• Systems analysts
• Database analysts and data modelers
• Data/Database administrators
• Project managers
• Users
• Programmers
• Database architects
• Other technical experts
Database Systems 1
Driven by four main objectives:
• Need for program-data independence ➔ reduced maintenance
• Desire to manage more complex data types and structures
• Ease of data access for less technical personnel
• Need for more powerful decision support platforms
Database Systems 1
Database Systems 1
Database Systems 1
Database Systems 1
Database Systems 1
Database Systems 1
Database Systems 1
Database Systems 1
Database Systems 1
• Personal databases
• Multitier client/server databases
• Enterprise applications
• Enterprise resource planning (ERP) systems
• Data warehousing implementations
Database Systems 1
Database Systems 1
Database Systems 1
• Taylor, A. G. (2019). SQL for dummies (9th ed.). Hoboken, NJ: For
Dummies.
• Harrington, J. (2016). Relational Database Design and Implementation
(4th Edition). Morgan Kaufmann
• Juric, N., Vrbsky, S., Nestorov, S. (2016). Database Systems: Introduction
to Databases and Data Warehouses. Prospect Press
• Kroenke, D. M., & Auer, D. J. (2016). Database Concepts. Pearson.
• Sullivan, D. (2015). NoSQL for Mere Mortals (1st ed.). Boston: Addison-
Wesley.
• Hoffer, J., Ramesh, V., Topi, H. (2016). Modern Database Management 12th
Edition, Prentice Hall.
END OF SUBTOPIC 2
END OF MODULE 1
INFORMATION MANAGEMENT
MODULE 2: Modeling Data in the
Organization
MODULE 2 SUBTOPIC 1
ENTITY RELATIONSHIP
DIAGRAM(ERD)
OBJECTIVES
■At the end of the chapter, the learner should be able to:
• Define terms
• Understand 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
• Convert many-to-many relationships to associative entities
Explanation of a term or fact
• Term–word or phrase with specific meaning
• Fact–association between two or more terms
Guidelines for good data definition
• A concise description of essential data meaning
• Gathered in conjunction with systems requirements
• Accompanied by diagrams
• Achieved by consensus, and iteratively refined
• Related to business, not technical, characteristics
• Meaningful and self-documenting
• Unique
• Readable
• Composed of words from an approved list
• Repeatable
• Written in standard syntax
Entities:
• Entity instance–person, place, object, event, concept (often corresponds to a
row in a table)
• Entity Type–collection of entities (often corresponds to a table)
Relationships:
• Relationship instance–link between entities (corresponds to primary key-
foreign key equivalencies in related tables)
• Relationship type–category of relationship…link between entity types
Attributes:
• Properties or characteristics of an entity or relationship type (often
corresponds to a field in a table)
Entity Attribute
symbols symbols
A special
entity that is Relationship
also a symbols
relationship
Relationship
degrees
specify Relationship
number of cardinalities
entity types specify how many
involved of each entity type
is allowed
• Entities are represented by
softboxes
• Entity names go in the
softboxes
• Entity names are always
singular and written in capital
letters
• Attributes are listed under
entity names
• Mandatory attributes are
marked with an asterisk: “*”
• Optional attributes are
marked with a circle: “o”
• Unique identifiers are marked
with a hash sign: “#”
• Are statements that define or constrain some
aspect of the business
• Are derived from policies, procedures, events,
functions
• Assert business structure
• Control/influence business behavior
• Are expressed in terms familiar to end users
• Are automated through DBMS software
•Declarative–what, not how
•Precise–clear, agreed-upon meaning
•Atomic–one statement
•Consistent–internally and externally
•Expressible–structured, natural language
•Distinct–non-redundant
•Business-oriented–understood by business people
• Entity – a person, a place, an object, an event, or a concept in the user environment
about which the organization wishes to maintain data
• Entity type – a collection of entities that share common properties or characteristics
• Entity instance – A single occurrence of an entity type
• Attribute–property or characteristic of an entity or relationship type
Entity instance
EMPLOYEE
Entity Type
• Entity – a person, a place, an object, an event, or
a concept in the user environment about which
the organization wishes to maintain data
• Entity type – a collection of entities that share
common properties or characteristics
• Entity instance – A single occurrence of an entity
type
System System
user Inappropriate output
entities
Appropriate
entities
Strong entity
• exists independently of other types of entities
• has its own unique identifier
• identifier underlined with single line
Weak entity
• dependent on a strong entity (identifying owner)…cannot exist on its own
• does not have a unique identifier (only a partial identifier)
• entity box and partial identifier have double lines
Identifying relationship
• links strong entities to weak entities
Strong entity Weak entity
Attribute–property or characteristic of an entity or relationship type
• Name should be a singular noun or noun phrase
• Name should be unique
• Name should follow a standard format
• e.g. [Entity type name { [ Qualifier ] } ] Class
• Similar attributes of different entity types should use the
same qualifiers and classes
• State what the attribute is and possibly why it is important
• Make it clear what is and is not included in the attribute’s
value
• Include aliases in documentation
• State source of values
• Specify required vs. optional
• State min and max number of occurrences allowed
• Indicate relationships with other attributes
• Required versus Optional Attributes
• Simple versus Composite Attribute
• Single-Valued versus Multivalued Attribute
• Stored versus Derived Attributes
• Identifier Attributes
Required – must have a value for every entity (or Optional – may not have a value for every entity (or
relationship) instance with which it is associated relationship) instance with which it is associated
Composite attribute – An attribute that has
meaningful component parts (attributes)
The address is
broken into
component parts
Figure 2-8 Entity with multivalued attribute (Skill) and derived attribute
(Years Employed)
Multivalued Derived
an employee can Calculated
have more than one from date
skill employed
and current
date
• Identifier (Key)–an attribute (or combination of
attributes) that uniquely identifies individual
instances of an entity type
• Simple versus Composite Identifier
• Candidate Identifier–an attribute that could be a
key…satisfies the requirements for being an
identifier
• Choose Identifiers that
• Will not change in value
• Will not be null
• Avoid intelligent identifiers (e.g., containing locations or
people that might change)
• Substitute new, simple keys for long, composite keys
The identifier
is boldfaced
and underlined
• Relationship Types vs. Relationship Instances
• The relationship type is modeled as lines between entity types…the instance
is between specific entity instances
• Relationships can have attributes
• 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
a) Relationship
type (Completes)
b) Relationship
instances
• Degree of a relationship is the number of entity
types that participate in it
• Unary Relationship
• Binary Relationship
• Ternary Relationship
Entities of
One entity two
related to different Entities of three
another of different types
types related related to each
the same to each other
entity type other
a) Unary relationships
b) Binary relationships
c) Ternary relationship
A person is
married to at most
one other person,
or may not be
married at all
a) Employees and departments
composite
An entity–has attributes
A relationship–links entities together
When should a relationship with attributes instead be an associative
entity?
• 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
Associative entity is like a relationship with an attribute, but it is also considered to be an entity
in its own right.
Note that the many-to-many cardinality between entities in Figure 2-11a has been replaced by
two one-to-many relationships with the associative entity.
a) Relationship
type (Completes)
ERD example
Business Rules:
• A library system contains books, authors and patrons, with attributes book
number, author number and patron number, respectively.
• Books are further described by title and page count
• Authors by author name, and
• Patrons by patron name.
• Books should have at least one author or can have more. An author can
author a book or many books
• Patrons borrow books but at any point in time, may not have anything
checked out. When they do have a book checked out, there is a due date
associated with it.
Figure 2-22
Data model for Pine
Valley Furniture
Company in
Microsoft Visio
notation
Different modeling
software tools may have
different notation for
the same constructs.
In this lesson, you should have learned the following:
• Importance of data modeling
• Unary, binary, and ternary relationships
• Model different types of attributes, entities, relationships, and
cardinalities
• Draw E-R diagrams for common business situations
• Convert many-to-many relationships to associative entities
• Taylor, A. G. (2019). SQL for dummies (9th ed.). Hoboken, NJ: For
Dummies.
• Harrington, J. (2016). Relational Database Design and
Implementation (4th Edition). Morgan Kaufmann
• Juric, N., Vrbsky, S., Nestorov, S. (2016). Database Systems:
Introduction to Databases and Data Warehouses. Prospect Press
• Kroenke, D. M., & Auer, D. J. (2016). Database Concepts. Pearson.
• Sullivan, D. (2015). NoSQL for Mere Mortals (1st ed.). Boston:
Addison-Wesley.
• Hoffer, J., Ramesh, V., Topi, H. (2013). Modern Database Management
11th Edition, Prentice Hall.
ASK ANY QUESTION RELATED
TO OUR TOPIC FOR TODAY.
INFORMATION MANAGEMENT
MODULE 3: Enhanced ER Model
MODULE 3 SUBTOPIC 3
OBJECTIVES
■At the end of the chapter, the learner should be able to:
• Define terms
• Understand use of supertype/subtype relationships
• Understand use of specialization and generalization techniques
• Specify completeness and disjointness constraints
• Develop supertype/subtype hierarchies for realistic business
situations
• Develop entity clusters
• Enhanced ER model: extends original ER model with new
modeling constructs
• Subtype: A subgrouping of the entities in an entity type that has
attributes distinct from those in other subgroupings
• Supertype: A generic entity type that has a relationship with one
or more subtypes
• Attribute Inheritance:
• Subtype entities inherit values of all attributes of the supertype
• An instance of a subtype is also an instance of the supertype
a) EER
notation
b) Microsoft
Visio Notation
Different modeling tools may have different notation for the same modeling
constructs.
• Relationships at the supertype level indicate that all subtypes will
participate in the relationship
• The instances of a subtype may participate in a relationship unique
to that subtype. In this situation, the relationship is shown at the
subtype level
All employee subtypes will
have employee number,
name, address, and date
hired
So we put the
shared
attributes in a
supertype
Created 2
subtypes
a) Disjoint rule
Figure 3-7 Examples of disjointness constraints (cont.)
b) Overlap rule
Subtype Discriminator: An attribute of the supertype
whose values determine the target subtype(s)
• Disjoint – a simple attribute with alternative values to indicate the
possible subtypes
• Overlapping – a composite attribute whose subparts pertain to
different subtypes. Each subpart contains a Boolean value to
indicate whether or not the instance belongs to the associated
subtype
Figure 3-8 Introducing a subtype discriminator (disjoint rule)
Figure 3-9 Subtype discriminator (overlap rule)
When a new instance is added to PART, these
components are coded as follows:
Figure 3-10 Example of supertype/subtype hierarchy
• EER diagrams are difficult to read when there are too many entities
and relationships.
• Solution: Group entities and relationships into entity clusters.
• Entity cluster: Set of one or more entity types and associated
relationships grouped into a single abstract entity type
Figure 3-13a Possible
entity clusters for Pine
Valley Furniture in
Microsoft Visio
Related groups of
entities could
become clusters
Figure 3-13b EER diagram of PVF entity clusters
OBJECTIVES
■At the end of the chapter, the learner should be able to:
• Define terms
• List five properties of relations
• State two properties of candidate keys
• Define first, second, and third normal form
• Transform E-R and EER diagrams to relations
• Create tables with entity and relational integrity constraints
• Use normalization to convert anomalous tables to well-structured
relations
The relational data model represents data in the
form of tables.
Data structure
• Tables (relations), rows, columns
Data manipulation
• Powerful SQL operations for retrieving and modifying data
Data integrity
• Mechanisms for implementing business rules that maintain integrity
of manipulated data
• A relation is a named, two-dimensional table of data.
• A table consists of rows (records) and columns (attribute or field).
Figure 4-1
• We must be able to store and retrieve a row of data in a relation, based on the
data values stored in that row.
• Goal: every relation must have primary keys
• A primary key is an attribute or a combination of attributes that uniquely
identifies each row in a relation
• We designate a primary key by underlining the attribute name(s).
• For example, the primary key for the relation EMPLOYEE1 is EmpID. Notice
that this attribute is underlined in Figure 4-1. In shorthand notation, we express
this relation as follows:
• A foreign key is an attribute (possibly composite) in a relation that serves as
the primary key of another relation. For example, consider the relations
EMPLOYEE1 and DEPARTMENT:
• Requirements for a table to qualify as a relation:
• It must have a unique name.
• Every attribute value must be atomic (not multivalued, not composite).
• Every row must be unique (can’t have two rows with exactly the same values for all their fields).
• Attributes (columns) in tables must have unique names.
• The order of the columns must be irrelevant.
• The order of the rows must be irrelevant.
• NOTE: All relations are in 1st Normal form.
• Relations (tables) correspond with entity types and with
many-to-many relationship types.
• Rows correspond with entity instances and with many-to-
many relationship instances.
• Columns correspond with attributes.
Primary Key
Foreign Key (implements 1:N
relationship between customer and order)
Referential integrity
constraints are
drawn via arrows
from dependent to
parent table
3. Referential Integrity–
For example: Delete Rules
• Restrict–don’t allow delete of “parent”
side if related rows exist in “dependent”
side
• Cascade–automatically delete
“dependent” side rows that correspond
with the “parent” side row to be deleted
• Set-to-Null–set the foreign key in the
dependent side to null if deleting from
the parent side → not allowed for weak
entities
Figure 4-6 SQL table definitions
Referential integrity
constraints are
implemented with
foreign key to primary
key references.
Mapping Regular Entities to Relations
• Simple attributes: E-R attributes map directly onto the relation
• Composite attributes: Use only their simple, component attributes
• Multivalued Attribute: Becomes a separate relation with a foreign
key taken from the superior entity
Figure 4-8 Mapping a regular entity
(a) CUSTOMER
entity type with
simple attributes
(a) CUSTOMER
entity type with
composite attribute
(a)
(b)
Relation Dependent
Mapping Binary Relationships
• One-to-Many–Primary key on the one side becomes a foreign key on the many
side
• Many-to-Many–Create a new relation with the primary keys of the two entities
as its primary key
Foreign key
Figure 4-13 Example of mapping an M:N relationship
Foreign key
new
Foreign key intersection
relation
Figure 4-14 Example of mapping a binary 1:1 relationship
b) Resulting relations
a) An associative entity
Figure 4-15 Example of mapping an associative entity (cont.)
(b) EMPLOYEE
relation with
recursive foreign
key
Figure 4-18 Mapping a unary M:N relationship
(a) Bill-of-materials
relationships (M:N)
Remember that This is why treatment But this makes a very It would be better to
the primary key date and time are cumbersome key… create a surrogate
MUST be included in the key like Treatment#.
unique. composite primary
key.
Mapping Supertype/Subtype Relationships
NORMALIZATION
MODULE 4
OBJECTIVES
■At the end of the chapter, the learner should be able to:
• Define terms
• List five properties of relations
• State two properties of candidate keys
• Define first, second, and third normal form
• Transform E-R and EER diagrams to relations
• Create tables with entity and relational integrity constraints
• Use normalization to convert anomalous tables to well-structured
relations
• Primarily a tool to validate and improve a logical design so
that it satisfies certain constraints that avoid unnecessary
duplication of data
• The process of decomposing relations with anomalies to
produce smaller, well-structured relations
• A relation that contains minimal data redundancy and allows users
to insert, delete, and update rows without causing data
inconsistencies
• Goal is to avoid anomalies
Figure 4-1
Example–Figure 4-2b
• The comma between EmpID and CourseTitle stands for the logical AND
operator, because DateCompleted is functionally dependent on EmpID and
CourseTitle in combination.
• The functional dependency in this statement implies that the date when a
course is completed is determined by the identity of the employee and the title
of the course.
Typical examples of functional dependencies are the following:
1. SSN → Name, Address, Birthdate A person’s name, address, and birth date
are functionally dependent on that person’s Social Security number (in other
words, there can be only one Name, one Address, and one Birthdate for each
SSN).
2. VIN → Make, Model, Color The make, model, and the original color of a
vehicle are functionally dependent on the vehicle identification number (as above,
there can be only one value of Make, Model, and Color associated with each
VIN).
3. ISBN → Title, FirstAuthorName, Publisher The title of a book, the name of
the first author, and the publisher are functionally dependent on the book’s
international standard book number (ISBN).
• The attribute on the left side of the arrow in a functional dependencyis called a
determinant.
• SSN, VIN, and ISBN are determinants in the preceding three examples. In the
EMP COURSE relation (Figure 4-7), the combination of EmpID and
CourseTitle is a determinant.
• Candidate key is an attribute, or combination of
attributes, that uniquely identifies a row in a relation. A
candidate key must satisfy the following properties
,which are a subset of the six properties of a relation
previously listed:
• 1. Unique identification For every row, the value of the key must
uniquely identify that row. This property implies that each nonkey
attribute is functionally dependent on that key.
• 2. Nonredundancy No attribute in the key can be deleted without
destroying the property of unique identification.
STEPS IN NORMALIZATION
• No multivalued attributes
• Every attribute value is atomic
• Fig. 4-25 is not in 1st Normal Form (multivalued
attributes) ➔ it is not a relation.
• Fig. 4-26 is in 1st Normal form.
• All relations are in 1st Normal Form.
Table with multivalued attributes, not in 1st normal form
OBJECTIVES
■At the end of the chapter, the learner should be able to:
• Define terms
• List five properties of relations
• State two properties of candidate keys
• Define first, second, and third normal form
• Transform E-R and EER diagrams to relations
• Create tables with entity and relational integrity constraints
• Use normalization to convert anomalous tables to well-structured
relations
The relational data model represents data in the
form of tables.
Data structure
• Tables (relations), rows, columns
Data manipulation
• Powerful SQL operations for retrieving and modifying data
Data integrity
• Mechanisms for implementing business rules that maintain integrity
of manipulated data
• A relation is a named, two-dimensional table of data.
• A table consists of rows (records) and columns (attribute or field).
Figure 4-1
• We must be able to store and retrieve a row of data in a relation, based on the
data values stored in that row.
• Goal: every relation must have primary keys
• A primary key is an attribute or a combination of attributes that uniquely
identifies each row in a relation
• We designate a primary key by underlining the attribute name(s).
• For example, the primary key for the relation EMPLOYEE1 is EmpID. Notice
that this attribute is underlined in Figure 4-1. In shorthand notation, we express
this relation as follows:
• A foreign key is an attribute (possibly composite) in a relation that serves as
the primary key of another relation. For example, consider the relations
EMPLOYEE1 and DEPARTMENT:
• Requirements for a table to qualify as a relation:
• It must have a unique name.
• Every attribute value must be atomic (not multivalued, not composite).
• Every row must be unique (can’t have two rows with exactly the same values for all their fields).
• Attributes (columns) in tables must have unique names.
• The order of the columns must be irrelevant.
• The order of the rows must be irrelevant.
• NOTE: All relations are in 1st Normal form.
• Relations (tables) correspond with entity types and with
many-to-many relationship types.
• Rows correspond with entity instances and with many-to-
many relationship instances.
• Columns correspond with attributes.
Primary Key
Foreign Key (implements 1:N
relationship between customer and order)
Referential integrity
constraints are
drawn via arrows
from dependent to
parent table
3. Referential Integrity–
For example: Delete Rules
• Restrict–don’t allow delete of “parent”
side if related rows exist in “dependent”
side
• Cascade–automatically delete
“dependent” side rows that correspond
with the “parent” side row to be deleted
• Set-to-Null–set the foreign key in the
dependent side to null if deleting from
the parent side → not allowed for weak
entities
Figure 4-6 SQL table definitions
Referential integrity
constraints are
implemented with
foreign key to primary
key references.
Mapping Regular Entities to Relations
• Simple attributes: E-R attributes map directly onto the relation
• Composite attributes: Use only their simple, component attributes
• Multivalued Attribute: Becomes a separate relation with a foreign
key taken from the superior entity
Figure 4-8 Mapping a regular entity
(a) CUSTOMER
entity type with
simple attributes
(a) CUSTOMER
entity type with
composite attribute
(a)
(b)
Relation Dependent
Mapping Binary Relationships
• One-to-Many–Primary key on the one side becomes a foreign key on the many
side
• Many-to-Many–Create a new relation with the primary keys of the two entities
as its primary key
Foreign key
Figure 4-13 Example of mapping an M:N relationship
Foreign key
new
Foreign key intersection
relation
Figure 4-14 Example of mapping a binary 1:1 relationship
b) Resulting relations
a) An associative entity
Figure 4-15 Example of mapping an associative entity (cont.)
(b) EMPLOYEE
relation with
recursive foreign
key
Figure 4-18 Mapping a unary M:N relationship
(a) Bill-of-materials
relationships (M:N)
Remember that This is why treatment But this makes a very It would be better to
the primary key date and time are cumbersome key… create a surrogate
MUST be included in the key like Treatment#.
unique. composite primary
key.
Mapping Supertype/Subtype Relationships
NORMALIZATION
MODULE 4
OBJECTIVES
■At the end of the chapter, the learner should be able to:
• Define terms
• List five properties of relations
• State two properties of candidate keys
• Define first, second, and third normal form
• Transform E-R and EER diagrams to relations
• Create tables with entity and relational integrity constraints
• Use normalization to convert anomalous tables to well-structured
relations
• Primarily a tool to validate and improve a logical design so
that it satisfies certain constraints that avoid unnecessary
duplication of data
• The process of decomposing relations with anomalies to
produce smaller, well-structured relations
• A relation that contains minimal data redundancy and allows users
to insert, delete, and update rows without causing data
inconsistencies
• Goal is to avoid anomalies
Figure 4-1
Example–Figure 4-2b
• The comma between EmpID and CourseTitle stands for the logical AND
operator, because DateCompleted is functionally dependent on EmpID and
CourseTitle in combination.
• The functional dependency in this statement implies that the date when a
course is completed is determined by the identity of the employee and the title
of the course.
Typical examples of functional dependencies are the following:
1. SSN → Name, Address, Birthdate A person’s name, address, and birth date
are functionally dependent on that person’s Social Security number (in other
words, there can be only one Name, one Address, and one Birthdate for each
SSN).
2. VIN → Make, Model, Color The make, model, and the original color of a
vehicle are functionally dependent on the vehicle identification number (as above,
there can be only one value of Make, Model, and Color associated with each
VIN).
3. ISBN → Title, FirstAuthorName, Publisher The title of a book, the name of
the first author, and the publisher are functionally dependent on the book’s
international standard book number (ISBN).
• The attribute on the left side of the arrow in a functional dependencyis called a
determinant.
• SSN, VIN, and ISBN are determinants in the preceding three examples. In the
EMP COURSE relation (Figure 4-7), the combination of EmpID and
CourseTitle is a determinant.
• Candidate key is an attribute, or combination of
attributes, that uniquely identifies a row in a relation. A
candidate key must satisfy the following properties
,which are a subset of the six properties of a relation
previously listed:
• 1. Unique identification For every row, the value of the key must
uniquely identify that row. This property implies that each nonkey
attribute is functionally dependent on that key.
• 2. Nonredundancy No attribute in the key can be deleted without
destroying the property of unique identification.
STEPS IN NORMALIZATION
• No multivalued attributes
• Every attribute value is atomic
• Fig. 4-25 is not in 1st Normal Form (multivalued
attributes) ➔ it is not a relation.
• Fig. 4-26 is in 1st Normal form.
• All relations are in 1st Normal Form.
Table with multivalued attributes, not in 1st normal form