SlideShare a Scribd company logo
Chapter 11
Relational Database Design
Algorithms and Further
Dependencies

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe
Chapter Outline









0. Designing a Set of Relations
1. Properties of Relational Decompositions
2. Algorithms for Relational Database Schema
3. Multivalued Dependencies and Fourth Normal
Form
4. Join Dependencies and Fifth Normal Form
5. Inclusion Dependencies
6. Other Dependencies and Normal Forms

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe

Slide 11- 2
DESIGNING A SET OF RELATIONS
(1)


The Approach of Relational Synthesis
(Bottom-up Design):







Assumes that all possible functional dependencies
are known.
First constructs a minimal set of FDs
Then applies algorithms that construct a target set
of 3NF or BCNF relations.
Additional criteria may be needed to ensure the
the set of relations in a relational database are
satisfactory (see Algorithms 11.2 and 11.4).
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe

Slide 11- 3
DESIGNING A SET OF RELATIONS
(2)


Goals:


Lossless join property (a must)




Dependency preservation property




Algorithm 11.1 tests for general losslessness.
Algorithm 11.3 decomposes a relation into BCNF
components by sacrificing the dependency
preservation.

Additional normal forms



4NF (based on multi-valued dependencies)
5NF (based on join dependencies)

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe

Slide 11- 4
1. Properties of Relational
Decompositions (1)


Relation Decomposition and
Insufficiency of Normal Forms:
 Universal Relation Schema:




A relation schema R = {A1, A2, …, An}
that includes all the attributes of the
database.

Universal relation assumption:


Every attribute name is unique.

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe

Slide 11- 5
Properties of Relational
Decompositions (2)


Relation Decomposition and
Insufficiency of Normal Forms (cont.):


Decomposition:




The process of decomposing the universal relation
schema R into a set of relation schemas D =
{R1,R2, …, Rm} that will become the relational
database schema by using the functional
dependencies.

Attribute preservation condition:


Each attribute in R will appear in at least one
relation schema Ri in the decomposition so that no
attributes are “lost”.

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe

Slide 11- 6
Properties of Relational
Decompositions (2)




Another goal of decomposition is to have each
individual relation Ri in the decomposition D be in
BCNF or 3NF.
Additional properties of decomposition are
needed to prevent from generating spurious
tuples

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe

Slide 11- 7
Properties of Relational
Decompositions (3)


Dependency Preservation Property of a
Decomposition:




Definition: Given a set of dependencies F on R,
the projection of F on Ri, denoted by Ri(F) where
Ri is a subset of R, is the set of dependencies X 
Y in F+ such that the attributes in X υ Y are all
contained in Ri.
Hence, the projection of F on each relation
schema Ri in the decomposition D is the set of
functional dependencies in F+, the closure of F,
such that all their left- and right-hand-side
attributes are in Ri.

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe

Slide 11- 8
Properties of Relational
Decompositions (4)


Dependency Preservation Property of a
Decomposition (cont.):


Dependency Preservation Property:






A decomposition D = {R1, R2, ..., Rm} of R is
dependency-preserving with respect to F if the
union of the projections of F on each Ri in D is
equivalent to F; that is
((R1(F)) υ . . . υ (Rm(F)))+ = F+
(See examples in Fig 10.12a and Fig 10.11)

Claim 1:


It is always possible to find a dependencypreserving decomposition D with respect to F such
that each relation Ri in D is in 3nf.
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe

Slide 11- 9
Properties of Relational
Decompositions (5)


Lossless (Non-additive) Join Property of a
Decomposition:


Definition: Lossless join property: a decomposition D = {R1,
R2, ..., Rm} of R has the lossless (nonadditive) join property
with respect to the set of dependencies F on R if, for every
relation state r of R that satisfies F, the following holds, where *
is the natural join of all the relations in D:

* ( R1(r), ..., Rm(r)) = r



Note: The word loss in lossless refers to loss of information,
not to loss of tuples. In fact, for “loss of information” a better
term is “addition of spurious information”

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe

Slide 11- 10
Properties of Relational
Decompositions (6)
Lossless (Non-additive) Join Property of a Decomposition
(cont.):

Algorithm 11.1: Testing for Lossless Join Property

Input: A universal relation R, a decomposition D = {R1, R2, ...,
Rm} of R, and a set F of functional dependencies.
1. Create an initial matrix S with one row i for each relation Ri in D, and
one column j for each attribute Aj in R.
2. Set S(i,j):=bij for all matrix entries. (* each bij is a distinct symbol
associated with indices (i,j) *).
3. For each row i representing relation schema Ri
{for each column j representing attribute Aj
{if (relation Ri includes attribute Aj) then set S(i,j):= aj;};};

(* each aj is a distinct symbol associated with index (j) *)

CONTINUED on NEXT SLIDE


Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe

Slide 11- 11
Properties of Relational
Decompositions (7)
Lossless (Non-additive) Join Property of a Decomposition (cont.):

Algorithm 11.1: Testing for Lossless Join Property
4. Repeat the following loop until a complete loop execution results in no changes to S
{for each functional dependency X Y in F
{for all rows in S which have the same symbols in the columns corresponding to
attributes in X
{make the symbols in each column that correspond to an attribute in Y
be the same in all these rows as follows:
If any of the rows has an “a” symbol for the column, set the
other rows to that same “a” symbol in the column.
If no “a” symbol exists for the attribute in any of the rows,
choose one of the “b” symbols that appear in one of the rows for the attribute and set
the other rows to that same “b” symbol in the column ;};
};
};
5. If a row is made up entirely of “a” symbols, then the decomposition has the lossless join
property; otherwise it does not.


Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe

Slide 11- 12
Properties of Relational Decompositions
(8)
Lossless (nonadditive) join test for n-ary decompositions.
(a) Case 1: Decomposition of EMP_PROJ into EMP_PROJ1 and
EMP_LOCS fails test.
(b) A decomposition of EMP_PROJ that has the lossless join property.

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe

Slide 11- 13
Properties of Relational Decompositions (8)

Lossless (nonadditive) join
test for n-ary
decompositions.
(c) Case 2: Decomposition
of EMP_PROJ into EMP,
PROJECT, and
WORKS_ON satisfies test.

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe

Slide 11- 14
Properties of Relational
Decompositions (9)


Testing Binary Decompositions for Lossless
Join Property




Binary Decomposition: Decomposition of a
relation R into two relations.
PROPERTY LJ1 (lossless join test for binary
decompositions): A decomposition D = {R1, R2}
of R has the lossless join property with respect to
a set of functional dependencies F on R if and only
if either




The f.d. ((R1 ∩ R2)  (R1- R2)) is in F+, or
The f.d. ((R1 ∩ R2)  (R2 - R1)) is in F+.

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe

Slide 11- 15
3. Multivalued Dependencies and Fourth
Normal Form (1)
(a) The EMP relation with two MVDs: ENAME —>> PNAME and
ENAME —>> DNAME.
(b) Decomposing the EMP relation into two 4NF relations
EMP_PROJECTS and EMP_DEPENDENTS.

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe

Slide 11- 16
3. Multivalued Dependencies and Fourth
Normal Form (1)
(c) The relation SUPPLY with no MVDs is in 4NF but not in 5NF if it has
the JD(R1, R2, R3). (d) Decomposing the relation SUPPLY into the
5NF relations R1, R2, and R3.

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe

Slide 11- 17
Multivalued Dependencies and Fourth Normal
Form (2)
Definition:
A multivalued dependency (MVD) X —>> Y specified on relation
schema R, where X and Y are both subsets of R, specifies the
following constraint on any relation state r of R: If two tuples t1 and
t2 exist in r such that t1[X] = t2[X], then two tuples t3 and t4 should
also exist in r with the following properties, where we use Z to
denote (R – (X υ Y)):









t3[X] = t4[X] = t1[X] = t2[X].

t3[Y] = t1[Y] and t4[Y] = t2[Y].
t3[Z] = t2[Z] and t4[Z] = t1[Z].
An MVD X —>> Y in R is called a trivial MVD if (a) Y is a subset of
X, or (b) X υ Y = R.

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe

Slide 11- 18
Multivalued Dependencies and Fourth Normal
Form (3)
Inference
Rules
for
Multivalued Dependencies:

















Functional

and

IR1 (reflexive rule for FDs): If X  Y, then X –> Y.
IR2 (augmentation rule for FDs): {X –> Y}  XZ –> YZ.
IR3 (transitive rule for FDs): {X –> Y, Y –>Z}  X –> Z.
IR4 (complementation rule for MVDs): {X —>> Y}  X —>>
(R – (X  Y))}.
IR5 (augmentation rule for MVDs): If X —>> Y and W  Z
then WX —>> YZ.
IR6 (transitive rule for MVDs): {X —>> Y, Y —>> Z}  X —>>
(Z 2 Y).
IR7 (replication rule for FD to MVD): {X –> Y}  X —>> Y.
IR8 (coalescence rule for FDs and MVDs): If X —>> Y and
there exists W with the properties that

(a) W  Y is empty, (b) W –> Z, and (c) Y  Z, then X –> Z.
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe

Slide 11- 19
Multivalued Dependencies and Fourth Normal
Form (4)
Definition:

A relation schema R is in 4NF with respect to a set of
dependencies F (that includes functional dependencies
and multivalued dependencies) if, for every nontrivial
multivalued dependency X —>> Y in F+, X is a superkey
for R.


Note: F+ is the (complete) set of all dependencies
(functional or multivalued) that will hold in every relation
state r of R that satisfies F. It is also called the closure of
F.

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe

Slide 11- 20
Multivalued Dependencies and Fourth Normal
Form (5)
Decomposing a relation state of EMP that is not in 4NF:
(a) EMP relation with additional tuples.
(b) Two corresponding 4NF relations EMP_PROJECTS and
EMP_DEPENDENTS.

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe

Slide 11- 21
Fifth Normal Form (5NF)






A table is in 5NF when it is in 4NF and there are
no cyclic dependencies.
Cyclic Dependency: occurs when there is a multifield primary key with three or more fields (ex. A,
B, C) and those fields are related in pairs AB, BC
and AC.
Can occur only with a multi-field primary key of
three or more fields

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe

Slide 11- 22
Sample 5NF Violation


BUYING

*Buyer
Chris
Chris
Chris
Lori

*Product
Jeans
Jeans
Shirts
Jeans

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe

*Company
Levi
Wrangler
Levi
Levi

Slide 11- 23
Do the math


Our sample is two buyers, two products and
two companies, so…
2 x 2 x 2 = 8 total records



But, what if our store has 20 buyers, 50
products and 100 companies?
20 x 50 x 100 = 100,000 total records

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe

Slide 11- 24
Sample 5NF Violation


BUYERS
*Buyer

Chris

Jeans

Chris

Shirts

Lori


*Product

Jeans

PRODUCTS
*Product

*Company

Jeans

Wrangler

Jeans

Levi

Shirts

Levi

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe

Slide 11- 25
The Correct Solution

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe

Slide 11- 26
Check the Math, Again


If our company has 20 buyers, 50 products and
100 companies?
Buyers = 20 x 50 = 1000
Products = 50 x 100 = 5000
Companies = 20 x 100 = 2000
8,000 total records instead of 100,000!

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe

Slide 11- 27
Other Dependencies and Normal Forms (4)
Domain-Key Normal Form (DKNF):








Definition:

A relation schema is said to be in DKNF if all constraints and
dependencies that should hold on the valid relation states can be
enforced simply by enforcing the domain constraints and key
constraints on the relation.
The idea is to specify (theoretically, at least) the ―ultimate normal
form‖ that takes into account all possible types of dependencies and
constraints. .
For a relation in DKNF, it becomes very straightforward to enforce all
database constraints by simply checking that each attribute value in a
tuple is of the appropriate domain and that every key constraint is
enforced.
The practical utility of DKNF is limited

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe

Slide 11- 28

More Related Content

What's hot (20)

PPTX
joins and subqueries in big data analysis
SanSan149
 
PPT
Dbms relational model
Chirag vasava
 
PPTX
SQL commands
GirdharRatne
 
PPTX
SQL - DML and DDL Commands
Shrija Madhu
 
PPTX
Introduction to database & sql
zahid6
 
PPTX
Basic sql Commands
MUHAMMED MASHAHIL PUKKUNNUMMAL
 
PDF
Relational Database and Relational Algebra
Pyingkodi Maran
 
PPTX
SUBQUERIES.pptx
RenugadeviR5
 
PDF
4 the relational data model and relational database constraints
Kumar
 
PDF
ORACLE, SQL, PL/SQL Made very very Easy Happy Learning....
Racharla Rohit Varma
 
PPT
Chapter14
SayantanLahiri4
 
PPT
3. Relational Models in DBMS
koolkampus
 
PPSX
IM02: Database Language
Kelvin Chan
 
PPTX
Dictionaries and Sets
Munazza-Mah-Jabeen
 
PPTX
DML, DDL, DCL ,DRL/DQL and TCL Statements in SQL with Examples
LGS, GBHS&IC, University Of South-Asia, TARA-Technologies
 
PPTX
Ppt on Linked list,stack,queue
Srajan Shukla
 
PDF
Normalization in DBMS
Hitesh Mohapatra
 
PPTX
Doubly Linked List
Ninad Mankar
 
PPT
MySQL and its basic commands
Bwsrang Basumatary
 
PPTX
Decomposition methods in DBMS
soniyagoyal3
 
joins and subqueries in big data analysis
SanSan149
 
Dbms relational model
Chirag vasava
 
SQL commands
GirdharRatne
 
SQL - DML and DDL Commands
Shrija Madhu
 
Introduction to database & sql
zahid6
 
Basic sql Commands
MUHAMMED MASHAHIL PUKKUNNUMMAL
 
Relational Database and Relational Algebra
Pyingkodi Maran
 
SUBQUERIES.pptx
RenugadeviR5
 
4 the relational data model and relational database constraints
Kumar
 
ORACLE, SQL, PL/SQL Made very very Easy Happy Learning....
Racharla Rohit Varma
 
Chapter14
SayantanLahiri4
 
3. Relational Models in DBMS
koolkampus
 
IM02: Database Language
Kelvin Chan
 
Dictionaries and Sets
Munazza-Mah-Jabeen
 
DML, DDL, DCL ,DRL/DQL and TCL Statements in SQL with Examples
LGS, GBHS&IC, University Of South-Asia, TARA-Technologies
 
Ppt on Linked list,stack,queue
Srajan Shukla
 
Normalization in DBMS
Hitesh Mohapatra
 
Doubly Linked List
Ninad Mankar
 
MySQL and its basic commands
Bwsrang Basumatary
 
Decomposition methods in DBMS
soniyagoyal3
 

Viewers also liked (10)

PPT
Dbms4
Suleman Mohd
 
PPT
PHP mysql Aggregate functions
Mudasir Syed
 
PPT
Unit05 dbms
arnold 7490
 
PPTX
New Perspectives: Access.03
Anna Stirling
 
PPTX
Aggregate Function - Database
Shahadat153031
 
PPTX
Normalization
Google Student Ambassador
 
PPT
functional dependencies with example
Siddhi Viradiya
 
PPTX
Physical database design(database)
welcometofacebook
 
PPTX
Dbms slides
rahulrathore725
 
PPT
Database management system presentation
sameerraaj
 
PHP mysql Aggregate functions
Mudasir Syed
 
Unit05 dbms
arnold 7490
 
New Perspectives: Access.03
Anna Stirling
 
Aggregate Function - Database
Shahadat153031
 
functional dependencies with example
Siddhi Viradiya
 
Physical database design(database)
welcometofacebook
 
Dbms slides
rahulrathore725
 
Database management system presentation
sameerraaj
 
Ad

Similar to 7 relational database design algorithms and further dependencies (20)

PPT
Module 4- Database Management System by Navathe
ssuserb36289
 
PPT
Normalization
avniS
 
PPT
For mapping a category whose defining superclass Additional02.ppt
SenzotaSemakuwa
 
PPTX
normalization in SQL BEST NOTES PPT AVAILABLE
DivyanshUpadhyay11
 
PPT
Chapter10in normalization for Data base management system .ppt
sandeep945342
 
PPTX
DBMS_UNIT_IV.pptxbdndjdkdjdndjkdkdkdkdkdkdk
KGowtham16
 
PPT
ch7-clean.ppt
RAJULKUMARSUTHAR
 
PPTX
Functional dependancy
Visakh V
 
PPT
basic concepts of Entity relationship diagram
geta41
 
PPT
DBMS-Unit-3.0 Functional dependencies.ppt
BackiyalakshmiVenkat
 
PPT
Normalisation_2-1-1-normalization in Database management system (1).ppt
sandeep945342
 
PPT
Normalizationwithdetailswithexamples.ppt
DrSomyaDubey
 
PPT
Normalization 1Normal form 2 Normal form
sandeep945342
 
PPT
database management system normalisation
NSureshbabu7
 
PPT
Normalization database management system
NSureshbabu7
 
PPTX
UNIT 2 -PPT.pptx
hemamalinikrishnan2
 
PPT
Normalization in dbms -1nf,2nf,3nf .ppt
ShipraKhandelwal11
 
PPT
Normalization_datastrucuture_algorithm.ppt
abhaysharma999437
 
PPTX
Chapter-9 Normalization
Kunal Anand
 
PPT
Design dbms
IIITA
 
Module 4- Database Management System by Navathe
ssuserb36289
 
Normalization
avniS
 
For mapping a category whose defining superclass Additional02.ppt
SenzotaSemakuwa
 
normalization in SQL BEST NOTES PPT AVAILABLE
DivyanshUpadhyay11
 
Chapter10in normalization for Data base management system .ppt
sandeep945342
 
DBMS_UNIT_IV.pptxbdndjdkdjdndjkdkdkdkdkdkdk
KGowtham16
 
ch7-clean.ppt
RAJULKUMARSUTHAR
 
Functional dependancy
Visakh V
 
basic concepts of Entity relationship diagram
geta41
 
DBMS-Unit-3.0 Functional dependencies.ppt
BackiyalakshmiVenkat
 
Normalisation_2-1-1-normalization in Database management system (1).ppt
sandeep945342
 
Normalizationwithdetailswithexamples.ppt
DrSomyaDubey
 
Normalization 1Normal form 2 Normal form
sandeep945342
 
database management system normalisation
NSureshbabu7
 
Normalization database management system
NSureshbabu7
 
UNIT 2 -PPT.pptx
hemamalinikrishnan2
 
Normalization in dbms -1nf,2nf,3nf .ppt
ShipraKhandelwal11
 
Normalization_datastrucuture_algorithm.ppt
abhaysharma999437
 
Chapter-9 Normalization
Kunal Anand
 
Design dbms
IIITA
 
Ad

More from Kumar (20)

PPT
Graphics devices
Kumar
 
PPT
Fill area algorithms
Kumar
 
PDF
region-filling
Kumar
 
PDF
Bresenham derivation
Kumar
 
PPT
Bresenham circles and polygons derication
Kumar
 
PPTX
Introductionto xslt
Kumar
 
PPTX
Extracting data from xml
Kumar
 
PPTX
Xml basics
Kumar
 
PPTX
XML Schema
Kumar
 
PPTX
Publishing xml
Kumar
 
PPTX
DTD
Kumar
 
PPTX
Applying xml
Kumar
 
PPTX
Introduction to XML
Kumar
 
PDF
How to deploy a j2ee application
Kumar
 
PDF
JNDI, JMS, JPA, XML
Kumar
 
PDF
EJB Fundmentals
Kumar
 
PDF
JSP and struts programming
Kumar
 
PDF
java servlet and servlet programming
Kumar
 
PDF
Introduction to JDBC and JDBC Drivers
Kumar
 
PDF
Introduction to J2EE
Kumar
 
Graphics devices
Kumar
 
Fill area algorithms
Kumar
 
region-filling
Kumar
 
Bresenham derivation
Kumar
 
Bresenham circles and polygons derication
Kumar
 
Introductionto xslt
Kumar
 
Extracting data from xml
Kumar
 
Xml basics
Kumar
 
XML Schema
Kumar
 
Publishing xml
Kumar
 
DTD
Kumar
 
Applying xml
Kumar
 
Introduction to XML
Kumar
 
How to deploy a j2ee application
Kumar
 
JNDI, JMS, JPA, XML
Kumar
 
EJB Fundmentals
Kumar
 
JSP and struts programming
Kumar
 
java servlet and servlet programming
Kumar
 
Introduction to JDBC and JDBC Drivers
Kumar
 
Introduction to J2EE
Kumar
 

Recently uploaded (20)

PPTX
Light Reflection and Refraction- Activities - Class X Science
SONU ACADEMY
 
PPTX
EDUCATIONAL MEDIA/ TEACHING AUDIO VISUAL AIDS
Sonali Gupta
 
PDF
Council of Chalcedon Re-Examined
Smiling Lungs
 
PPTX
HUMAN RESOURCE MANAGEMENT: RECRUITMENT, SELECTION, PLACEMENT, DEPLOYMENT, TRA...
PRADEEP ABOTHU
 
PDF
Is Assignment Help Legal in Australia_.pdf
thomas19williams83
 
PPTX
Difference between write and update in odoo 18
Celine George
 
PDF
Mahidol_Change_Agent_Note_2025-06-27-29_MUSEF
Tassanee Lerksuthirat
 
PDF
WATERSHED MANAGEMENT CASE STUDIES - ULUGURU MOUNTAINS AND ARVARI RIVERpdf
Ar.Asna
 
PPTX
How to Manage Allocation Report for Manufacturing Orders in Odoo 18
Celine George
 
PPTX
Controller Request and Response in Odoo18
Celine George
 
PDF
Horarios de distribución de agua en julio
pegazohn1978
 
PPTX
How to Configure Re-Ordering From Portal in Odoo 18 Website
Celine George
 
PDF
STATEMENT-BY-THE-HON.-MINISTER-FOR-HEALTH-ON-THE-COVID-19-OUTBREAK-AT-UG_revi...
nservice241
 
PPTX
Introduction to Indian Writing in English
Trushali Dodiya
 
PPTX
How to Send Email From Odoo 18 Website - Odoo Slides
Celine George
 
PDF
Reconstruct, Restore, Reimagine: New Perspectives on Stoke Newington’s Histor...
History of Stoke Newington
 
PPTX
DAY 1_QUARTER1 ENGLISH 5 WEEK- PRESENTATION.pptx
BanyMacalintal
 
PDF
Android Programming - Basics of Mobile App, App tools and Android Basics
Kavitha P.V
 
PDF
Aprendendo Arquitetura Framework Salesforce - Dia 03
Mauricio Alexandre Silva
 
PDF
Exploring the Different Types of Experimental Research
Thelma Villaflores
 
Light Reflection and Refraction- Activities - Class X Science
SONU ACADEMY
 
EDUCATIONAL MEDIA/ TEACHING AUDIO VISUAL AIDS
Sonali Gupta
 
Council of Chalcedon Re-Examined
Smiling Lungs
 
HUMAN RESOURCE MANAGEMENT: RECRUITMENT, SELECTION, PLACEMENT, DEPLOYMENT, TRA...
PRADEEP ABOTHU
 
Is Assignment Help Legal in Australia_.pdf
thomas19williams83
 
Difference between write and update in odoo 18
Celine George
 
Mahidol_Change_Agent_Note_2025-06-27-29_MUSEF
Tassanee Lerksuthirat
 
WATERSHED MANAGEMENT CASE STUDIES - ULUGURU MOUNTAINS AND ARVARI RIVERpdf
Ar.Asna
 
How to Manage Allocation Report for Manufacturing Orders in Odoo 18
Celine George
 
Controller Request and Response in Odoo18
Celine George
 
Horarios de distribución de agua en julio
pegazohn1978
 
How to Configure Re-Ordering From Portal in Odoo 18 Website
Celine George
 
STATEMENT-BY-THE-HON.-MINISTER-FOR-HEALTH-ON-THE-COVID-19-OUTBREAK-AT-UG_revi...
nservice241
 
Introduction to Indian Writing in English
Trushali Dodiya
 
How to Send Email From Odoo 18 Website - Odoo Slides
Celine George
 
Reconstruct, Restore, Reimagine: New Perspectives on Stoke Newington’s Histor...
History of Stoke Newington
 
DAY 1_QUARTER1 ENGLISH 5 WEEK- PRESENTATION.pptx
BanyMacalintal
 
Android Programming - Basics of Mobile App, App tools and Android Basics
Kavitha P.V
 
Aprendendo Arquitetura Framework Salesforce - Dia 03
Mauricio Alexandre Silva
 
Exploring the Different Types of Experimental Research
Thelma Villaflores
 

7 relational database design algorithms and further dependencies

  • 1. Chapter 11 Relational Database Design Algorithms and Further Dependencies Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe
  • 2. Chapter Outline        0. Designing a Set of Relations 1. Properties of Relational Decompositions 2. Algorithms for Relational Database Schema 3. Multivalued Dependencies and Fourth Normal Form 4. Join Dependencies and Fifth Normal Form 5. Inclusion Dependencies 6. Other Dependencies and Normal Forms Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 11- 2
  • 3. DESIGNING A SET OF RELATIONS (1)  The Approach of Relational Synthesis (Bottom-up Design):     Assumes that all possible functional dependencies are known. First constructs a minimal set of FDs Then applies algorithms that construct a target set of 3NF or BCNF relations. Additional criteria may be needed to ensure the the set of relations in a relational database are satisfactory (see Algorithms 11.2 and 11.4). Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 11- 3
  • 4. DESIGNING A SET OF RELATIONS (2)  Goals:  Lossless join property (a must)   Dependency preservation property   Algorithm 11.1 tests for general losslessness. Algorithm 11.3 decomposes a relation into BCNF components by sacrificing the dependency preservation. Additional normal forms   4NF (based on multi-valued dependencies) 5NF (based on join dependencies) Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 11- 4
  • 5. 1. Properties of Relational Decompositions (1)  Relation Decomposition and Insufficiency of Normal Forms:  Universal Relation Schema:   A relation schema R = {A1, A2, …, An} that includes all the attributes of the database. Universal relation assumption:  Every attribute name is unique. Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 11- 5
  • 6. Properties of Relational Decompositions (2)  Relation Decomposition and Insufficiency of Normal Forms (cont.):  Decomposition:   The process of decomposing the universal relation schema R into a set of relation schemas D = {R1,R2, …, Rm} that will become the relational database schema by using the functional dependencies. Attribute preservation condition:  Each attribute in R will appear in at least one relation schema Ri in the decomposition so that no attributes are “lost”. Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 11- 6
  • 7. Properties of Relational Decompositions (2)   Another goal of decomposition is to have each individual relation Ri in the decomposition D be in BCNF or 3NF. Additional properties of decomposition are needed to prevent from generating spurious tuples Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 11- 7
  • 8. Properties of Relational Decompositions (3)  Dependency Preservation Property of a Decomposition:   Definition: Given a set of dependencies F on R, the projection of F on Ri, denoted by Ri(F) where Ri is a subset of R, is the set of dependencies X  Y in F+ such that the attributes in X υ Y are all contained in Ri. Hence, the projection of F on each relation schema Ri in the decomposition D is the set of functional dependencies in F+, the closure of F, such that all their left- and right-hand-side attributes are in Ri. Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 11- 8
  • 9. Properties of Relational Decompositions (4)  Dependency Preservation Property of a Decomposition (cont.):  Dependency Preservation Property:    A decomposition D = {R1, R2, ..., Rm} of R is dependency-preserving with respect to F if the union of the projections of F on each Ri in D is equivalent to F; that is ((R1(F)) υ . . . υ (Rm(F)))+ = F+ (See examples in Fig 10.12a and Fig 10.11) Claim 1:  It is always possible to find a dependencypreserving decomposition D with respect to F such that each relation Ri in D is in 3nf. Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 11- 9
  • 10. Properties of Relational Decompositions (5)  Lossless (Non-additive) Join Property of a Decomposition:  Definition: Lossless join property: a decomposition D = {R1, R2, ..., Rm} of R has the lossless (nonadditive) join property with respect to the set of dependencies F on R if, for every relation state r of R that satisfies F, the following holds, where * is the natural join of all the relations in D: * ( R1(r), ..., Rm(r)) = r  Note: The word loss in lossless refers to loss of information, not to loss of tuples. In fact, for “loss of information” a better term is “addition of spurious information” Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 11- 10
  • 11. Properties of Relational Decompositions (6) Lossless (Non-additive) Join Property of a Decomposition (cont.):  Algorithm 11.1: Testing for Lossless Join Property  Input: A universal relation R, a decomposition D = {R1, R2, ..., Rm} of R, and a set F of functional dependencies. 1. Create an initial matrix S with one row i for each relation Ri in D, and one column j for each attribute Aj in R. 2. Set S(i,j):=bij for all matrix entries. (* each bij is a distinct symbol associated with indices (i,j) *). 3. For each row i representing relation schema Ri {for each column j representing attribute Aj {if (relation Ri includes attribute Aj) then set S(i,j):= aj;};};  (* each aj is a distinct symbol associated with index (j) *)  CONTINUED on NEXT SLIDE  Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 11- 11
  • 12. Properties of Relational Decompositions (7) Lossless (Non-additive) Join Property of a Decomposition (cont.):  Algorithm 11.1: Testing for Lossless Join Property 4. Repeat the following loop until a complete loop execution results in no changes to S {for each functional dependency X Y in F {for all rows in S which have the same symbols in the columns corresponding to attributes in X {make the symbols in each column that correspond to an attribute in Y be the same in all these rows as follows: If any of the rows has an “a” symbol for the column, set the other rows to that same “a” symbol in the column. If no “a” symbol exists for the attribute in any of the rows, choose one of the “b” symbols that appear in one of the rows for the attribute and set the other rows to that same “b” symbol in the column ;}; }; }; 5. If a row is made up entirely of “a” symbols, then the decomposition has the lossless join property; otherwise it does not.  Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 11- 12
  • 13. Properties of Relational Decompositions (8) Lossless (nonadditive) join test for n-ary decompositions. (a) Case 1: Decomposition of EMP_PROJ into EMP_PROJ1 and EMP_LOCS fails test. (b) A decomposition of EMP_PROJ that has the lossless join property. Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 11- 13
  • 14. Properties of Relational Decompositions (8) Lossless (nonadditive) join test for n-ary decompositions. (c) Case 2: Decomposition of EMP_PROJ into EMP, PROJECT, and WORKS_ON satisfies test. Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 11- 14
  • 15. Properties of Relational Decompositions (9)  Testing Binary Decompositions for Lossless Join Property   Binary Decomposition: Decomposition of a relation R into two relations. PROPERTY LJ1 (lossless join test for binary decompositions): A decomposition D = {R1, R2} of R has the lossless join property with respect to a set of functional dependencies F on R if and only if either   The f.d. ((R1 ∩ R2)  (R1- R2)) is in F+, or The f.d. ((R1 ∩ R2)  (R2 - R1)) is in F+. Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 11- 15
  • 16. 3. Multivalued Dependencies and Fourth Normal Form (1) (a) The EMP relation with two MVDs: ENAME —>> PNAME and ENAME —>> DNAME. (b) Decomposing the EMP relation into two 4NF relations EMP_PROJECTS and EMP_DEPENDENTS. Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 11- 16
  • 17. 3. Multivalued Dependencies and Fourth Normal Form (1) (c) The relation SUPPLY with no MVDs is in 4NF but not in 5NF if it has the JD(R1, R2, R3). (d) Decomposing the relation SUPPLY into the 5NF relations R1, R2, and R3. Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 11- 17
  • 18. Multivalued Dependencies and Fourth Normal Form (2) Definition: A multivalued dependency (MVD) X —>> Y specified on relation schema R, where X and Y are both subsets of R, specifies the following constraint on any relation state r of R: If two tuples t1 and t2 exist in r such that t1[X] = t2[X], then two tuples t3 and t4 should also exist in r with the following properties, where we use Z to denote (R – (X υ Y)):      t3[X] = t4[X] = t1[X] = t2[X]. t3[Y] = t1[Y] and t4[Y] = t2[Y]. t3[Z] = t2[Z] and t4[Z] = t1[Z]. An MVD X —>> Y in R is called a trivial MVD if (a) Y is a subset of X, or (b) X υ Y = R. Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 11- 18
  • 19. Multivalued Dependencies and Fourth Normal Form (3) Inference Rules for Multivalued Dependencies:          Functional and IR1 (reflexive rule for FDs): If X  Y, then X –> Y. IR2 (augmentation rule for FDs): {X –> Y}  XZ –> YZ. IR3 (transitive rule for FDs): {X –> Y, Y –>Z}  X –> Z. IR4 (complementation rule for MVDs): {X —>> Y}  X —>> (R – (X  Y))}. IR5 (augmentation rule for MVDs): If X —>> Y and W  Z then WX —>> YZ. IR6 (transitive rule for MVDs): {X —>> Y, Y —>> Z}  X —>> (Z 2 Y). IR7 (replication rule for FD to MVD): {X –> Y}  X —>> Y. IR8 (coalescence rule for FDs and MVDs): If X —>> Y and there exists W with the properties that  (a) W  Y is empty, (b) W –> Z, and (c) Y  Z, then X –> Z. Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 11- 19
  • 20. Multivalued Dependencies and Fourth Normal Form (4) Definition:  A relation schema R is in 4NF with respect to a set of dependencies F (that includes functional dependencies and multivalued dependencies) if, for every nontrivial multivalued dependency X —>> Y in F+, X is a superkey for R.  Note: F+ is the (complete) set of all dependencies (functional or multivalued) that will hold in every relation state r of R that satisfies F. It is also called the closure of F. Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 11- 20
  • 21. Multivalued Dependencies and Fourth Normal Form (5) Decomposing a relation state of EMP that is not in 4NF: (a) EMP relation with additional tuples. (b) Two corresponding 4NF relations EMP_PROJECTS and EMP_DEPENDENTS. Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 11- 21
  • 22. Fifth Normal Form (5NF)    A table is in 5NF when it is in 4NF and there are no cyclic dependencies. Cyclic Dependency: occurs when there is a multifield primary key with three or more fields (ex. A, B, C) and those fields are related in pairs AB, BC and AC. Can occur only with a multi-field primary key of three or more fields Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 11- 22
  • 23. Sample 5NF Violation  BUYING *Buyer Chris Chris Chris Lori *Product Jeans Jeans Shirts Jeans Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe *Company Levi Wrangler Levi Levi Slide 11- 23
  • 24. Do the math  Our sample is two buyers, two products and two companies, so… 2 x 2 x 2 = 8 total records  But, what if our store has 20 buyers, 50 products and 100 companies? 20 x 50 x 100 = 100,000 total records Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 11- 24
  • 26. The Correct Solution Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 11- 26
  • 27. Check the Math, Again  If our company has 20 buyers, 50 products and 100 companies? Buyers = 20 x 50 = 1000 Products = 50 x 100 = 5000 Companies = 20 x 100 = 2000 8,000 total records instead of 100,000! Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 11- 27
  • 28. Other Dependencies and Normal Forms (4) Domain-Key Normal Form (DKNF):     Definition:  A relation schema is said to be in DKNF if all constraints and dependencies that should hold on the valid relation states can be enforced simply by enforcing the domain constraints and key constraints on the relation. The idea is to specify (theoretically, at least) the ―ultimate normal form‖ that takes into account all possible types of dependencies and constraints. . For a relation in DKNF, it becomes very straightforward to enforce all database constraints by simply checking that each attribute value in a tuple is of the appropriate domain and that every key constraint is enforced. The practical utility of DKNF is limited Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 11- 28