+ All Categories
Home > Technology > Databases: Normalisation

Databases: Normalisation

Date post: 28-Nov-2014
Category:
Upload: damian-gordon
View: 6,675 times
Download: 5 times
Share this document with a friend
Description:
 
31
Normalisation
Transcript
Page 1: Databases: Normalisation

Normalisation

Page 2: Databases: Normalisation

Normalisation

Normalisation is a process by which data structures in a relational database are as efficient as possible, including the elimination of redundancy, the minimisation of the use of null values and the prevention of the loss of information.

Page 3: Databases: Normalisation

Aims of Normalisation

Normalisation ensures that the database is structured in the best possible way.

To achieve control over data redundancy. There should be no unnecessary duplication of data in different tables.

To ensure data consistency. Where duplication is necessary the data is the same.

To ensure tables have a flexible structure. E.g. number of classes taken or books borrowed should not be limited.

To allow data in different tables can be used in complex queries.

Page 4: Databases: Normalisation

Duplication vs Redundant Data

Duplicated Data: When an attribute has two or more identical values

Redundant Data: If you can delete data with a loss of information

Page 5: Databases: Normalisation

Stages of Normalisation

First Normal Form (1NF) Second Normal Form (2NF) Third Normal Form (3NF) Boyce-Codd Normal Form (BCNF) Fourth Normal Form (4NF) Fifth Normal Form (5NF)

Page 6: Databases: Normalisation

Candidate Key

• A Candidate Key is an attribute (possiblycomposite) that can be used to uniquelyidentify each tuple in a relation.

• A relation may have more than onecandidate key

• If so, one candidate key is nominated as theprimary key

Page 7: Databases: Normalisation

First Normal Form

A table is in its first normal form if it contains no repeating attributes or groups of

attributes

Page 8: Databases: Normalisation

Non-Normalised Table

Number Name Classes001231 William Hartnell Information Systems,

Systems Analysis,Data Communications

001232 Patrick Troughton Systems Analysis,Data Communications

001233 Jon Pertwee OO Programming,Systems Analysis,Data Communications

001234 Tom Baker Systems Analysis,Data Communications

Page 9: Databases: Normalisation

First Normal Form

To convert data for unnormalised form to 1NF, simply convert any repeated attributes into part of the candidate key

STUDENT(Number, Name, Classes)

STUDENT(Number, Name, Classes)

Page 10: Databases: Normalisation

First Normal Form

Number Name Classes001231 William Hartnell Information Systems001231 William Hartnell Systems Analysis001231 William Hartnell Data Communications001232 Patrick Troughton Systems Analysis001232 Patrick Troughton Data Communications001233 Jon Pertwee OO Programming001233 Jon Pertwee Systems Analysis001233 Jon Pertwee Data Communications001234 Tom Baker Systems Analysis001234 Tom Baker Data Communications

Page 11: Databases: Normalisation

Over to you...

RefNo Name Address Status AccNo345 C.J. Date 23, High Street Business 120768,

348973543 F.D. Rolland 45, The Ash Domestic 987654675 D.R. Howe 17, Low Street Business 745363,

678453,348973

Page 12: Databases: Normalisation

Second Normal Form

A table is in the second normal form if it's in the first normal form AND no

column that is not part of the primary key is dependant only a portion of the

primary key

Page 13: Databases: Normalisation

Second Normal Form

The concept of functional dependency in central to normalisation and, in particular, strongly related to 2NF.

Page 14: Databases: Normalisation

Functional Dependency

If ‘X’ is a set of attributes within a relation, then we say ‘A’ (an attribute or set of attributes), is functionally dependant on X, if and only if, for every combination of X, there is only one corresponding value of A

We write this as :X -> A

Page 15: Databases: Normalisation

Table in 1NF

RefNo Name Address Status AccNo345 C.J. Date 23, High Street Business 120768345 C.J. Date 23, High Street Business 348973543 F.D. Rolland 45, The Ash Domestic 987654675 D.R. Howe 17, Low Street Business 745363675 D.R. Howe 17, Low Street Business 678453675 D.R. Howe 17, Low Street Business 348973

Page 16: Databases: Normalisation

Functional Dependency

It is clear that :

RefNo -> Name, Address, Status

or, most correctly,

AccNo, RefNo -> Name, Address, Status

Page 17: Databases: Normalisation

Second Normal FormRefNo AccNo

345 120768345 348973543 987654675 745363675 678453675 348973

RefNo Name Address Status345 C.J. Date 23, High Street Business543 F.D. Rolland 45, The Ash Domestic675 D.R. Howe 17, Low Street Business

Page 18: Databases: Normalisation

Over to you...

Supplier# Part# City QuantityS1 P1 London 1000S1 P2 London 1500S1 P3 London 3400S1 P4 London 2100S2 P2 Paris 3400S2 P3 Paris 1000S4 P1 Nuku alofa 5S4 P4 Nuku alofa 7

Page 19: Databases: Normalisation

Table in Second Normal Form

Supplier# CityS1 LondonS2 ParisS4 Nuku alofa

Supplier# Part# QuantityS1 P1 1000S1 P2 1500S1 P3 3400S1 P4 2100S2 P2 3400S2 P3 1000S4 P1 5S4 P4 7

Page 20: Databases: Normalisation

Third Normal Form

A table is in the third normal form if it is the second normal form and there

are no non-key columns dependant on other non-key columns that could not

act as the primary key.

Page 21: Databases: Normalisation

Table in Second Normal Form

BranchName

Address ManagerNo

AccNo

Balance Type

Rathmines 15 UprRathmimes Road

1234 1205 -£123.45 ‘D’

Rathmines 15 UprRathmimes Road

1234 6784 £67.54 ‘C’

Rathmines 15 UprRathmimes Road

1234 9843 £43.43 ‘C’

Dame St. 1 Dame Street 1101 5422 £34.50 ‘C’Dame St. 1 Dame Street 1101 0998 £666.66 ‘D’

Page 22: Databases: Normalisation

Table in Third Normal Form

BranchName

Address ManagerNo

Rathmines 15 UprRathmimes Road

1234

Dame St. 1 Dame Street 1101

AccNo

Balance Type BranchName

1205 -£123.45 ‘D’ Rathmines6784 £67.54 ‘C’ Rathmines9843 £43.43 ‘C’ Rathmines5422 £34.50 ‘C’ Dame St.0998 £666.66 ‘D’ Dame St.

Page 23: Databases: Normalisation

Boyce-Codd Normal Form

All attributes in a relation should be dependant upon the key, the whole key and nothing but the key

Page 24: Databases: Normalisation

Important Papers

E.F.Codd ‘A Relational Model for Large Shared Data Banks’ CACM 13(6) June 1970

E.F. Codd ‘Extending the Database Relational Model to Capture More Meaning’ ACM Transactions on Database Systems, 4(4), December 1979

Page 25: Databases: Normalisation

Table in Third Normal Form

CourseNo Lecturer Time RoomFT225/2 P. O’Byrne 9.00 121FT222/1 D. Gordon 10.00 666DT266/2 K. O’Brien 1.00 343DT266/1 D. Carroll 11.00 876FT222/4 K. O’Brien 3.00 343FT228/3 D. Gordon 4.00 666

Page 26: Databases: Normalisation

Redundancy in 3NF

The combination of ROOM, TIME is unique to each tuple, no room is used twice at the same time (thus it is in 3NF).

But, we know there is a redundancy in that ROOM depends LECTURER, therefore, we split the table...

Page 27: Databases: Normalisation

Tables in BCNFCourseNo Lecturer TimeFT225/2 P. O’Byrne 9.00FT222/1 D. Gordon 10.00DT266/2 K. O’Brien 1.00DT266/1 D. Carroll 11.00FT222/4 K. O’Brien 3.00FT228/3 D. Gordon 4.00

Lecturer RoomP. O’Byrne 121D. Gordon 666K. O’Brien 343D. Carroll 876

Page 28: Databases: Normalisation

Difference between BCNF and 3NF

Most relations in 3NF are also in BCNF, the only time this may not be true is when there is more than one candidate key for a relation and at least one of is composite.

Page 29: Databases: Normalisation

Fourth Normal Form

Fourth normal form (or 4NF) requires that there be no non-trivial multivalued dependencies of

attribute sets on something other than a superset of a candidate key. A table is said to be in 4NF if and

only if it is in the BCNF and multivalued dependencies are functional dependencies. The

4NF removes unwanted data structures: multivalued dependencies.

Page 30: Databases: Normalisation

Fifth Normal Form

Fifth normal form (5NF and also PJ/NF) requires that there are no non-trivial join dependencies that

do not follow from the key constraints. A table is said to be in the 5NF if and only if it is in 4NF and

every join dependency in it is implied by the candidate keys.

Page 31: Databases: Normalisation

Domain/Key Normal Form

Domain/key normal form (or DKNF) requires that the database contains no constraints other than

domain constraints and key constraints.


Recommended