Skip to main content

Database Normalization and De-normalization:


 Database Normalization and De-normalization:

Database normalization is the process of refining the data in accordance with a series of normal forms. This is done to reduce data redundancy and improve data integrity. This process divides large tables into small tables and links them using relationships.

Normalization gives data meaning by defining relationships with other data. The large table will be divided into multiple small tables and have relationship between them to retrieve the required data based on the need.

1NF- First Normal Form:

·       Each table cell should contain a single/atomic value

·       Every record in the table must be unique

·       No cell have more than one value.

·       No repeating groups - Each column name should be unique, the repeating columns names should be removed separated and a new table for these columns.

2NF - Second Normal Form:

·       The rules of the second normal form are

·       -Table must be in 1NF

·       -All data must be depend on primary Key

·       -Every non-key attribute must be fully dependent on key attributes( relation using Primary -> Foreign Key (Parent and child relation)

-          No partial dependency

3NF - Third Normal Form

·       Data must be in 2NF

·       No transitive functional dependencies

Benefits:

·       Writes are faster as we have separate tables

·       Used for OLTP systems

·       Required data can be selected

·       Data integrity maintained

·       Reduce redundancy

CONS:

Slower reads

Heavy querying not recommended.

Complex joins required for the data retrieval

What is a transitive dependency?

In simple terms, if changing a non-key column causes any other non-key column to change, then it's called a transitive dependency.

Composite Key

Sometimes it’s hard to define unique records with one single column. In such cases, we can have two or more columns that uniquely identify each record in a table. Such columns are known as composite key.

De-normalization:

·       Basically, the process of taking a normalized schema and making it non-normalized is called de-normalization where will be adding required duplicated columns to exiting tables for easy data retrieval.

Pros:

·       Used for data warehouse and OLAP systems

·       More disk space as will redundant data in multiple tables

·       Less no.of joins

·       Makes reads faster

·       Can we used analysis purpose

·       Speed up select operation.

Cons:

·       Slower writes

·       Potential data inconstancy

·       Requires more storage

Comments

Popular posts from this blog

CHANGING DBID FOR ORACLE DATABASE 11G

C:\Users\computer>sqlplus SQL*Plus: Release 11.1.0.7.0 - Production on Thu Sep 10 21:03:33 2013 Copyright (c) 1982, 2008, Oracle.  All rights reserved. Enter user-name: sys as sysdba Enter password: Connected to: Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> select dbid from v$database;       DBID ---------- 2188161033 SQL> exit Disconnected from Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - Production With the Partitioning, OLAP, Data Mining and Real Application Testing options C:\Users\computer>nid DBNEWID: Release 11.1.0.7.0 - Production on Thu Sep 10 21:04:44 2013 Copyright (c) 1982, 2007, Oracle.  All rights reserved. Keyword     Description                    (Default) ---------------------------------------------------- TARGET ...

Difference between AWR, ADDM and ASH reports

AWR: Automatic Workload Repository gathers, processes and maintains performance stats used for problem detection and self-tuning the databases. Different Components that uses AWR are: Automatic Database Diagnostic Monitor Undo Advisor SQL Tuning Advisor Segment Advisor Different types of AWR Reports for different purposes: For Single Instance Environment: @$ORACLE_HOME/rdbms/admin/awrrpt.sql For Oracle RAC Environment : @$ORACLE_HOME/rdbms/admin/awrgrpt.sql For a particular SQL Statement : @$ORACLE_HOME/rdbms/admin/awrsqrpt.sql For Comparing the reports : @$ORACLE_HOME/rdbms/admin/awrddrpt.sql ADDM: Automatic Database Diagnostic Monitoring Report analyzes the AWR data on a regular basis, to give you overview of the root cause of the problem which is affecting your database’s performance. It also provides suggestions or recommendations for rectifying any problem identified and lists the areas which are having no issues. ADDM recommends multiple solutions for the DBA to choose from which...