Normalization

O
DATABASE PRESENTATION




NAME: MICHAEL JOSEPH
INTRODUCTION

One of the most important steps in designing a database is
ensuring that the data is properly distributed among its tables.
With proper data structures, illogically or inconsistently stored
data can cause a number of problems. In a relational database, a
logical and efficient design is just as critical. A poorly designed
database may provide erroneous information, may be difficult to
use, or may even fail to work properly. A poorly design database
can cripple an application, producing problems with redundancy,
in accuracy, consistency and concurrency of data. Normalization
is a process that serves to reduce, if not eliminate, these
problems with data.
DESCRIPTION OF NORMALIZATION



 Normalization is the process of organizing data to
 minimize redundancy. The goal of database
 normalization is to decompose relations with
 anomalies in order to produce smaller, well-
 structured relations. Normalization usually
 involves dividing large tables into smaller (and
 less redundant) tables and defining relationships
 between them. The objective is to isolate data so
 that additions, deletions, and modifications of a
 field can be made in just one table and then
 propagated through the rest of the database via
 the defined relationships.
Normalization Levels

There are a few rules for database normalization. Each
 rule is called a "normal form." If the first rule is observed,
 the database is said to be in "first normal form." If the first
 three rules are observed, the database is considered to
 be in "third normal form." Although other levels of
 normalization are possible, third normal form is
 considered the highest level necessary for most
 applications. There is a number of normalization levels
 from 1. normal form through 5. normal form. Each normal
 form describes how to get rid of some specific problem,
 usually related to redundancy. Below are description with
 examples of level one to three normal forms.
First Normal Form

   Eliminate repeating groups in individual
    tables.
   Create a separate table for each set of
    related data.
   Identify each set of related data with a
    primary key.
Second Normal Form

   Create separate tables for sets of values
    that apply to multiple records.
   Relate these tables with a foreign key.
   Records should not depend on anything
    other than a table's primary key (a
    compound key, if necessary).
Third Normal Form


Eliminate fields that do not depend on the
key. Third normal form prohibits
transitive dependencies. A transitive
dependency exist when any attribute in a
table is dependent of any other non-key
attribute in that table.
Other Normalization Forms


Fourth normal form, also called Boyce Codd
Normal Form (BCNF), and fifth normal form
do exist, but are rarely considered in practical
design. Disregarding these rules may result in
less than perfect database design, but should
not affect functionality.
Examples Of Normalization
  Table


  1.   Unnormalized table:

Student advisor Adv-         Class 1 Class 2 Class 3
                room
1022     Jones    412        101-07   143-01   159-02


4123     Smith    216        201-01   211-02   214-01
First Normal Form: No Repeating
Groups



   Studet   Advisor   Adv-room   class
   1022     jones     412        101-07
   1022     jones     412        143-01
   1022     jones     412        159-02
   4123     smith     216        201-01
   4123     Smith     216        211-02
   4123     smith     216        214-01
Second Normal Form: Eliminate Redundant Data

                               registration
student
                             student          class
  Student   Advisor   Adv-
                      room
                             1022             101-07
  1022 Jone 412
                             1022             143-01
       s
  4123 Smitt 216             1022             159-01
                             4123             201-01
                             4123             211-02
                             4123             214-01
Third Normal Form: Eliminate Data Not Dependent On
                       Key


                             faculty
  student


Student     advisor        Name Room Depart

1022        Jones
                           Jones 412        42
4123        smith
                           Smith 216        42
Normalising A Database Should Be Able To
         Achieve The Following Four Goals:


   Arranging data into logical groups such that
    each group describes a small part of the whole
   Minimizing the amount of duplicated
    data stored in a database
   Building a database in which you can access
    and manipulate the data quickly and
    efficiently without compromising the integrity of
    the data storage
   Organising the data such that, when you
    modify it, you make the changes in only one
    place
By Normalization The Following Problem In
           Relational Database Are Solve


   Use storage space efficiently
   Eliminate redundant data
   Reduce or eliminate inconsistent data
   Ease the database maintenance burden
   Enforce referential integrity.
   Data integrity
   Minimize modification anomalies
Unnormalized DATABASE SCHEMA FOR A
 GENERIC SOCIAL NETWORKING SITE
           (FACEBOOK).
A NORMALIZED DATABASE SCHEMA FOR A
  GENERIC SOCIAL NETWORKING SITE
            (FACEBOOK).
Un Normalized Database
                Problem
   Repetition of information
   Inability to represent certain information
   Loss of information
   Difficulty to maintain information
SQL PROGRAM


   Create table user
   (user_id Int (8),
   first_name Char (15),
   last_name Char (15),
   sex char (7),
   home town Char (16),
   relationship_status (8),
   interested_in Char (7),
   religious _views char (15),
   political_view Char (15));
   Create table user affiliation
   (user_id Int (8),
   Affiliation_id int (4),
   Foreign key (user_id, Affiliation_id));
CONT. OF SQL PROG.

   Create table Affiliation
        (Affiliation_id int (4),
   Description char (15),
   Member_count int (10));
   Create table user_phone_numbers
   (user_id Int (8),
   Phone_number int (15),
   Phone_type char (10)
   user_id));
   Create table user_screen_name
   (user_id Int (8),
   Screen_name varchar (30),
   Im_service char (10),
   Foreign key ((user_id Int ));
CONT. OF SQL


   Create table user_work_history
   (user_id Int (8),
   Company_affiliation_id int (4),
   Company_name char (20),
   Job_title char (20)
   Foreign key (Company_affiliation_id,
    user_id));
PROBLEM TO FACE IF DATABASE DESIGN IS
          NOT NORMALIZED

 Normalisation is part of successful database design.
 Without normalisation, there will be Problem of high data
 redundancy – if data in the database can be found in two
 different locations (direct redundancy) or if data can be
 calculated from other data items (indirect redundancy)
 then the data is said to contain redundancy. Data should
 only be stored once and avoid storing data that can be
 calculated from other data already held in the database.
 Not normalizing database systems can be inaccurate,
 slow, and inefficient and they might not produce the data
 one may expect. It is adviceable to always use the
 normalization process to design efficient and functional
 databases. By normalizing, data will be store where it
 logically and uniquely belongs.
DISADVANTAGE OF NORMALIZATION

The only real drawback to having a highly normalization database structure is that one may need a
large number of joins to pull back the records the application needs to function.

For example in the social network site schema above one will requires a whopping six joins to
retrieve a single user's information.
select * from Users u
inner join UserPhoneNumbers upn
on u.user_id = upn.user_id                               the fact here is that one
inner join UserScreenNames usn                           need six joins -- or six
on u.user_id = usn.user_id                               individual queries, to
inner join UserAffiliations ua                           retrieve a single user
on u.user_id = ua.user_id                                information. This is time
inner join Affiliations a                                consuming and slow
on a.affiliation_id = ua.affiliation_id                  dawn your system
inner join UserWorkHistory uwh                           performance
on u.user_id = uwh.user_id
inner join Affiliations wa
on uwh.affiliation_id = wa.affiliation_id
CONCLUTION
There are advantages and disadvantages to normalizing database schemas but
the big question now is when is it appropriate to normalize and when not
to. It is true that Database normalization is a formal process of designing one
database to eliminate redundant data, utilize space efficiently and reduce
update errors. Anyone who has ever taken a database class has it drummed
into their heads that a normalized database is the only way to go. This is true for
the most part. However there are certain scenarios where the benefits of
database normalization are outweighed by its costs. So I think people should not
normalize for the sake of normalization or because one school professor told
them to but because the data tells them to for the following reasons.
Normalization makes sense to their team, Normalization provides better
performance. (they’re automatically measuring all the queries that flow through
their software, right?) Normalization prevents an onerous amount of duplication
or avoids risk of synchronization problems that their problem domain or users
are particularly sensitive to and finally that Normalization allows them to write
simpler queries and code.
THANKS YOU ALL FOR LISTENING
REFERENCES
[1] R. Ramakrishnan, J. Gehrke “Database Management System”, McGraw-Hill,
    New York 2003
[2] Dare O. “When Not To Normalize Your SQL Database”
    http://www.25hoursaday.com/weblog/commentview.aspx?
[3] Microsoft Support, “Description Of The Database Normalization Basics”
    http://support.microsoft.com/kb/283878#top
1 de 25

Recomendados

Databases: Normalisation por
Databases: NormalisationDatabases: Normalisation
Databases: NormalisationDamian T. Gordon
64K visualizações31 slides
Normalization por
NormalizationNormalization
NormalizationSalman Memon
26.1K visualizações17 slides
Database Normalization por
Database NormalizationDatabase Normalization
Database NormalizationArun Sharma
1.2K visualizações22 slides
DBMS - Normalization por
DBMS - NormalizationDBMS - Normalization
DBMS - NormalizationJitendra Tomar
1.1M visualizações33 slides
normaliztion por
normaliztionnormaliztion
normaliztionRamadhani S. Zuberi
535 visualizações18 slides
Acid properties por
Acid propertiesAcid properties
Acid propertiesAbhilasha Lahigude
15K visualizações8 slides

Mais conteúdo relacionado

Mais procurados

Chapter10 conceptual data modeling por
Chapter10 conceptual data modelingChapter10 conceptual data modeling
Chapter10 conceptual data modelingDhani Ahmad
2.9K visualizações29 slides
database Normalization por
database Normalizationdatabase Normalization
database NormalizationHarsiddhi Thakkar
678 visualizações40 slides
Normalization in DBMS por
Normalization in DBMSNormalization in DBMS
Normalization in DBMSPrateek Parimal
9K visualizações23 slides
Normalization in a Database por
Normalization in a DatabaseNormalization in a Database
Normalization in a DatabaseBishrul Haq
592 visualizações9 slides
Normalization in DBMS por
Normalization in DBMSNormalization in DBMS
Normalization in DBMSMaulana Abul Kalam Azad University of Technology
906 visualizações17 slides
The Relational Database Model por
The Relational Database ModelThe Relational Database Model
The Relational Database ModelShishir Aryal
471 visualizações21 slides

Mais procurados(20)

Chapter10 conceptual data modeling por Dhani Ahmad
Chapter10 conceptual data modelingChapter10 conceptual data modeling
Chapter10 conceptual data modeling
Dhani Ahmad2.9K visualizações
database Normalization por Harsiddhi Thakkar
database Normalizationdatabase Normalization
database Normalization
Harsiddhi Thakkar678 visualizações
Normalization in DBMS por Prateek Parimal
Normalization in DBMSNormalization in DBMS
Normalization in DBMS
Prateek Parimal9K visualizações
Normalization in a Database por Bishrul Haq
Normalization in a DatabaseNormalization in a Database
Normalization in a Database
Bishrul Haq592 visualizações
The Relational Database Model por Shishir Aryal
The Relational Database ModelThe Relational Database Model
The Relational Database Model
Shishir Aryal471 visualizações
All data models in dbms por Naresh Kumar
All data models in dbmsAll data models in dbms
All data models in dbms
Naresh Kumar41.4K visualizações
File organization and introduction of DBMS por VrushaliSolanke
File organization and introduction of DBMSFile organization and introduction of DBMS
File organization and introduction of DBMS
VrushaliSolanke429 visualizações
Normalization in DBMS por Prateek Parimal
Normalization in DBMSNormalization in DBMS
Normalization in DBMS
Prateek Parimal89.9K visualizações
Normal forms por Samuel Igbanogu
Normal formsNormal forms
Normal forms
Samuel Igbanogu2.3K visualizações
Normalization | (1NF) |(2NF) (3NF)|BCNF| 4NF |5NF por Biplap Bhattarai
Normalization | (1NF) |(2NF) (3NF)|BCNF| 4NF |5NFNormalization | (1NF) |(2NF) (3NF)|BCNF| 4NF |5NF
Normalization | (1NF) |(2NF) (3NF)|BCNF| 4NF |5NF
Biplap Bhattarai2.3K visualizações
Physical Database Design & Performance por Abdullah Khosa
Physical Database Design & PerformancePhysical Database Design & Performance
Physical Database Design & Performance
Abdullah Khosa2.4K visualizações
Data models por Usman Tariq
Data modelsData models
Data models
Usman Tariq14.2K visualizações
Normalization por meet darji
NormalizationNormalization
Normalization
meet darji963 visualizações
13. Query Processing in DBMS por koolkampus
13. Query Processing in DBMS13. Query Processing in DBMS
13. Query Processing in DBMS
koolkampus43.8K visualizações
Normalization por thuvarakan28
NormalizationNormalization
Normalization
thuvarakan28530 visualizações
Entity relationship modelling por Dr. C.V. Suresh Babu
Entity relationship modellingEntity relationship modelling
Entity relationship modelling
Dr. C.V. Suresh Babu6.4K visualizações
Integrity Constraints por madhav bansal
Integrity ConstraintsIntegrity Constraints
Integrity Constraints
madhav bansal17.2K visualizações

Similar a Normalization

Database Normalization And Logical Process Concept Paper por
Database Normalization And Logical Process Concept PaperDatabase Normalization And Logical Process Concept Paper
Database Normalization And Logical Process Concept PaperRebecca Buono
2 visualizações47 slides
Cal Essay por
Cal EssayCal Essay
Cal EssaySherry Bailey
2 visualizações84 slides
Database Normalization.docx por
Database Normalization.docxDatabase Normalization.docx
Database Normalization.docxSHARMISTHAlearning
15 visualizações11 slides
What is Normalization? por
What is Normalization?What is Normalization?
What is Normalization?Ducat
59 visualizações6 slides
CIS 515 discussion post responses.There are two discussions he.docx por
CIS 515 discussion post responses.There are two discussions he.docxCIS 515 discussion post responses.There are two discussions he.docx
CIS 515 discussion post responses.There are two discussions he.docxsleeperharwell
2 visualizações6 slides
Types of databases por
Types of databases   Types of databases
Types of databases Md Showrov Ahmed
2K visualizações17 slides

Similar a Normalization(20)

Database Normalization And Logical Process Concept Paper por Rebecca Buono
Database Normalization And Logical Process Concept PaperDatabase Normalization And Logical Process Concept Paper
Database Normalization And Logical Process Concept Paper
Rebecca Buono2 visualizações
Cal Essay por Sherry Bailey
Cal EssayCal Essay
Cal Essay
Sherry Bailey2 visualizações
Database Normalization.docx por SHARMISTHAlearning
Database Normalization.docxDatabase Normalization.docx
Database Normalization.docx
SHARMISTHAlearning15 visualizações
What is Normalization? por Ducat
What is Normalization?What is Normalization?
What is Normalization?
Ducat59 visualizações
CIS 515 discussion post responses.There are two discussions he.docx por sleeperharwell
CIS 515 discussion post responses.There are two discussions he.docxCIS 515 discussion post responses.There are two discussions he.docx
CIS 515 discussion post responses.There are two discussions he.docx
sleeperharwell2 visualizações
Types of databases por Md Showrov Ahmed
Types of databases   Types of databases
Types of databases
Md Showrov Ahmed2K visualizações
Importance of Normalization por Shwe Yee
Importance of NormalizationImportance of Normalization
Importance of Normalization
Shwe Yee16.1K visualizações
Research gadot por Jotham Gadot
Research gadotResearch gadot
Research gadot
Jotham Gadot875 visualizações
When & Why\'s of Denormalization por Aliya Saldanha
When & Why\'s of DenormalizationWhen & Why\'s of Denormalization
When & Why\'s of Denormalization
Aliya Saldanha603 visualizações
RDMS AND SQL por milanmehta7
RDMS AND SQLRDMS AND SQL
RDMS AND SQL
milanmehta786 visualizações
week3.ppt por asmaa977996
week3.pptweek3.ppt
week3.ppt
asmaa9779962 visualizações
DB Design.ppt por JakeParas
DB Design.pptDB Design.ppt
DB Design.ppt
JakeParas1 visão
Database Design and Implementation por Christian Reina
Database Design and ImplementationDatabase Design and Implementation
Database Design and Implementation
Christian Reina6.6K visualizações
Mi0034 database management systems por smumbahelp
Mi0034  database management systemsMi0034  database management systems
Mi0034 database management systems
smumbahelp1.4K visualizações
Database Design Process por mussawir20
Database Design ProcessDatabase Design Process
Database Design Process
mussawir2013.7K visualizações
08 por Traci Webb
0808
08
Traci Webb3 visualizações
Introduction To Database.ppt por RithikRaj25
Introduction To Database.pptIntroduction To Database.ppt
Introduction To Database.ppt
RithikRaj2515 visualizações

Último

Create a Structure in VBNet.pptx por
Create a Structure in VBNet.pptxCreate a Structure in VBNet.pptx
Create a Structure in VBNet.pptxBreach_P
86 visualizações8 slides
NodeJS and ExpressJS.pdf por
NodeJS and ExpressJS.pdfNodeJS and ExpressJS.pdf
NodeJS and ExpressJS.pdfArthyR3
48 visualizações17 slides
MercerJesse3.0.pdf por
MercerJesse3.0.pdfMercerJesse3.0.pdf
MercerJesse3.0.pdfjessemercerail
152 visualizações6 slides
Nelson_RecordStore.pdf por
Nelson_RecordStore.pdfNelson_RecordStore.pdf
Nelson_RecordStore.pdfBrynNelson5
46 visualizações10 slides
Jibachha publishing Textbook.docx por
Jibachha publishing Textbook.docxJibachha publishing Textbook.docx
Jibachha publishing Textbook.docxDrJibachhaSahVetphys
54 visualizações14 slides
PRELIMS ANSWER.pptx por
PRELIMS ANSWER.pptxPRELIMS ANSWER.pptx
PRELIMS ANSWER.pptxsouravkrpodder
50 visualizações60 slides

Último(20)

Create a Structure in VBNet.pptx por Breach_P
Create a Structure in VBNet.pptxCreate a Structure in VBNet.pptx
Create a Structure in VBNet.pptx
Breach_P86 visualizações
NodeJS and ExpressJS.pdf por ArthyR3
NodeJS and ExpressJS.pdfNodeJS and ExpressJS.pdf
NodeJS and ExpressJS.pdf
ArthyR348 visualizações
MercerJesse3.0.pdf por jessemercerail
MercerJesse3.0.pdfMercerJesse3.0.pdf
MercerJesse3.0.pdf
jessemercerail152 visualizações
Nelson_RecordStore.pdf por BrynNelson5
Nelson_RecordStore.pdfNelson_RecordStore.pdf
Nelson_RecordStore.pdf
BrynNelson546 visualizações
Jibachha publishing Textbook.docx por DrJibachhaSahVetphys
Jibachha publishing Textbook.docxJibachha publishing Textbook.docx
Jibachha publishing Textbook.docx
DrJibachhaSahVetphys54 visualizações
PRELIMS ANSWER.pptx por souravkrpodder
PRELIMS ANSWER.pptxPRELIMS ANSWER.pptx
PRELIMS ANSWER.pptx
souravkrpodder50 visualizações
Pharmaceutical Analysis PPT (BP 102T) por yakshpharmacy009
Pharmaceutical Analysis PPT (BP 102T) Pharmaceutical Analysis PPT (BP 102T)
Pharmaceutical Analysis PPT (BP 102T)
yakshpharmacy009108 visualizações
Payment Integration using Braintree Connector | MuleSoft Mysore Meetup #37 por MysoreMuleSoftMeetup
Payment Integration using Braintree Connector | MuleSoft Mysore Meetup #37Payment Integration using Braintree Connector | MuleSoft Mysore Meetup #37
Payment Integration using Braintree Connector | MuleSoft Mysore Meetup #37
MysoreMuleSoftMeetup50 visualizações
Volf work.pdf por MariaKenney3
Volf work.pdfVolf work.pdf
Volf work.pdf
MariaKenney389 visualizações
Class 9 lesson plans por TARIQ KHAN
Class 9 lesson plansClass 9 lesson plans
Class 9 lesson plans
TARIQ KHAN82 visualizações
12.5.23 Poverty and Precarity.pptx por mary850239
12.5.23 Poverty and Precarity.pptx12.5.23 Poverty and Precarity.pptx
12.5.23 Poverty and Precarity.pptx
mary850239381 visualizações
UNIDAD 3 6º C.MEDIO.pptx por MarcosRodriguezUcedo
UNIDAD 3 6º C.MEDIO.pptxUNIDAD 3 6º C.MEDIO.pptx
UNIDAD 3 6º C.MEDIO.pptx
MarcosRodriguezUcedo146 visualizações
Java Simplified: Understanding Programming Basics por Akshaj Vadakkath Joshy
Java Simplified: Understanding Programming BasicsJava Simplified: Understanding Programming Basics
Java Simplified: Understanding Programming Basics
Akshaj Vadakkath Joshy653 visualizações
Education of marginalized and socially disadvantages segments.pptx por GarimaBhati5
Education of marginalized and socially disadvantages segments.pptxEducation of marginalized and socially disadvantages segments.pptx
Education of marginalized and socially disadvantages segments.pptx
GarimaBhati543 visualizações
MIXING OF PHARMACEUTICALS.pptx por Anupkumar Sharma
MIXING OF PHARMACEUTICALS.pptxMIXING OF PHARMACEUTICALS.pptx
MIXING OF PHARMACEUTICALS.pptx
Anupkumar Sharma121 visualizações
Creative Restart 2023: Atila Martins - Craft: A Necessity, Not a Choice por Taste
Creative Restart 2023: Atila Martins - Craft: A Necessity, Not a ChoiceCreative Restart 2023: Atila Martins - Craft: A Necessity, Not a Choice
Creative Restart 2023: Atila Martins - Craft: A Necessity, Not a Choice
Taste45 visualizações
Six Sigma Concept by Sahil Srivastava.pptx por Sahil Srivastava
Six Sigma Concept by Sahil Srivastava.pptxSix Sigma Concept by Sahil Srivastava.pptx
Six Sigma Concept by Sahil Srivastava.pptx
Sahil Srivastava44 visualizações

Normalization

  • 2. INTRODUCTION One of the most important steps in designing a database is ensuring that the data is properly distributed among its tables. With proper data structures, illogically or inconsistently stored data can cause a number of problems. In a relational database, a logical and efficient design is just as critical. A poorly designed database may provide erroneous information, may be difficult to use, or may even fail to work properly. A poorly design database can cripple an application, producing problems with redundancy, in accuracy, consistency and concurrency of data. Normalization is a process that serves to reduce, if not eliminate, these problems with data.
  • 3. DESCRIPTION OF NORMALIZATION Normalization is the process of organizing data to minimize redundancy. The goal of database normalization is to decompose relations with anomalies in order to produce smaller, well- structured relations. Normalization usually involves dividing large tables into smaller (and less redundant) tables and defining relationships between them. The objective is to isolate data so that additions, deletions, and modifications of a field can be made in just one table and then propagated through the rest of the database via the defined relationships.
  • 4. Normalization Levels There are a few rules for database normalization. Each rule is called a "normal form." If the first rule is observed, the database is said to be in "first normal form." If the first three rules are observed, the database is considered to be in "third normal form." Although other levels of normalization are possible, third normal form is considered the highest level necessary for most applications. There is a number of normalization levels from 1. normal form through 5. normal form. Each normal form describes how to get rid of some specific problem, usually related to redundancy. Below are description with examples of level one to three normal forms.
  • 5. First Normal Form  Eliminate repeating groups in individual tables.  Create a separate table for each set of related data.  Identify each set of related data with a primary key.
  • 6. Second Normal Form  Create separate tables for sets of values that apply to multiple records.  Relate these tables with a foreign key.  Records should not depend on anything other than a table's primary key (a compound key, if necessary).
  • 7. Third Normal Form Eliminate fields that do not depend on the key. Third normal form prohibits transitive dependencies. A transitive dependency exist when any attribute in a table is dependent of any other non-key attribute in that table.
  • 8. Other Normalization Forms Fourth normal form, also called Boyce Codd Normal Form (BCNF), and fifth normal form do exist, but are rarely considered in practical design. Disregarding these rules may result in less than perfect database design, but should not affect functionality.
  • 9. Examples Of Normalization Table 1. Unnormalized table: Student advisor Adv- Class 1 Class 2 Class 3 room 1022 Jones 412 101-07 143-01 159-02 4123 Smith 216 201-01 211-02 214-01
  • 10. First Normal Form: No Repeating Groups Studet Advisor Adv-room class 1022 jones 412 101-07 1022 jones 412 143-01 1022 jones 412 159-02 4123 smith 216 201-01 4123 Smith 216 211-02 4123 smith 216 214-01
  • 11. Second Normal Form: Eliminate Redundant Data registration student student class Student Advisor Adv- room 1022 101-07 1022 Jone 412 1022 143-01 s 4123 Smitt 216 1022 159-01 4123 201-01 4123 211-02 4123 214-01
  • 12. Third Normal Form: Eliminate Data Not Dependent On Key faculty student Student advisor Name Room Depart 1022 Jones Jones 412 42 4123 smith Smith 216 42
  • 13. Normalising A Database Should Be Able To Achieve The Following Four Goals:  Arranging data into logical groups such that each group describes a small part of the whole  Minimizing the amount of duplicated data stored in a database  Building a database in which you can access and manipulate the data quickly and efficiently without compromising the integrity of the data storage  Organising the data such that, when you modify it, you make the changes in only one place
  • 14. By Normalization The Following Problem In Relational Database Are Solve  Use storage space efficiently  Eliminate redundant data  Reduce or eliminate inconsistent data  Ease the database maintenance burden  Enforce referential integrity.  Data integrity  Minimize modification anomalies
  • 15. Unnormalized DATABASE SCHEMA FOR A GENERIC SOCIAL NETWORKING SITE (FACEBOOK).
  • 16. A NORMALIZED DATABASE SCHEMA FOR A GENERIC SOCIAL NETWORKING SITE (FACEBOOK).
  • 17. Un Normalized Database Problem  Repetition of information  Inability to represent certain information  Loss of information  Difficulty to maintain information
  • 18. SQL PROGRAM  Create table user  (user_id Int (8),  first_name Char (15),  last_name Char (15),  sex char (7),  home town Char (16),  relationship_status (8),  interested_in Char (7),  religious _views char (15),  political_view Char (15));  Create table user affiliation  (user_id Int (8),  Affiliation_id int (4),  Foreign key (user_id, Affiliation_id));
  • 19. CONT. OF SQL PROG.  Create table Affiliation  (Affiliation_id int (4),  Description char (15),  Member_count int (10));  Create table user_phone_numbers  (user_id Int (8),  Phone_number int (15),  Phone_type char (10)  user_id));  Create table user_screen_name  (user_id Int (8),  Screen_name varchar (30),  Im_service char (10),  Foreign key ((user_id Int ));
  • 20. CONT. OF SQL  Create table user_work_history  (user_id Int (8),  Company_affiliation_id int (4),  Company_name char (20),  Job_title char (20)  Foreign key (Company_affiliation_id, user_id));
  • 21. PROBLEM TO FACE IF DATABASE DESIGN IS NOT NORMALIZED Normalisation is part of successful database design. Without normalisation, there will be Problem of high data redundancy – if data in the database can be found in two different locations (direct redundancy) or if data can be calculated from other data items (indirect redundancy) then the data is said to contain redundancy. Data should only be stored once and avoid storing data that can be calculated from other data already held in the database. Not normalizing database systems can be inaccurate, slow, and inefficient and they might not produce the data one may expect. It is adviceable to always use the normalization process to design efficient and functional databases. By normalizing, data will be store where it logically and uniquely belongs.
  • 22. DISADVANTAGE OF NORMALIZATION The only real drawback to having a highly normalization database structure is that one may need a large number of joins to pull back the records the application needs to function. For example in the social network site schema above one will requires a whopping six joins to retrieve a single user's information. select * from Users u inner join UserPhoneNumbers upn on u.user_id = upn.user_id the fact here is that one inner join UserScreenNames usn need six joins -- or six on u.user_id = usn.user_id individual queries, to inner join UserAffiliations ua retrieve a single user on u.user_id = ua.user_id information. This is time inner join Affiliations a consuming and slow on a.affiliation_id = ua.affiliation_id dawn your system inner join UserWorkHistory uwh performance on u.user_id = uwh.user_id inner join Affiliations wa on uwh.affiliation_id = wa.affiliation_id
  • 23. CONCLUTION There are advantages and disadvantages to normalizing database schemas but the big question now is when is it appropriate to normalize and when not to. It is true that Database normalization is a formal process of designing one database to eliminate redundant data, utilize space efficiently and reduce update errors. Anyone who has ever taken a database class has it drummed into their heads that a normalized database is the only way to go. This is true for the most part. However there are certain scenarios where the benefits of database normalization are outweighed by its costs. So I think people should not normalize for the sake of normalization or because one school professor told them to but because the data tells them to for the following reasons. Normalization makes sense to their team, Normalization provides better performance. (they’re automatically measuring all the queries that flow through their software, right?) Normalization prevents an onerous amount of duplication or avoids risk of synchronization problems that their problem domain or users are particularly sensitive to and finally that Normalization allows them to write simpler queries and code.
  • 24. THANKS YOU ALL FOR LISTENING
  • 25. REFERENCES [1] R. Ramakrishnan, J. Gehrke “Database Management System”, McGraw-Hill, New York 2003 [2] Dare O. “When Not To Normalize Your SQL Database” http://www.25hoursaday.com/weblog/commentview.aspx? [3] Microsoft Support, “Description Of The Database Normalization Basics” http://support.microsoft.com/kb/283878#top