SlideShare a Scribd company logo
5




    Database Design 1:
Some Normalization Examples




                          1
5
Dependencies: Definitions
x   Multivalued Attributes (or repeating groups): non-
    key attributes or groups of non-key attributes the
    values of which are not uniquely identified by
    (directly or indirectly) (not functionally dependent on)
    the value of the Primary Key (or its part).

     STUDENT

      Stud_ID    Name       Course_ID       Units
        101      Lennon      MSI 250         3.00
        101      Lennon      MSI 415         3.00
        125      Johnson     MSI 331         3.00


                                                           2
5
Dependencies: Definitions
x   Partial Dependency – when an non-key
    attribute is determined by a part, but not the
    whole, of a COMPOSITE primary key.
                               Partial
          CUSTOMER           Dependency



           Cust_ID   Name     Order_ID
            101      AT&T       1234
            101      AT&T        156
            125      Cisco      1250

                                                     3
5
Dependencies: Definitions

x   Transitive Dependency – when a non-
    key attribute determines another non-key
    attribute.          Transitive
                          Dependency

EMPLOYEE

    Emp_ID   F_Name   L_Name   Dept_ID   Dept_Name
     111      Mary     Jones      1         Acct
     122      Sarah   Smith       2        Mktg



                                                     4
5
Normal Forms: Review

x   Unnormalized – There are multivalued
    attributes or repeating groups
x   1 NF – No multivalued attributes or
    repeating groups.
x   2 NF – 1 NF plus no partial
    dependencies
x   3 NF – 2 NF plus no transitive
    dependencies
                                           5
5
Example 1: Determine NF
                            All attributes are directly
x   ISBN  Title            or indirectly determined
x   ISBN  Publisher           by the primary key;
                            therefore, the relation is
x   Publisher  Address           at least in 1 NF


    BOOK

     ISBN       Title     Publisher          Address




                                                          6
5
Example 1: Determine NF
                          The relation is at least in 1NF.
x   ISBN  Title             There is no COMPOSITE
x   ISBN  Publisher       primary key, therefore there
                          can’t be partial dependencies.
x   Publisher  Address     Therefore, the relation is at
                                   least in 2NF
    BOOK

     ISBN       Title     Publisher             Address




                                                             7
5
Example 1: Determine NF
                          Publisher is a non-key attribute,
x   ISBN  Title            and it determines Address,
x   ISBN  Publisher         another non-key attribute.
                           Therefore, there is a transitive
x   Publisher  Address   dependency, which means that
                            the relation is NOT in 3 NF.
    BOOK

     ISBN       Title     Publisher          Address




                                                              8
5
Example 1: Determine NF
                          We know that the relation is at
x   ISBN  Title          least in 2NF, and it is not in 3
x   ISBN  Publisher       NF. Therefore, we conclude
                            that the relation is in 2NF.
x   Publisher  Address

    BOOK

     ISBN       Title      Publisher            Address




                                                             9
5
    Example 1: Determine NF
x   ISBN  Title              In your solution you will write the
                                      following justification:
x   ISBN  Publisher         •    No M/V attributes, therefore at
x   Publisher                                least 1NF
                                •   No partial dependencies,
    Address                            therefore at least 2NF
                           •     There is a transitive dependency
                                (Publisher  Address), therefore,
                                               not 3NF
                             Conclusion: The relation is in 2NF

      BOOK

        ISBN       Title       Publisher            Address

                                                                    10
5
Example 2: Determine NF

x   Product_ID  Description
                       All attributes are directly or
                      indirectly determined by the
                   primary key; therefore, the relation
                             is at least in 1 NF
    ORDER

    Order_No   Product_ID         Description




                                                          11
5
Example 2: Determine NF

x   Product_ID  Description
                      The relation is at least in 1NF.
                 There is a COMPOSITE Primary Key (PK)
             (Order_No, Product_ID), therefore there can be
            partial dependencies. Product_ID, which is a part
             of PK, determines Description; hence, there is a
            partial dependency. Therefore, the relation is not
                   2NF. No sense to check for transitive
                              dependencies!

    ORDER

    Order_No       Product_ID           Description

                                                                 12
5
Example 2: Determine NF

x   Product_ID  Description
                   We know that the relation is at least
                      in 1NF, and it is not in 2 NF.
                    Therefore, we conclude that the
                           relation is in 1 NF.

    ORDER

    Order_No   Product_ID        Description




                                                           13
5
    Example 2: Determine NF
x   Product_ID 
    Description       In your solution you will write the
                              following justification:
                   1) No M/V attributes, therefore at least
                                        1NF
                       2) There is a partial dependency
                     (Product_ID  Description), therefore
                                     not in 2NF
                     Conclusion: The relation is in 1NF
      ORDER

       Order_No    Product_ID           Description

                                                              14
5
Example 3: Determine NF
x   Part_ID  Description       Comp_ID and No are not
x   Part_ID  Price            determined by the primary
                               key; therefore, the relation
x   Part_ID, Comp_ID  No      is NOT in 1 NF. No sense
                                  in looking at partial or
                                transitive dependencies.


    PART

    Part_ID   Descr    Price    Comp_ID            No




                                                              15
5
Example 3: Determine NF
                            In your solution you will write
x   Part_ID  Description       the following justification:
                             2) There are M/V attributes;
x   Part_ID  Price
                                    therefore, not 1NF
x   Part_ID, Comp_ID  No   Conclusion: The relation is not
                                        normalized.


PART

Part_ID     Descr     Price      Comp_ID            No




                                                               16
5
Bringing a Relation to 1NF


STUDENT

 Stud_ID   Name      Course_ID   Units
  101      Lennon     MSI 250    3.00
  101      Lennon     MSI 415    3.00
  125      Johnson    MSI 331    3.00




                                         17
5
    Bringing a Relation to 1NF
x    Option 1: Make a determinant of the
    repeating group (or the multivalued
    attribute) a part of the primary key.
                    Composite
                    Primary Key

    STUDENT

     Stud_ID   Name      Course_ID   Units
      101      Lennon     MSI 250    3.00
      101      Lennon     MSI 415    3.00
      125      Johnson    MSI 331    3.00

                                             18
5
 Bringing a Relation to 1NF
x Option 2: Remove the entire repeating group from
  the relation. Create another relation which would
  contain all the attributes of the repeating group, plus
  the primary key from the first relation. In this new
  relation, the primary key from the original relation
  and the determinant of the repeating group will
  comprise a primary key.
  STUDENT

  Stud_ID     Name      Course_ID        Units
    101      Lennon      MSI 250         3.00
    101      Lennon      MSI 415         3.00
    125      Johnson     MSI 331         3.00

                                                            19
5
Bringing a Relation to 1NF
          STUDENT

          Stud_ID      Name
            101     Lennon
            125        Jonson


  STUDENT_COURSE

  Stud_ID     Course            Units
    101      MSI 250             3
    101      MSI 415             3
    125      MSI 331             3


                                        20
5
Bringing a Relation to 2NF

                  Composite
                  Primary Key


STUDENT

 Stud_ID   Name       Course_ID   Units
  101      Lennon       MSI 250   3.00
  101      Lennon       MSI 415   3.00
  125      Johnson      MSI 331   3.00


                                          21
5
Bringing a Relation to 2NF
x   Goal: Remove Partial Dependencies
                                   Partial
     Composite                  Dependencies
     Primary Key


    STUDENT

    Stud_ID        Name   Course_ID      Units
      101      Lennon      MSI 250       3.00
      101      Lennon      MSI 415       3.00
      125      Johnson     MSI 331       3.00


                                                 22
5
    Bringing a Relation to 2NF
x   Remove attributes that are dependent from the part
    but not the whole of the primary key from the original
    relation. For each partial dependency, create a new
    relation, with the corresponding part of the primary
    key from the original as the primary key.
    STUDENT

     Stud_ID    Name      Course_ID       Units
       101      Lennon     MSI 250         3.00
       101      Lennon     MSI 415         3.00
       125     Johnson     MSI 331         3.00


                                                             23
5
   Bringing a Relation to 2NF
CUSTOMER
                                             STUDENT_COURSE
Stud_ID     Name     Course_ID     Units
  101      Lennon     MSI 250      3.00
  101      Lennon     MSI 415      3.00
  125      Johnson    MSI 331      3.00       Stud_ID   Course_ID
                                               101       MSI 250
                                               101       MSI 415
                                               125       MSI 331

                                           COURSE
          Stud_ID                Name
            101                  Lennon
                                           Course_ID       Units
            125                 Johnson
                                            MSI 250        3.00
                                            MSI 415        3.00
                                            MSI 331        3.00
                                                                    24
5
Bringing a Relation to 3NF

x   Goal: Get rid of transitive dependencies.

                        Transitive
                       Dependency
EMPLOYEE

    Emp_ID   F_Name   L_Name    Dept_ID Dept_Name
     111      Mary     Jones         1     Acct
     122      Sarah   Smith          2    Mktg



                                                    25
5
Bringing a Relation to 3NF
x   Remove the attributes, which are dependent on a
    non-key attribute, from the original relation. For each
    transitive dependency, create a new relation with the
    non-key attribute which is a determinant in the
    transitive dependency as a primary key, and the
    dependent non-key attribute as a dependent.

EMPLOYEE

    Emp_ID     F_Name      L_Name    Dept_ID Dept_Name
     111        Mary        Jones       1          Acct
     122        Sarah       Smith       2         Mktg


                                                              26
5
    Bringing a Relation to 3NF
EMPLOYEE

 Emp_ID    F_Name    L_Name    Dept_ID Dept_Name
   111      Mary      Jones      1        Acct
   122      Sarah    Smith       2       Mktg


                    EMPLOYEE

                      Emp_ID                     F_Name       L_Name    Dept_ID
                              111                    Mary       Jones     1
                              122                    Sarah     Smith      2

                                      DEPARTMENT

                                        Dept_ID Dept_Name
                                                 1           Acct
                                                 2           Mktg

                                                                                  27

More Related Content

PPTX
Erd examples
PPT
Week 3 Classification of Database Management Systems & Data Modeling
PPT
SQL.ppt
PPTX
Normalization in a Database
PPTX
Relational Data Model Introduction
PPTX
Unit 2 oracle9i
PDF
Normalization | (1NF) |(2NF) (3NF)|BCNF| 4NF |5NF
PPTX
Dbms normalization
Erd examples
Week 3 Classification of Database Management Systems & Data Modeling
SQL.ppt
Normalization in a Database
Relational Data Model Introduction
Unit 2 oracle9i
Normalization | (1NF) |(2NF) (3NF)|BCNF| 4NF |5NF
Dbms normalization

What's hot (20)

PDF
Database Normalization
DOCX
The three level of data modeling
PPTX
The Relational Model
PPT
Databases: Normalisation
PDF
Introduction to Data Flow Diagram (DFD)
PPTX
python.pptx
PPTX
Normalization in RDBMS
PPTX
Database Concept - Normalization (1NF, 2NF, 3NF)
PPTX
Database abstraction
PPTX
Advantages of DBMS
PPTX
PPT
Object Oriented Dbms
PPTX
Unit 3 - Function & Grouping,Joins and Set Operations in ORACLE
PPTX
Mapping cardinality (cardinality constraint) in ER MODEL
PPT
08. Object Oriented Database in DBMS
PPTX
Normal forms
PPT
Normalization
PPT
Unit 03 dbms
PPT
Normalization of database tables
Database Normalization
The three level of data modeling
The Relational Model
Databases: Normalisation
Introduction to Data Flow Diagram (DFD)
python.pptx
Normalization in RDBMS
Database Concept - Normalization (1NF, 2NF, 3NF)
Database abstraction
Advantages of DBMS
Object Oriented Dbms
Unit 3 - Function & Grouping,Joins and Set Operations in ORACLE
Mapping cardinality (cardinality constraint) in ER MODEL
08. Object Oriented Database in DBMS
Normal forms
Normalization
Unit 03 dbms
Normalization of database tables
Ad

Recently uploaded (20)

PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PDF
1 - Historical Antecedents, Social Consideration.pdf
PPTX
TLE Review Electricity (Electricity).pptx
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Getting started with AI Agents and Multi-Agent Systems
PPT
What is a Computer? Input Devices /output devices
PDF
Enhancing emotion recognition model for a student engagement use case through...
PDF
Architecture types and enterprise applications.pdf
PDF
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PDF
Hindi spoken digit analysis for native and non-native speakers
PDF
A comparative study of natural language inference in Swahili using monolingua...
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
Getting Started with Data Integration: FME Form 101
PDF
2021 HotChips TSMC Packaging Technologies for Chiplets and 3D_0819 publish_pu...
PPTX
observCloud-Native Containerability and monitoring.pptx
PDF
Developing a website for English-speaking practice to English as a foreign la...
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
STKI Israel Market Study 2025 version august
PDF
Web App vs Mobile App What Should You Build First.pdf
Univ-Connecticut-ChatGPT-Presentaion.pdf
1 - Historical Antecedents, Social Consideration.pdf
TLE Review Electricity (Electricity).pptx
Programs and apps: productivity, graphics, security and other tools
Getting started with AI Agents and Multi-Agent Systems
What is a Computer? Input Devices /output devices
Enhancing emotion recognition model for a student engagement use case through...
Architecture types and enterprise applications.pdf
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
Hindi spoken digit analysis for native and non-native speakers
A comparative study of natural language inference in Swahili using monolingua...
NewMind AI Weekly Chronicles - August'25-Week II
Getting Started with Data Integration: FME Form 101
2021 HotChips TSMC Packaging Technologies for Chiplets and 3D_0819 publish_pu...
observCloud-Native Containerability and monitoring.pptx
Developing a website for English-speaking practice to English as a foreign la...
gpt5_lecture_notes_comprehensive_20250812015547.pdf
STKI Israel Market Study 2025 version august
Web App vs Mobile App What Should You Build First.pdf
Ad

Normalization

  • 1. 5 Database Design 1: Some Normalization Examples 1
  • 2. 5 Dependencies: Definitions x Multivalued Attributes (or repeating groups): non- key attributes or groups of non-key attributes the values of which are not uniquely identified by (directly or indirectly) (not functionally dependent on) the value of the Primary Key (or its part). STUDENT Stud_ID Name Course_ID Units 101 Lennon MSI 250 3.00 101 Lennon MSI 415 3.00 125 Johnson MSI 331 3.00 2
  • 3. 5 Dependencies: Definitions x Partial Dependency – when an non-key attribute is determined by a part, but not the whole, of a COMPOSITE primary key. Partial CUSTOMER Dependency Cust_ID Name Order_ID 101 AT&T 1234 101 AT&T 156 125 Cisco 1250 3
  • 4. 5 Dependencies: Definitions x Transitive Dependency – when a non- key attribute determines another non-key attribute. Transitive Dependency EMPLOYEE Emp_ID F_Name L_Name Dept_ID Dept_Name 111 Mary Jones 1 Acct 122 Sarah Smith 2 Mktg 4
  • 5. 5 Normal Forms: Review x Unnormalized – There are multivalued attributes or repeating groups x 1 NF – No multivalued attributes or repeating groups. x 2 NF – 1 NF plus no partial dependencies x 3 NF – 2 NF plus no transitive dependencies 5
  • 6. 5 Example 1: Determine NF All attributes are directly x ISBN  Title or indirectly determined x ISBN  Publisher by the primary key; therefore, the relation is x Publisher  Address at least in 1 NF BOOK ISBN Title Publisher Address 6
  • 7. 5 Example 1: Determine NF The relation is at least in 1NF. x ISBN  Title There is no COMPOSITE x ISBN  Publisher primary key, therefore there can’t be partial dependencies. x Publisher  Address Therefore, the relation is at least in 2NF BOOK ISBN Title Publisher Address 7
  • 8. 5 Example 1: Determine NF Publisher is a non-key attribute, x ISBN  Title and it determines Address, x ISBN  Publisher another non-key attribute. Therefore, there is a transitive x Publisher  Address dependency, which means that the relation is NOT in 3 NF. BOOK ISBN Title Publisher Address 8
  • 9. 5 Example 1: Determine NF We know that the relation is at x ISBN  Title least in 2NF, and it is not in 3 x ISBN  Publisher NF. Therefore, we conclude that the relation is in 2NF. x Publisher  Address BOOK ISBN Title Publisher Address 9
  • 10. 5 Example 1: Determine NF x ISBN  Title In your solution you will write the following justification: x ISBN  Publisher • No M/V attributes, therefore at x Publisher  least 1NF • No partial dependencies, Address therefore at least 2NF • There is a transitive dependency (Publisher  Address), therefore, not 3NF Conclusion: The relation is in 2NF BOOK ISBN Title Publisher Address 10
  • 11. 5 Example 2: Determine NF x Product_ID  Description All attributes are directly or indirectly determined by the primary key; therefore, the relation is at least in 1 NF ORDER Order_No Product_ID Description 11
  • 12. 5 Example 2: Determine NF x Product_ID  Description The relation is at least in 1NF. There is a COMPOSITE Primary Key (PK) (Order_No, Product_ID), therefore there can be partial dependencies. Product_ID, which is a part of PK, determines Description; hence, there is a partial dependency. Therefore, the relation is not 2NF. No sense to check for transitive dependencies! ORDER Order_No Product_ID Description 12
  • 13. 5 Example 2: Determine NF x Product_ID  Description We know that the relation is at least in 1NF, and it is not in 2 NF. Therefore, we conclude that the relation is in 1 NF. ORDER Order_No Product_ID Description 13
  • 14. 5 Example 2: Determine NF x Product_ID  Description In your solution you will write the following justification: 1) No M/V attributes, therefore at least 1NF 2) There is a partial dependency (Product_ID  Description), therefore not in 2NF Conclusion: The relation is in 1NF ORDER Order_No Product_ID Description 14
  • 15. 5 Example 3: Determine NF x Part_ID  Description Comp_ID and No are not x Part_ID  Price determined by the primary key; therefore, the relation x Part_ID, Comp_ID  No is NOT in 1 NF. No sense in looking at partial or transitive dependencies. PART Part_ID Descr Price Comp_ID No 15
  • 16. 5 Example 3: Determine NF In your solution you will write x Part_ID  Description the following justification: 2) There are M/V attributes; x Part_ID  Price therefore, not 1NF x Part_ID, Comp_ID  No Conclusion: The relation is not normalized. PART Part_ID Descr Price Comp_ID No 16
  • 17. 5 Bringing a Relation to 1NF STUDENT Stud_ID Name Course_ID Units 101 Lennon MSI 250 3.00 101 Lennon MSI 415 3.00 125 Johnson MSI 331 3.00 17
  • 18. 5 Bringing a Relation to 1NF x Option 1: Make a determinant of the repeating group (or the multivalued attribute) a part of the primary key. Composite Primary Key STUDENT Stud_ID Name Course_ID Units 101 Lennon MSI 250 3.00 101 Lennon MSI 415 3.00 125 Johnson MSI 331 3.00 18
  • 19. 5 Bringing a Relation to 1NF x Option 2: Remove the entire repeating group from the relation. Create another relation which would contain all the attributes of the repeating group, plus the primary key from the first relation. In this new relation, the primary key from the original relation and the determinant of the repeating group will comprise a primary key. STUDENT Stud_ID Name Course_ID Units 101 Lennon MSI 250 3.00 101 Lennon MSI 415 3.00 125 Johnson MSI 331 3.00 19
  • 20. 5 Bringing a Relation to 1NF STUDENT Stud_ID Name 101 Lennon 125 Jonson STUDENT_COURSE Stud_ID Course Units 101 MSI 250 3 101 MSI 415 3 125 MSI 331 3 20
  • 21. 5 Bringing a Relation to 2NF Composite Primary Key STUDENT Stud_ID Name Course_ID Units 101 Lennon MSI 250 3.00 101 Lennon MSI 415 3.00 125 Johnson MSI 331 3.00 21
  • 22. 5 Bringing a Relation to 2NF x Goal: Remove Partial Dependencies Partial Composite Dependencies Primary Key STUDENT Stud_ID Name Course_ID Units 101 Lennon MSI 250 3.00 101 Lennon MSI 415 3.00 125 Johnson MSI 331 3.00 22
  • 23. 5 Bringing a Relation to 2NF x Remove attributes that are dependent from the part but not the whole of the primary key from the original relation. For each partial dependency, create a new relation, with the corresponding part of the primary key from the original as the primary key. STUDENT Stud_ID Name Course_ID Units 101 Lennon MSI 250 3.00 101 Lennon MSI 415 3.00 125 Johnson MSI 331 3.00 23
  • 24. 5 Bringing a Relation to 2NF CUSTOMER STUDENT_COURSE Stud_ID Name Course_ID Units 101 Lennon MSI 250 3.00 101 Lennon MSI 415 3.00 125 Johnson MSI 331 3.00 Stud_ID Course_ID 101 MSI 250 101 MSI 415 125 MSI 331 COURSE Stud_ID Name 101 Lennon Course_ID Units 125 Johnson MSI 250 3.00 MSI 415 3.00 MSI 331 3.00 24
  • 25. 5 Bringing a Relation to 3NF x Goal: Get rid of transitive dependencies. Transitive Dependency EMPLOYEE Emp_ID F_Name L_Name Dept_ID Dept_Name 111 Mary Jones 1 Acct 122 Sarah Smith 2 Mktg 25
  • 26. 5 Bringing a Relation to 3NF x Remove the attributes, which are dependent on a non-key attribute, from the original relation. For each transitive dependency, create a new relation with the non-key attribute which is a determinant in the transitive dependency as a primary key, and the dependent non-key attribute as a dependent. EMPLOYEE Emp_ID F_Name L_Name Dept_ID Dept_Name 111 Mary Jones 1 Acct 122 Sarah Smith 2 Mktg 26
  • 27. 5 Bringing a Relation to 3NF EMPLOYEE Emp_ID F_Name L_Name Dept_ID Dept_Name 111 Mary Jones 1 Acct 122 Sarah Smith 2 Mktg EMPLOYEE Emp_ID F_Name L_Name Dept_ID 111 Mary Jones 1 122 Sarah Smith 2 DEPARTMENT Dept_ID Dept_Name 1 Acct 2 Mktg 27