SlideShare a Scribd company logo
1 of 31
Normalization - I

         Gagan Deep
           Assistant Professor
           University College,
  Kurukshetra University, Kurukshetra
                    &
                 Director
      Rozy Computech Services, 3rd
Gate, Kurukshetra University, Kurukshetra
            Rozy Computech Services, Kurukshetra
                   university, Kurukshetra
Contents of Discussion


Today’s our topics of Discussion are
• What Normalization is?
• Functional Dependencies




                 Rozy Computech Services, Kurukshetra
                        university, Kurukshetra
BASICS – You must know


• My topics Normalization is of Relational
  Database.
Before Discussing them I am just briefing the
following topics
• Relation?
• Entity ?
• Keys?
               Rozy Computech Services, Kurukshetra
                      university, Kurukshetra
What a Relation is?
             A Table of Employee Database
EmplNo.    Name        DOB          Department Salary
101        Mukesh      10-06-72     Mathematics 5000
102        Rajesh      02-08-67     Physics        5600
103        Mohan       01-12-70     Chemistry      6200
104        Rajesh      12-01-71     Mathematics 4200

 Relation, Entity, Attributes, Attribute Values, Record,
 Tuple, Domain, Primary Key, Secondary Key
                     Rozy Computech Services, Kurukshetra
                            university, Kurukshetra
We Discussed in Last Table

•   Relation
•   Entity
•   Attribute
•   Attribute Values
•   Record
•   Tuple
•   Domain
•   Primary Key
•   Secondary Key
                       Rozy Computech Services, Kurukshetra
                              university, Kurukshetra
Keys
Super Key : A super key is a primary key for a
relation is a set of attributes that uniquely
identifies a tuple.
Candidate Key : A candidate key is a super key
such that no proper subset is a super key.
 EmplNo.   Name            DOB                      Department Salary

 101       Mukesh          10-06-72                 Mathematics 5000
 102       Rajesh          02-08-67                 Physics
                    Rozy Computech Services, Kurukshetra       5600
                           university, Kurukshetra
Foreign Key
• A foreign key is an attribute of a relation that
  is the primary key of another relations. We
  will call the relation in which the attribute is
  the primary key is home relation.




                  Rozy Computech Services, Kurukshetra
                         university, Kurukshetra
( a) Game is Foreign Key here                   b) Game is Primary Key
Rollno   Name       Game
                                                             Game         Fees
101      Devesh     Tennis                                   Tennis       100
102      Rajesh     Cricket                                  Cricket      150
103      Ravinder   0                                        Swim         200
104      Tilak      Swim                                     Football     175
105      Suman      Football                                 Handball     225
106      Saminder   Tennis                                   Basketball   265




                      Rozy Computech Services, Kurukshetra
                             university, Kurukshetra
Our Concern

• In this lecture we discuss some of the theory
  that has been developed to attempt to choose
  GOOD relations or relational models or
  relational schemas - that is to measure
  formally why one set of grouping of attributes
  into relations is better than another.
• There are two levels at which we can discuss
  the goodness of relations.
                Rozy Computech Services, Kurukshetra
                       university, Kurukshetra
• The first is the logical level, which refers to
  how the users interpret the relations and
  meaning of other attributes. Having good
  relations at this level helps the users to
  understand clearly the meaning of the data
  tuples in the relations, and hence to formulate
  their queries correctly.

                 Rozy Computech Services, Kurukshetra
                        university, Kurukshetra
• The second is the manipulation (or storage)
  level, which refers to how the tuple in a base
  relation are stored and updated.
• This level applies only to base relations –
  which will physically stored as files- whereas
  at the logical level we are interested in both
  base relations and views.

                Rozy Computech Services, Kurukshetra
                       university, Kurukshetra
OBJECTIVES OF
                    NORMALIZATION
• The basic objective of logical modeling is to
  develop a good description of the data, its
  relationships, and its constraints. For the
  relational model, this means that we must
  identify a suitable set or relations. However,
  the task of choosing the relations is a difficult
  one, because there are many options for the
  designer to consider. The techniques
  presented here are based on a large body of
  research in to the logical design process called
  Normalization. Rozy Computech Services, Kurukshetra
                        university, Kurukshetra
• The purpose of normalization is to produce a stable
  set of relations that is a faithful model of the
  operations of the enterprise. By following the
  principles of normalization, we can achieve a design
  that is highly flexible, allowing the model to be
  extended. We will begin our study of normalization
  with a discussion of modification anomalies. Then
  we will examine relationship among attributes.
  These relationships help to determine which
  attributes (or data items) belong together in the
  same relation. Following that, we will discuss each
  of the normal forms.
                   Rozy Computech Services, Kurukshetra
                          university, Kurukshetra
Modification Anomalies

• A design that satisfies user needs is better
  than one that does not, but that does not
  mean that any relation is a well structured
  one.
• Changing the data in some relations can have
  undesirable consequences called
  modification anomalies.
• Anomalies can be eliminated by changing the
  structure of the relation.
             Rozy Computech Services, Kurukshetra
                    university, Kurukshetra
Explanation by Example

• Consider the GAME relation in Table. The
  attributes are ROLLNO , GAME, and FEE. The
  meaning of a row that a student engages in
  the named GAME for the specified FEE.
     Tabele : Game Relation , Key : ROLLNO
     ROLLNO          GAME                            FEE
     101             CRICKET                         500
     110             FOOTBALL                        150
     135             SWIMMING                        100
     180             TENNIS
              Rozy Computech Services, Kurukshetra   300
                     university, Kurukshetra
Deletion Anomaly

• It is supposed that each GAME has a fixed FEE
  and that is same for all students.
• If we delete the tuple for the student 101, we
  lose not only the fact that student 101 is
  CRICKETER, but also the fact that cricket costs
  Rs.500.
• This is called a deletion anomaly. In this
  deleting the facts about one entity (that
  student 101 is a CRICKETER), we inadvertently
  deleted facts about another entity (that cricket
  costs Rs.500).
              Rozy Computech Services, Kurukshetra
                     university, Kurukshetra
Explanation by Example

• We loose facts about two entities with one
  deletion.
• This is known as Deletion Anomaly
 ROLLNO        GAME                                 FEE
               CRICKET                              500
 110           FOOTBALL                             150
 135           SWIMMING                             100
 180           TENNIS
             Rozy Computech Services, Kurukshetra   300
                    university, Kurukshetra
Insertion Anomaly

• If we want to store the fact that WRESTLING
  costs Rs.125.
• We cannot enter this data into the GAME
  relation until a student takes up wrestling as
  a game.
• This relation is called having an insertion
  anomaly because we cannot insert a fact
  about one entity until we have an additional
  fact about another entity.
               Rozy Computech Services, Kurukshetra
                      university, Kurukshetra
Explanation by Example

 Tabele : Game Relation , Key : ROLLNO
ROLLNO        GAME                               FEE
101           CRICKET                            500
110           FOOTBALL                           150
135           SWIMMING                           100
180           TENNIS                             300
              WRESTLING                          125

          Rozy Computech Services, Kurukshetra
                 university, Kurukshetra
How we can eliminate
                      Anomalies ?
  • We can eliminate these anomalies by dividing
    the GAME relation in to two relation, each
    dealing with a different theme.
  • For example, we can put the ROLLNO and
    GAME attributes into one relation (S-GAME),
    the Game and Fee attributes into a relation
    called G-FEE.
ROLLNO    GAME                    GAME       FEES
101       CRICKET                 Cricket    500
110       FOOTBALL                FOOTBALL   150
135       SWIMMING Services, Kurukshetra
              Rozy Computech
                                  SWIMMING   100
180       TENNIS university, Kurukshetra
                                  TENNIS     300
Functional Dependencies


• The concept of functional dependency is the
  fundamental basis of normalization.
• A functional dependency is a relationship
  between two attributes of the same
  relational database table. One is called the
  Determinant and the other is called
  determined.
  Name      Address              DOB                   Age
                Rozy Computech Services, Kurukshetra
                       university, Kurukshetra
• We can say that given the value of one
           attribute, we can obtain the value of
           another attribute.
         • For example, if we know the value of
           Acc_No, we can obtain the value of
           Acc_Balance. We say that Acc_Balance
           is functionally dependent on Acc_No.
         • In general terms If A is a determinant
           and B is determined then we may say
A   B      that A functionally determines B and
           represented as A → B “ in the following
2   4
           table there is unique value of B for
3   9      every A so we can say that B is
4   16     functionally Services, Kurukshetra on A
                                dependent
                 Rozy Computech
                   university, Kurukshetra
Features of FD

1. If X → Y then it not necessary that Y → X
   i.e. relation is non transitive.
2. If an attribute acts as a Primary Key the all
   other attributes will functionally depend
   on it.




                Rozy Computech Services, Kurukshetra
                       university, Kurukshetra
• So we can say that Every Primary Key
   is determinant for all other
   attributes.
Example
• Student(Rollno,S_Name,Class,Ph_no)
• In this table Rollno is PK in this table
  S_Name,       Class      and     Ph_no
  functionally depend on Rollno
  because it unique for all student.
  Rollno S_Name Class                          Ph_no
  2000         Suresh                  MCA   225070
  2001         Parkash                 M.Com 215070
  2002 Computech Services, KurukshetraB.Tech
     Rozy Kuldeep                              225070
             university, Kurukshetra
• Some attributes may not be
           functionally dependent upon
           others. e.g. Ph_no is not FD on
           class and S_name etc. These
           functional dependencies can also
           be represented using the
           dependency diagram

Rollno                                               S_name


                                                     Ph_no
     Class

              Rozy Computech Services, Kurukshetra
                     university, Kurukshetra
Fully Functional Dependency

• Fully functional dependency is applicable to
   those tables where primary key is composite of
   more than two attributes
• Let us consider an example Library order with
   attribute order_no, B_name, qty and cost. Here
   PK is composed of two attribute ( order_no,
   B_name). Here qty and cost do not depend on a
   single attribute. These will be shown as
  (order_no , B_name) → Qty
  (order_no , B_name , Qty) → cost
               Rozy Computech Services, Kurukshetra
                      university, Kurukshetra
• Full functional dependency indicates that if A
  and B are attributes of a relation, B is fully
  functionally dependent on A if B is
  functionally dependent on A, but not on any
  proper subset of A.
• A functional dependency AB is partially
  dependent if there is some attributes that can
  be removed from A and the dependency still
  holds.
                Rozy Computech Services, Kurukshetra
                       university, Kurukshetra
Trivial and Non Trivial
                    Dependencies
1. Trivial FD
   If R.H.S. is a subset( not necessarily a proper
   subset) of L.H.S. then it is called trivial
   dependency.
    e.g. (A,B) → A Here A is a subset of (A,B) so it
   is a trivial dependency.
2. Non Trivial FD
    If a FD is not trivial it is called non trivial FD
We are generally more interested in nontrivial
dependencies because they represent integrity
constraints for the Computech Services, Kurukshetra
                  Rozy
                       relation
                        university, Kurukshetra
Armstrong’s Axioms of FD


1. Reflexive FD
   if B is a subset of A then B functionally
   depend upon A i.e. A → B
2. Augmentation
   if A → B then AC → BC
3. Transitivity
   if A → B and B → C then A → C
                 Rozy Computech Services, Kurukshetra
                        university, Kurukshetra
4. Decomposition Rule
  If A → BC then A →B & A→ C

5. Union Rule
  If A → B & A →C then A → BC

6. Pseudo transitive Rule
   If A →B and DB → C then
   DA →C


  Rozy Computech Services, Kurukshetra
         university, Kurukshetra
Thanks !
If you have any query please mail me at
          rozygag@yahoo.com


            Rozy Computech Services, Kurukshetra
                   university, Kurukshetra

More Related Content

Viewers also liked

Software Project Planning IV
Software Project Planning IVSoftware Project Planning IV
Software Project Planning IVGagan Deep
 
Introduction to digital logic
Introduction to digital logicIntroduction to digital logic
Introduction to digital logicKamal Acharya
 
C – A Programming Language- I
C – A Programming Language- IC – A Programming Language- I
C – A Programming Language- IGagan Deep
 
Software Engineering
Software Engineering Software Engineering
Software Engineering Gagan Deep
 
Fundamentals of Neural Networks
Fundamentals of Neural NetworksFundamentals of Neural Networks
Fundamentals of Neural NetworksGagan Deep
 
Normalization i i
Normalization   i iNormalization   i i
Normalization i iGagan Deep
 
C lecture 4 nested loops and jumping statements slideshare
C lecture 4 nested loops and jumping statements slideshareC lecture 4 nested loops and jumping statements slideshare
C lecture 4 nested loops and jumping statements slideshareGagan Deep
 
Artificial Intelligence
Artificial IntelligenceArtificial Intelligence
Artificial IntelligenceGagan Deep
 
SQL – A Tutorial I
SQL – A Tutorial  ISQL – A Tutorial  I
SQL – A Tutorial IGagan Deep
 
Information System and MIS
Information System and MISInformation System and MIS
Information System and MISGagan Deep
 
System Analysis & Design - 2
System Analysis & Design - 2System Analysis & Design - 2
System Analysis & Design - 2Gagan Deep
 
Logical and Conditional Operator In C language
Logical and Conditional Operator In C languageLogical and Conditional Operator In C language
Logical and Conditional Operator In C languageAbdul Rehman
 
K Map Simplification
K Map SimplificationK Map Simplification
K Map SimplificationRamesh C
 
C Programming : Arrays
C Programming : ArraysC Programming : Arrays
C Programming : ArraysGagan Deep
 
DBMS lab manual
DBMS lab manualDBMS lab manual
DBMS lab manualmaha tce
 
Sql queries interview questions
Sql queries interview questionsSql queries interview questions
Sql queries interview questionsPyadav010186
 

Viewers also liked (20)

Software Project Planning IV
Software Project Planning IVSoftware Project Planning IV
Software Project Planning IV
 
presentation
presentationpresentation
presentation
 
Introduction to digital logic
Introduction to digital logicIntroduction to digital logic
Introduction to digital logic
 
Boolean algebra
Boolean algebraBoolean algebra
Boolean algebra
 
C – A Programming Language- I
C – A Programming Language- IC – A Programming Language- I
C – A Programming Language- I
 
Software Engineering
Software Engineering Software Engineering
Software Engineering
 
Fundamentals of Neural Networks
Fundamentals of Neural NetworksFundamentals of Neural Networks
Fundamentals of Neural Networks
 
Normalization i i
Normalization   i iNormalization   i i
Normalization i i
 
C lecture 4 nested loops and jumping statements slideshare
C lecture 4 nested loops and jumping statements slideshareC lecture 4 nested loops and jumping statements slideshare
C lecture 4 nested loops and jumping statements slideshare
 
Artificial Intelligence
Artificial IntelligenceArtificial Intelligence
Artificial Intelligence
 
SQL – A Tutorial I
SQL – A Tutorial  ISQL – A Tutorial  I
SQL – A Tutorial I
 
Information System and MIS
Information System and MISInformation System and MIS
Information System and MIS
 
System Analysis & Design - 2
System Analysis & Design - 2System Analysis & Design - 2
System Analysis & Design - 2
 
Logical and Conditional Operator In C language
Logical and Conditional Operator In C languageLogical and Conditional Operator In C language
Logical and Conditional Operator In C language
 
Number system
Number systemNumber system
Number system
 
K Map Simplification
K Map SimplificationK Map Simplification
K Map Simplification
 
Dbms viva questions
Dbms viva questionsDbms viva questions
Dbms viva questions
 
C Programming : Arrays
C Programming : ArraysC Programming : Arrays
C Programming : Arrays
 
DBMS lab manual
DBMS lab manualDBMS lab manual
DBMS lab manual
 
Sql queries interview questions
Sql queries interview questionsSql queries interview questions
Sql queries interview questions
 

Normalization 1

  • 1. Normalization - I Gagan Deep Assistant Professor University College, Kurukshetra University, Kurukshetra & Director Rozy Computech Services, 3rd Gate, Kurukshetra University, Kurukshetra Rozy Computech Services, Kurukshetra university, Kurukshetra
  • 2. Contents of Discussion Today’s our topics of Discussion are • What Normalization is? • Functional Dependencies Rozy Computech Services, Kurukshetra university, Kurukshetra
  • 3. BASICS – You must know • My topics Normalization is of Relational Database. Before Discussing them I am just briefing the following topics • Relation? • Entity ? • Keys? Rozy Computech Services, Kurukshetra university, Kurukshetra
  • 4. What a Relation is? A Table of Employee Database EmplNo. Name DOB Department Salary 101 Mukesh 10-06-72 Mathematics 5000 102 Rajesh 02-08-67 Physics 5600 103 Mohan 01-12-70 Chemistry 6200 104 Rajesh 12-01-71 Mathematics 4200 Relation, Entity, Attributes, Attribute Values, Record, Tuple, Domain, Primary Key, Secondary Key Rozy Computech Services, Kurukshetra university, Kurukshetra
  • 5. We Discussed in Last Table • Relation • Entity • Attribute • Attribute Values • Record • Tuple • Domain • Primary Key • Secondary Key Rozy Computech Services, Kurukshetra university, Kurukshetra
  • 6. Keys Super Key : A super key is a primary key for a relation is a set of attributes that uniquely identifies a tuple. Candidate Key : A candidate key is a super key such that no proper subset is a super key. EmplNo. Name DOB Department Salary 101 Mukesh 10-06-72 Mathematics 5000 102 Rajesh 02-08-67 Physics Rozy Computech Services, Kurukshetra 5600 university, Kurukshetra
  • 7. Foreign Key • A foreign key is an attribute of a relation that is the primary key of another relations. We will call the relation in which the attribute is the primary key is home relation. Rozy Computech Services, Kurukshetra university, Kurukshetra
  • 8. ( a) Game is Foreign Key here b) Game is Primary Key Rollno Name Game Game Fees 101 Devesh Tennis Tennis 100 102 Rajesh Cricket Cricket 150 103 Ravinder 0 Swim 200 104 Tilak Swim Football 175 105 Suman Football Handball 225 106 Saminder Tennis Basketball 265 Rozy Computech Services, Kurukshetra university, Kurukshetra
  • 9. Our Concern • In this lecture we discuss some of the theory that has been developed to attempt to choose GOOD relations or relational models or relational schemas - that is to measure formally why one set of grouping of attributes into relations is better than another. • There are two levels at which we can discuss the goodness of relations. Rozy Computech Services, Kurukshetra university, Kurukshetra
  • 10. • The first is the logical level, which refers to how the users interpret the relations and meaning of other attributes. Having good relations at this level helps the users to understand clearly the meaning of the data tuples in the relations, and hence to formulate their queries correctly. Rozy Computech Services, Kurukshetra university, Kurukshetra
  • 11. • The second is the manipulation (or storage) level, which refers to how the tuple in a base relation are stored and updated. • This level applies only to base relations – which will physically stored as files- whereas at the logical level we are interested in both base relations and views. Rozy Computech Services, Kurukshetra university, Kurukshetra
  • 12. OBJECTIVES OF NORMALIZATION • The basic objective of logical modeling is to develop a good description of the data, its relationships, and its constraints. For the relational model, this means that we must identify a suitable set or relations. However, the task of choosing the relations is a difficult one, because there are many options for the designer to consider. The techniques presented here are based on a large body of research in to the logical design process called Normalization. Rozy Computech Services, Kurukshetra university, Kurukshetra
  • 13. • The purpose of normalization is to produce a stable set of relations that is a faithful model of the operations of the enterprise. By following the principles of normalization, we can achieve a design that is highly flexible, allowing the model to be extended. We will begin our study of normalization with a discussion of modification anomalies. Then we will examine relationship among attributes. These relationships help to determine which attributes (or data items) belong together in the same relation. Following that, we will discuss each of the normal forms. Rozy Computech Services, Kurukshetra university, Kurukshetra
  • 14. Modification Anomalies • A design that satisfies user needs is better than one that does not, but that does not mean that any relation is a well structured one. • Changing the data in some relations can have undesirable consequences called modification anomalies. • Anomalies can be eliminated by changing the structure of the relation. Rozy Computech Services, Kurukshetra university, Kurukshetra
  • 15. Explanation by Example • Consider the GAME relation in Table. The attributes are ROLLNO , GAME, and FEE. The meaning of a row that a student engages in the named GAME for the specified FEE. Tabele : Game Relation , Key : ROLLNO ROLLNO GAME FEE 101 CRICKET 500 110 FOOTBALL 150 135 SWIMMING 100 180 TENNIS Rozy Computech Services, Kurukshetra 300 university, Kurukshetra
  • 16. Deletion Anomaly • It is supposed that each GAME has a fixed FEE and that is same for all students. • If we delete the tuple for the student 101, we lose not only the fact that student 101 is CRICKETER, but also the fact that cricket costs Rs.500. • This is called a deletion anomaly. In this deleting the facts about one entity (that student 101 is a CRICKETER), we inadvertently deleted facts about another entity (that cricket costs Rs.500). Rozy Computech Services, Kurukshetra university, Kurukshetra
  • 17. Explanation by Example • We loose facts about two entities with one deletion. • This is known as Deletion Anomaly ROLLNO GAME FEE CRICKET 500 110 FOOTBALL 150 135 SWIMMING 100 180 TENNIS Rozy Computech Services, Kurukshetra 300 university, Kurukshetra
  • 18. Insertion Anomaly • If we want to store the fact that WRESTLING costs Rs.125. • We cannot enter this data into the GAME relation until a student takes up wrestling as a game. • This relation is called having an insertion anomaly because we cannot insert a fact about one entity until we have an additional fact about another entity. Rozy Computech Services, Kurukshetra university, Kurukshetra
  • 19. Explanation by Example Tabele : Game Relation , Key : ROLLNO ROLLNO GAME FEE 101 CRICKET 500 110 FOOTBALL 150 135 SWIMMING 100 180 TENNIS 300 WRESTLING 125 Rozy Computech Services, Kurukshetra university, Kurukshetra
  • 20. How we can eliminate Anomalies ? • We can eliminate these anomalies by dividing the GAME relation in to two relation, each dealing with a different theme. • For example, we can put the ROLLNO and GAME attributes into one relation (S-GAME), the Game and Fee attributes into a relation called G-FEE. ROLLNO GAME GAME FEES 101 CRICKET Cricket 500 110 FOOTBALL FOOTBALL 150 135 SWIMMING Services, Kurukshetra Rozy Computech SWIMMING 100 180 TENNIS university, Kurukshetra TENNIS 300
  • 21. Functional Dependencies • The concept of functional dependency is the fundamental basis of normalization. • A functional dependency is a relationship between two attributes of the same relational database table. One is called the Determinant and the other is called determined. Name Address DOB Age Rozy Computech Services, Kurukshetra university, Kurukshetra
  • 22. • We can say that given the value of one attribute, we can obtain the value of another attribute. • For example, if we know the value of Acc_No, we can obtain the value of Acc_Balance. We say that Acc_Balance is functionally dependent on Acc_No. • In general terms If A is a determinant and B is determined then we may say A B that A functionally determines B and represented as A → B “ in the following 2 4 table there is unique value of B for 3 9 every A so we can say that B is 4 16 functionally Services, Kurukshetra on A dependent Rozy Computech university, Kurukshetra
  • 23. Features of FD 1. If X → Y then it not necessary that Y → X i.e. relation is non transitive. 2. If an attribute acts as a Primary Key the all other attributes will functionally depend on it. Rozy Computech Services, Kurukshetra university, Kurukshetra
  • 24. • So we can say that Every Primary Key is determinant for all other attributes. Example • Student(Rollno,S_Name,Class,Ph_no) • In this table Rollno is PK in this table S_Name, Class and Ph_no functionally depend on Rollno because it unique for all student. Rollno S_Name Class Ph_no 2000 Suresh MCA 225070 2001 Parkash M.Com 215070 2002 Computech Services, KurukshetraB.Tech Rozy Kuldeep 225070 university, Kurukshetra
  • 25. • Some attributes may not be functionally dependent upon others. e.g. Ph_no is not FD on class and S_name etc. These functional dependencies can also be represented using the dependency diagram Rollno S_name Ph_no Class Rozy Computech Services, Kurukshetra university, Kurukshetra
  • 26. Fully Functional Dependency • Fully functional dependency is applicable to those tables where primary key is composite of more than two attributes • Let us consider an example Library order with attribute order_no, B_name, qty and cost. Here PK is composed of two attribute ( order_no, B_name). Here qty and cost do not depend on a single attribute. These will be shown as (order_no , B_name) → Qty (order_no , B_name , Qty) → cost Rozy Computech Services, Kurukshetra university, Kurukshetra
  • 27. • Full functional dependency indicates that if A and B are attributes of a relation, B is fully functionally dependent on A if B is functionally dependent on A, but not on any proper subset of A. • A functional dependency AB is partially dependent if there is some attributes that can be removed from A and the dependency still holds. Rozy Computech Services, Kurukshetra university, Kurukshetra
  • 28. Trivial and Non Trivial Dependencies 1. Trivial FD If R.H.S. is a subset( not necessarily a proper subset) of L.H.S. then it is called trivial dependency. e.g. (A,B) → A Here A is a subset of (A,B) so it is a trivial dependency. 2. Non Trivial FD If a FD is not trivial it is called non trivial FD We are generally more interested in nontrivial dependencies because they represent integrity constraints for the Computech Services, Kurukshetra Rozy relation university, Kurukshetra
  • 29. Armstrong’s Axioms of FD 1. Reflexive FD if B is a subset of A then B functionally depend upon A i.e. A → B 2. Augmentation if A → B then AC → BC 3. Transitivity if A → B and B → C then A → C Rozy Computech Services, Kurukshetra university, Kurukshetra
  • 30. 4. Decomposition Rule If A → BC then A →B & A→ C 5. Union Rule If A → B & A →C then A → BC 6. Pseudo transitive Rule If A →B and DB → C then DA →C Rozy Computech Services, Kurukshetra university, Kurukshetra
  • 31. Thanks ! If you have any query please mail me at rozygag@yahoo.com Rozy Computech Services, Kurukshetra university, Kurukshetra