Skip to main content

Normalization in DBMS

Normalization

A large database defined as a single relation may result in data duplication. This repetition of data may result in:
  • Making relations very large.
  • It isn't easy to maintain and update data as it would involve searching many records in relation.
  • Wastage and poor utilization of disk space and resources.
  • The likelihood of errors and inconsistencies increases.

So to handle these problems, we should analyze and decompose the relations with redundant data into smaller, simpler, and well-structured relations that are satisfy desirable properties. Normalization is a process of decomposing the relations into relations with fewer attributes.

What is Normalization?
  • Normalization is the process of organizing the data in the database.
  • Normalization is used to minimize the redundancy from a relation or set of relations. It is also used to eliminate undesirable characteristics like Insertion, Update, and Deletion Anomalies.
  • Normalization divides the larger table into smaller and links them using relationships.
  • The normal form is used to reduce redundancy from the database table.

Why do we need Normalization?

The main reason for normalizing the relations is removing these anomalies. Failure to eliminate anomalies leads to data redundancy and can cause data integrity and other problems as the database grows. Normalization consists of a series of guidelines that helps to guide you in creating a good database structure.

Data modification anomalies can be categorized into three types:
  • Insertion Anomaly: Insertion Anomaly refers to when one cannot insert a new tuple into a relationship due to lack of data.
  • Deletion Anomaly: The delete anomaly refers to the situation where the deletion of data results in the unintended loss of some other important data.
  • Updation Anomaly: The update anomaly is when an update of a single data value requires multiple rows of data to be updated.

Types of Normal Forms:

Normalization works through a series of stages called Normal forms. The normal forms apply to individual relations. The relation is said to be in particular normal form if it satisfies constraints.

Following are the various types of Normal forms:

Normal Form ->  Description

1NF: A relation is in 1NF if it contains an atomic value.
2NF: A relation will be in 2NF if it is in 1NF and all non-key attributes are fully functional and dependent on the primary key.
3NF: A relation will be in 3NF if it is in 2NF and no transition dependency exists.
BCNF: A stronger definition of 3NF is known as Boyce Codd's normal form.
4NF: A relation will be in 4NF if it is in Boyce Codd's normal form and has no multi-valued dependency.
5NF: A relation is in 5NF. If it is in 4NF and does not contain any join dependency, joining should be lossless.

Advantages of Normalization
  • Normalization helps to minimize data redundancy.
  • Greater overall database organization.
  • Data consistency within the database.
  • Much more flexible database design.
  • Enforces the concept of relational integrity.

Disadvantages of Normalization
  • You cannot start building the database before knowing what the user needs.
  • The performance degrades when normalizing the relations to higher normal forms, i.e., 4NF, 5NF.
  • It is very time-consuming and difficult to normalize relations of a higher degree.
  • Careless decomposition may lead to a bad database design, leading to serious problems.

Comments

Popular posts from this blog

SQL Constraints, NOT NULL, UNIQUE, PRIMARY KEY, FOREIGN KEY, CHECK, DEFAULT, CREATE INDEX

SQL Constraints (Image by - Sharma Guides | Subham232330) Constraints   |   |- CHECK   |   |- NOT NULL   |   |- UNIQUE   |   |- PRIMARY KEY   |   |- DEFAULT   |   |- FOREIGN KEY   |   |- INDEX * These constraints are also known as Integrity Constraints . * SQL Constraints:- Constraints are the rules and restrictions applied to the data in a table. * NOT NULL:- Value cannot be Null in a column. * UNIQUE:- Value cannot be the same in a column. * PRIMARY KEY:- Used to uniquely identify a row. * FOREIGN KEY:- References a row in another table. * CHECK:- Satisfies a specific condition. * DEFAULT:- Set default value. * CREATE INDEX:- Used to speed up the reading process.

Authentication vs Authorization

Authentication vs Authorization - Authentication and authorization are the two words used in the security world. They might sound similar but are completely different from each other. Authentication is used to authenticate someone's identity, whereas authorization is a way to provide permission to someone to access a particular resource. These are the two basic security terms and hence need to be understood thoroughly. In this topic, we will discuss what authentication and authorization are and how they are differentiated from each other. What is Authentication? Authentication is the process of identifying someone's identity by assuring that the person is the same as what he is claiming for. It is used by both server and client. The server uses authentication when someone wants to access the information, and the server needs to know who is accessing the information. The client uses it when he wants to know that it is the same server that it claims to be. The authentication by t...

Control Key Shortcuts

Control Key Shortcuts (Image by - Sharma Guides | Subham232330) CTRL+A = All Select CTRL+B = Bold CTRL+C = Copy CTRL+D = Duplicate CTRL+E = Alignment Center Side CTRL+F = Find CTRL+G = Group & Go To CTRL+H = Replace CTRL+I = Italic CTRL+J = Justify CTRL+K = Hyperlink CTRL+L = Alignment Left Side CTRL+M = New Slide CTRL+N = New Document & Page CTRL+O = Open CTRL+P = Print CTRL+Q = Quit CTRL+R = Alignment Right Side CTRL+S = Save CTRL+T = New Tab CTRL+U = Underline CTRL+V = Paste CTRL+W = Close The Window CTRL+X = Cut CTRL+Y = Redo CTRL+Z = Undo CTRL+Esc = Windows Start Menu CTRL+Tab = Switch between open tabs in the browser or other tabbed programs. CTRL+Shift+Tab = Will go backwards (right to left). CTRL+Delete = Delete Next Word. CTRL+Backspace = Delete Previous Word. CTRL+PgDn = Next Tab CTRL+PgUp = Previous Tab CTRL + ← = Previous Word CTRL + → = Next Word CTRL + Alt + ↑ = Rotate Screen Right Side C TRL + Alt + ↓ = Rotate Screen upsid...