normalization of dbfcsiba.wikispaces.com/file/view/lecture#7(normalization).pdf11/1/2012 4 7 data...

15
11/1/2012 1 Normalization of DB Chapter # 11 Imran Khan FCS, IBA 2 In this chapter, you will learn: What normalization is and what role it plays in database design About the normal forms 1NF, 2NF, 3NF, BCNF, and 4NF How normal forms can be transformed from lower normal forms to higher normal forms That normalization and E-R modeling are used concurrently to produce a good database design That some situations require denormalization to generate information efficiently

Upload: ngodiep

Post on 13-Mar-2018

232 views

Category:

Documents


0 download

TRANSCRIPT

11/1/2012

1

Normalization of DB

Chapter # 11 Imran Khan FCS, IBA

2

In this chapter, you will learn:

• What normalization is and what role it plays in database design

• About the normal forms 1NF, 2NF, 3NF, BCNF, and 4NF

• How normal forms can be transformed from lower normal forms to

higher normal forms

• That normalization and E-R modeling are used concurrently to

produce a good database design

• That some situations require denormalization to generate information

efficiently

11/1/2012

2

3

Database Tables and Normalization

• Table is basic building block in database design

• Normalization is process for assigning attributes to entities

– Reduces data redundancies

– Helps eliminate data anomalies

– Produces controlled redundancies to link tables

• Normalization stages

– 1NF - First normal form

– 2NF - Second normal form

– 3NF - Third normal form

– 4NF - Fourth normal form

– 5NF – FIFTH normal form

4

Need for Normalization

• PRO_NUM intended to be primary key

• Table entries invite data inconsistencies

• Table displays data anomalies

– Update

• Modifying JOB_CLASS

– Insertion

• New employee must be assigned project

– Deletion

• If employee deleted, other vital data lost

11/1/2012

3

5

Conversion to 1NF • Repeating groups must be eliminated

– Proper primary key developed

• Uniquely identifies attribute values (rows)

• Combination of PROJ_NUM and EMP_NUM

– Dependencies can be identified

• Desirable dependencies based on primary key

• Less desirable dependencies

– Partial

» based on part of composite primary key

– Transitive

» one nonprime attribute depends on another nonprime attribute

6

Dependency Diagram (1NF)

11/1/2012

4

7

Data Organization: 1NF

• All key attributes defined

• No repeating groups in table

• All attributes dependent on primary key

8

Conversion to 2NF

• Start with 1NF format:

• Write each key component on separate line

• Write original key on last line

• Each component is new table

• Write dependent attributes after each key

PROJECT (PROJ_NUM, PROJ_NAME)

EMPLOYEE (EMP_NUM, EMP_NAME, JOB_CLASS, CHG_HOUR)

ASSIGN (PROJ_NUM, EMP_NUM, HOURS)

11/1/2012

5

9

2NF Conversion Results

• In 1NF

• Includes no partial dependencies

– No attribute dependent on a portion of primary key

• Still possible to exhibit transitive dependency

– Attributes may be functionally dependent on nonkey attributes

10

Conversion to 3NF

• Create separate table(s) to eliminate transitive functional dependencies

PROJECT (PROJ_NUM, PROJ_NAME)

ASSIGN (PROJ_NUM, EMP_NUM, HOURS)

EMPLOYEE (EMP_NUM, EMP_NAME, JOB_CLASS)

JOB (JOB_CLASS, CHG_HOUR)

• In 2NF

• Contains no transitive dependencies

11/1/2012

6

11

Additional DB Enhancements

12

Boyce-Codd Normal Form (BCNF)

• Every determinant in the table is a candidate key • Determinant is attribute whose value determines other values in

row

• 3NF table with one candidate key is already in BCNF

11/1/2012

7

13

3NF Table Not in BCNF

14

Decomposition of Table Structure to Meet BCNF

11/1/2012

8

15

Decomposition into BCNF

16

Normalization and Database Design

• Normalization should be part of the design process

• E-R Diagram provides macro view

• Normalization provides micro view of entities

– Focuses on characteristics of specific entities

– May yield additional entities

• Difficult to separate normalization from E-R diagramming

• Business rules must be determined

11/1/2012

9

17

Initial ERD for Contracting Company

18

Modified ERD for Contracting Company

11/1/2012

10

19

Final ERD for Contracting Company

20

Higher-Level Normal Forms

• Fourth Normal Form (4NF)

– Table is in 3NF

– Has no multiple sets of multivalued dependencies

11/1/2012

11

21

Conversion to 4NF

An Example of 4NF ProjectNo Developer Lead Developer

20020123 John Doe Elmer Fudd

20020123 Jane Doe Sylvester

20020123 Jimbo Elmer Fudd

20020124 John Doe Ms. Depesto

ProjectNo Lead Developer

20020123 Elmer Fudd

20020123 Sylvester

20020124 Ms. Depesto

Lead Developer Developer

Elmer Fudd John Doe

Elmer Fudd Jimbo

Sylvester Jane Doe

Ms. Depesto John Doe

11/1/2012

12

23

5NF - Fifth Normal Form

• Reduce fourth normal form entities to fifth normal form (5NF) by removing pairwise cyclic dependencies (appearing within composite primary keys with three or more component attributes) to three or more parent entities

24

5 NF (CONT..)

• This addresses problems that arise from representing associations between multiple entities with interdependencies. Making it 5NF consists of adding parent tables, one for each meaningful combination that has children in the original table.

• A table with such information is 5NF if the information cannot be represented in multiple smaller entities alone.

11/1/2012

13

25

5 NF - EXAMPLE

• An example of such a situation may be the representation of Actors, Plays, and Theaters. In order to know who plays what and where, we need the combination of these three attributes. However, they each relate to each other cyclically. So to resolve this, we would need to establish parent tables with Actor - Play, Play - Theater, and Theater - Actor. These would each contain a portion of the Primary Key in the Actor, Play, and Theater table.

Jennifer Widom 26

5 NF - EXAMPLE

Actor Play Theater

Billy Bob Catcher in the Rye West 42nd

Ann Catcher in the Rye West 42nd

John Catch-22 Broadway

Lily Hamlet Broadway

Lisa Cats West 42nd

Andy Cats Darlington

11/1/2012

14

27

5 NF - EXAMPLE

28

Denormalization

• Normalization is one of many database design goals

• Normalized table requirements – Additional processing

– Loss of system speed

• Normalization purity is difficult to sustain due to conflict in: – Design efficiency

– Information requirements

– Processing

11/1/2012

15

29

Unnormalized Table Defects

• Data updates less efficient

• Indexing more cumbersome

• No simple strategies for creating views