SlideShare une entreprise Scribd logo
1  sur  35
Smt.S.V.Policepatil
Dept of CSE S.S.M polytechnic
vijayapur
Relational database design: The grouping of
attributes to form "good" relation schemas
Two levels of relation schemas:
The logical "user view" level
The storage "base relation" level
Design is concerned mainly with base relations
Criteria for "good" base relations:
Discuss informal guidelines for good relational design
Discuss formal concepts of functional dependencies
and normal forms 1NF 2NF 3NF BCNF
Each tuple in a relation should represent one
entity or relationship instance
Only foreign keys should be used to refer to other
entities
Entity and relationship attributes should be kept apart
as much as possible
Design a schema that can be explained easily relation
by relation. The semantics of attributes should be easy
to interpret.
Mixing attributes of multiple entities may cause
problems
Information is stored redundantly wasting storage
 Problems with update anomalies:
Insertion anomalies
Deletion anomalies
Modification anomalies
Consider the relation:
EMP_PROJ ( Emp#, Proj#, Ename, Pname, No_hours)
Update Anomaly
Changing the name of project number P1 from “Billing” to
“Customer-Accounting” may cause this update to be made for
all 100 employees working on project P1
Insert Anomaly
Cannot insert a project unless an employee is assigned to .
Inversely- Cannot insert an employee unless he/she is assigned
to a project.
Delete Anomaly
When a project is deleted, it will result in deleting all the
employees who work on that project. Alternately, if an
employee is the sole employee on a project, deleting that
employee would result in deleting the corresponding project.
Design a schema that does not suffer from the
insertion, deletion and update anomalies. If
there are any present, then note them so that
applications can be made to take them into
account
Relations should be designed such that their
tuples will have as few NULL values as possible
Attributes that are NULL frequently could be placed in
separate relations (with the primary key)
Reasons for nulls:
 a. attribute not applicable or invalid
 b. attribute value unkown (may exist)
 c. value known to exist, but unavailable
Bad designs for a relational database may result in
erroneous results for certain JOIN operations
The "lossless join" property is used to guarantee
meaningful results for join operations
The relations should be designed to satisfy the
lossless join condition. No spurious tuples should
be generated by doing a natural-join of any
relations
Functional dependencies (FDs) are used to specify
formal measures of the "goodness" of relational
designs
FDs and keys are used to define normal forms for
relations
FDs are constraints that are derived from the
meaning and interrelationships of the data attributes
A set of attributes X functionally determines a set of
attributes Y if the value of X determines a unique value
for Y
X Y holds if whenever two tuples have the same value
for X, they must have the same value for Y
If t1[X]=t2[X], then t1[Y]=t2[Y] in any relation instance r(R)
X  Y in R specifies a constraint on all relation
instances r(R)
FDs are derived from the real-world constraints on the
attributes
Social Security Number determines employee
name
SSN  ENAME
Project Number determines project name and
location
PNUMBER  {PNAME, PLOCATION}
Employee SSN and project number determines
the hours per week that the employee works on
the project
{SSN, PNUMBER}  HOURS
An FD is a property of the attributes in the schema R
The constraint must hold on every relation instance
r(R)
 If K is a key of R, then K functionally determines all
attributes in R (since we never have two distinct
tuples with t1[K]=t2[K])
Given a set of FDs F, we can infer additional FDs
that hold whenever the FDs in F hold
Armstrong's inference rules
A1. (Reflexive) If Y subset-of X, then X  Y
A2. (Augmentation) If X  Y, then XZ  YZ
(Notation: XZ stands for X U Z)
A3. (Transitive) If X  Y and Y  Z, then X  Z
A1, A2, A3 form a sound and complete set of
inference rules
Decomposition
 If X  YZ, then X  Y and X  Z
Union
 If X  Y and X  Z, then X  YZ
Psuedotransitivity
If X  Y and WY  Z, then WX  Z
Closure of a set F of FDs is the set F+ of all FDs
that can be inferred from F
Normalization: Process of decomposing
unsatisfactory "bad" relations by breaking up their
attributes into smaller relations
Normal form: Condition using keys and FDs of a
relation to certify whether a relation schema is in
a particular normal form
2NF, 3NF, BCNF based on keys and FDs of a relation
schema
4NF based on keys, multi-valued dependencies
Disallows composite attributes, multivalued
attributes, and nested relations; attributes whose
values for an individual tuple are non-atomic
Considered to be part of the definition of relation
Uses the concepts of FDs, primary key
Definitions:
Prime attribute - attribute that is member of the
primary key K
Full functional dependency - a FD Y  Z where
removal of any attribute from Y means the FD does not
hold any more
{SSN, PNUMBER}  HOURS is a full FD since neither
SSN  HOURS nor PNUMBER  HOURS hold
{SSN, PNUMBER}  ENAME is not a full FD (it is
called a partial dependency ) since SSN  ENAME also
holds
A relation schema R is in second normal form (2NF) if
every non-prime attribute A in R is fully functionally
dependent on the primary key
R can be decomposed into 2NF relations via the process
of 2NF normalization
Definition
Transitive functional dependency – if there a set of
atribute Z that are neither a primary or candidate key
and both X  Z and Y  Z holds.
Examples:
SSN  DMGRSSN is a transitive FD since
SSN  DNUMBER and DNUMBER  DMGRSSN hold
SSN  ENAME is non-transitive since there is no set of
attributes X where SSN  X and X  ENAME
A relation schema R is in third normal form (3NF) if it
is in 2NF and no non-prime attribute A in R is
transitively dependent on the primary key
A relation schema R is in Boyce-Codd Normal
Form (BCNF) if whenever an FD X  A holds in
R, then X is a superkey of R
Each normal form is strictly stronger than the previous
one:
 Every 2NF relation is in 1NF
Every 3NF relation is in 2NF
Every BCNF relation is in 3NF
There exist relations that are in 3NF but not in BCNF
The goal is to have each relation in BCNF (or 3NF)
{Student,course}  Instructor
Instructor  Course
Decomposing into 2 schemas
{Student,Instructor} {Student,Course}
{Course,Instructor} {Student,Course}
{Course,Instructor} {Instructor,Student}
Given the relation
Book(Book_title, Authorname, Book_type, Listprice,
Author_affil, Publisher)
The FDs are
Book_title  Publisher, Book_type
Book_type  Listprice
Authorname Author_affil
What normal form the relation in?

Contenu connexe

Tendances

Functional dependencies and normalization
Functional dependencies and normalizationFunctional dependencies and normalization
Functional dependencies and normalization
daxesh chauhan
 
Multivalued dependency
Multivalued dependencyMultivalued dependency
Multivalued dependency
avniS
 
Normalization(15.09.2010)
Normalization(15.09.2010)Normalization(15.09.2010)
Normalization(15.09.2010)
Ravi Shekhar
 

Tendances (19)

Chapter10
Chapter10Chapter10
Chapter10
 
Fd & Normalization - Database Management System
Fd & Normalization - Database Management SystemFd & Normalization - Database Management System
Fd & Normalization - Database Management System
 
Normalization
NormalizationNormalization
Normalization
 
Functional dependency
Functional dependencyFunctional dependency
Functional dependency
 
Database normalization
Database normalizationDatabase normalization
Database normalization
 
Functional dependency
Functional dependencyFunctional dependency
Functional dependency
 
PRXChange: Accept No Substitutions
PRXChange: Accept No SubstitutionsPRXChange: Accept No Substitutions
PRXChange: Accept No Substitutions
 
Functional dependencies and normalization
Functional dependencies and normalizationFunctional dependencies and normalization
Functional dependencies and normalization
 
Functional dependancy
Functional dependancyFunctional dependancy
Functional dependancy
 
Multivalued dependency
Multivalued dependencyMultivalued dependency
Multivalued dependency
 
Normalization
NormalizationNormalization
Normalization
 
Normalization of Data Base
Normalization of Data BaseNormalization of Data Base
Normalization of Data Base
 
8 normalization
8 normalization8 normalization
8 normalization
 
18.2.14
18.2.1418.2.14
18.2.14
 
Normalization
NormalizationNormalization
Normalization
 
Normalization (1)
Normalization (1)Normalization (1)
Normalization (1)
 
8 normalization (1)
8 normalization (1)8 normalization (1)
8 normalization (1)
 
Functional dependencies in Database Management System
Functional dependencies in Database Management SystemFunctional dependencies in Database Management System
Functional dependencies in Database Management System
 
Normalization(15.09.2010)
Normalization(15.09.2010)Normalization(15.09.2010)
Normalization(15.09.2010)
 

Similaire à Function Dependencies and Normalization

Normalization
NormalizationNormalization
Normalization
avniS
 
4 the relational data model and relational database constraints
4 the relational data model and relational database constraints4 the relational data model and relational database constraints
4 the relational data model and relational database constraints
Kumar
 
Er & eer to relational mapping
Er & eer to relational mappingEr & eer to relational mapping
Er & eer to relational mapping
saurabhshertukde
 
7 relational database design algorithms and further dependencies
7 relational database design algorithms and further dependencies7 relational database design algorithms and further dependencies
7 relational database design algorithms and further dependencies
Kumar
 
RDBMS ER2 Relational
RDBMS ER2 RelationalRDBMS ER2 Relational
RDBMS ER2 Relational
Sarmad Ali
 

Similaire à Function Dependencies and Normalization (20)

Normalization
NormalizationNormalization
Normalization
 
Unit05 dbms
Unit05 dbmsUnit05 dbms
Unit05 dbms
 
Normalization
NormalizationNormalization
Normalization
 
functionaldependenciesandnormalization-150628061940-lva1-app6891.pdf
functionaldependenciesandnormalization-150628061940-lva1-app6891.pdffunctionaldependenciesandnormalization-150628061940-lva1-app6891.pdf
functionaldependenciesandnormalization-150628061940-lva1-app6891.pdf
 
Normalization
NormalizationNormalization
Normalization
 
eaxmple of Normalisation
eaxmple of Normalisationeaxmple of Normalisation
eaxmple of Normalisation
 
The relational data model part[1]
The relational data model part[1]The relational data model part[1]
The relational data model part[1]
 
ch7-clean.ppt
ch7-clean.pptch7-clean.ppt
ch7-clean.ppt
 
4 the relational data model and relational database constraints
4 the relational data model and relational database constraints4 the relational data model and relational database constraints
4 the relational data model and relational database constraints
 
Er & eer to relational mapping
Er & eer to relational mappingEr & eer to relational mapping
Er & eer to relational mapping
 
L8 design1
L8 design1L8 design1
L8 design1
 
Fundamentals of database system - Relational data model and relational datab...
Fundamentals of database system  - Relational data model and relational datab...Fundamentals of database system  - Relational data model and relational datab...
Fundamentals of database system - Relational data model and relational datab...
 
Database Systems - Normalization of Relations(Chapter 4/3)
Database Systems - Normalization of Relations(Chapter 4/3)Database Systems - Normalization of Relations(Chapter 4/3)
Database Systems - Normalization of Relations(Chapter 4/3)
 
functional dependency in engineering.pptx
functional dependency in engineering.pptxfunctional dependency in engineering.pptx
functional dependency in engineering.pptx
 
relational model.pptx
relational model.pptxrelational model.pptx
relational model.pptx
 
Top schools in india
Top schools in indiaTop schools in india
Top schools in india
 
7 relational database design algorithms and further dependencies
7 relational database design algorithms and further dependencies7 relational database design algorithms and further dependencies
7 relational database design algorithms and further dependencies
 
Chapter 4
Chapter 4Chapter 4
Chapter 4
 
RDBMS ER2 Relational
RDBMS ER2 RelationalRDBMS ER2 Relational
RDBMS ER2 Relational
 
4-therelationaldatamodelandrelationaldatabaseconstraints-140128022150-phpapp0...
4-therelationaldatamodelandrelationaldatabaseconstraints-140128022150-phpapp0...4-therelationaldatamodelandrelationaldatabaseconstraints-140128022150-phpapp0...
4-therelationaldatamodelandrelationaldatabaseconstraints-140128022150-phpapp0...
 

Dernier

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Dernier (20)

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 

Function Dependencies and Normalization

  • 1. Smt.S.V.Policepatil Dept of CSE S.S.M polytechnic vijayapur
  • 2. Relational database design: The grouping of attributes to form "good" relation schemas Two levels of relation schemas: The logical "user view" level The storage "base relation" level Design is concerned mainly with base relations Criteria for "good" base relations: Discuss informal guidelines for good relational design Discuss formal concepts of functional dependencies and normal forms 1NF 2NF 3NF BCNF
  • 3. Each tuple in a relation should represent one entity or relationship instance Only foreign keys should be used to refer to other entities Entity and relationship attributes should be kept apart as much as possible Design a schema that can be explained easily relation by relation. The semantics of attributes should be easy to interpret.
  • 4.
  • 5.
  • 6. Mixing attributes of multiple entities may cause problems Information is stored redundantly wasting storage  Problems with update anomalies: Insertion anomalies Deletion anomalies Modification anomalies
  • 7.
  • 8.
  • 9. Consider the relation: EMP_PROJ ( Emp#, Proj#, Ename, Pname, No_hours) Update Anomaly Changing the name of project number P1 from “Billing” to “Customer-Accounting” may cause this update to be made for all 100 employees working on project P1 Insert Anomaly Cannot insert a project unless an employee is assigned to . Inversely- Cannot insert an employee unless he/she is assigned to a project.
  • 10. Delete Anomaly When a project is deleted, it will result in deleting all the employees who work on that project. Alternately, if an employee is the sole employee on a project, deleting that employee would result in deleting the corresponding project. Design a schema that does not suffer from the insertion, deletion and update anomalies. If there are any present, then note them so that applications can be made to take them into account
  • 11. Relations should be designed such that their tuples will have as few NULL values as possible Attributes that are NULL frequently could be placed in separate relations (with the primary key) Reasons for nulls:  a. attribute not applicable or invalid  b. attribute value unkown (may exist)  c. value known to exist, but unavailable
  • 12. Bad designs for a relational database may result in erroneous results for certain JOIN operations The "lossless join" property is used to guarantee meaningful results for join operations The relations should be designed to satisfy the lossless join condition. No spurious tuples should be generated by doing a natural-join of any relations
  • 13.
  • 14. Functional dependencies (FDs) are used to specify formal measures of the "goodness" of relational designs FDs and keys are used to define normal forms for relations FDs are constraints that are derived from the meaning and interrelationships of the data attributes
  • 15. A set of attributes X functionally determines a set of attributes Y if the value of X determines a unique value for Y X Y holds if whenever two tuples have the same value for X, they must have the same value for Y If t1[X]=t2[X], then t1[Y]=t2[Y] in any relation instance r(R) X  Y in R specifies a constraint on all relation instances r(R) FDs are derived from the real-world constraints on the attributes
  • 16. Social Security Number determines employee name SSN  ENAME Project Number determines project name and location PNUMBER  {PNAME, PLOCATION} Employee SSN and project number determines the hours per week that the employee works on the project {SSN, PNUMBER}  HOURS
  • 17. An FD is a property of the attributes in the schema R The constraint must hold on every relation instance r(R)  If K is a key of R, then K functionally determines all attributes in R (since we never have two distinct tuples with t1[K]=t2[K])
  • 18. Given a set of FDs F, we can infer additional FDs that hold whenever the FDs in F hold Armstrong's inference rules A1. (Reflexive) If Y subset-of X, then X  Y A2. (Augmentation) If X  Y, then XZ  YZ (Notation: XZ stands for X U Z) A3. (Transitive) If X  Y and Y  Z, then X  Z A1, A2, A3 form a sound and complete set of inference rules
  • 19. Decomposition  If X  YZ, then X  Y and X  Z Union  If X  Y and X  Z, then X  YZ Psuedotransitivity If X  Y and WY  Z, then WX  Z Closure of a set F of FDs is the set F+ of all FDs that can be inferred from F
  • 20. Normalization: Process of decomposing unsatisfactory "bad" relations by breaking up their attributes into smaller relations Normal form: Condition using keys and FDs of a relation to certify whether a relation schema is in a particular normal form 2NF, 3NF, BCNF based on keys and FDs of a relation schema 4NF based on keys, multi-valued dependencies
  • 21. Disallows composite attributes, multivalued attributes, and nested relations; attributes whose values for an individual tuple are non-atomic Considered to be part of the definition of relation
  • 22.
  • 23.
  • 24. Uses the concepts of FDs, primary key Definitions: Prime attribute - attribute that is member of the primary key K Full functional dependency - a FD Y  Z where removal of any attribute from Y means the FD does not hold any more
  • 25. {SSN, PNUMBER}  HOURS is a full FD since neither SSN  HOURS nor PNUMBER  HOURS hold {SSN, PNUMBER}  ENAME is not a full FD (it is called a partial dependency ) since SSN  ENAME also holds A relation schema R is in second normal form (2NF) if every non-prime attribute A in R is fully functionally dependent on the primary key R can be decomposed into 2NF relations via the process of 2NF normalization
  • 26.
  • 27.
  • 28. Definition Transitive functional dependency – if there a set of atribute Z that are neither a primary or candidate key and both X  Z and Y  Z holds. Examples: SSN  DMGRSSN is a transitive FD since SSN  DNUMBER and DNUMBER  DMGRSSN hold SSN  ENAME is non-transitive since there is no set of attributes X where SSN  X and X  ENAME
  • 29. A relation schema R is in third normal form (3NF) if it is in 2NF and no non-prime attribute A in R is transitively dependent on the primary key
  • 30. A relation schema R is in Boyce-Codd Normal Form (BCNF) if whenever an FD X  A holds in R, then X is a superkey of R Each normal form is strictly stronger than the previous one:  Every 2NF relation is in 1NF Every 3NF relation is in 2NF Every BCNF relation is in 3NF There exist relations that are in 3NF but not in BCNF The goal is to have each relation in BCNF (or 3NF)
  • 31.
  • 32.
  • 33. {Student,course}  Instructor Instructor  Course Decomposing into 2 schemas {Student,Instructor} {Student,Course} {Course,Instructor} {Student,Course} {Course,Instructor} {Instructor,Student}
  • 34. Given the relation Book(Book_title, Authorname, Book_type, Listprice, Author_affil, Publisher) The FDs are Book_title  Publisher, Book_type Book_type  Listprice Authorname Author_affil
  • 35. What normal form the relation in?