Skip to main content

Relational Decomposition

Relational Decomposition
  • When a relation in the relational model is not in appropriate normal form then the decomposition of a relation is required.
  • In a database, it breaks the table into multiple tables.
  • If the relation has no proper decomposition, then it may lead to problems like loss of information.
  • Decomposition is used to eliminate some of the problems of bad design like anomalies, inconsistencies, and redundancy.

Types of Decomposition

Relational Decomposition


Lossless Decomposition
  • If the information is not lost from the relation that is decomposed, then the decomposition will be lossless. 
  • The lossless decomposition guarantees that the join of relations will result in the same relation as it was decomposed.
  • The relation is said to be lossless decomposition if natural joins of all the decomposition give the original relation.

Example:

EMPLOYEE_DEPARTMENT table:

EMP_ID

EMP_NAME

EMP_AGE

EMP_CITY

DEPT_ID

DEPT_NAME

22

Denim

28

Mumbai

827

Sales

33

Alina

25

Delhi

438

Marketing

46

Stephan

30

Bangalore

869

Finance

52

Katherine

36

Mumbai

575

Production

60

Jack

40

Noida

678

Testing



The above relation is decomposed into two relations EMPLOYEE and DEPARTMENT

EMPLOYEE table:

EMP_ID

EMP_NAME

EMP_AGE

EMP_CITY

22

Denim

28

Mumbai

33

Alina

25

Delhi

46

Stephan

30

Bangalore

52

Katherine

36

Mumbai

60

Jack

40

Noida



DEPARTMENT table

DEPT_ID

EMP_ID

DEPT_NAME

827

22

Sales

438

33

Marketing

869

46

Finance

575

52

Production

678

60

Testing



Now, when these two relations are joined on the common column "EMP_ID", then the resultant relation will look like this:

Employee ⋈ Department

EMP_ID

EMP_NAME

EMP_AGE

EMP_CITY

DEPT_ID

DEPT_NAME

22

Denim

28

Mumbai

827

Sales

33

Alina

25

Delhi

438

Marketing

46

Stephan

30

Bangalore

869

Finance

52

Katherine

36

Mumbai

575

Production

60

Jack

40

Noida

678

Testing



Hence, the decomposition is Lossless join decomposition.

Dependency Preserving
  • It is an important constraint of the database.
  • In the dependency preservation, at least one decomposed table must satisfy every dependency.
  • If a relation R is decomposed into relation R1 and R2, then the dependencies of R either must be a part of R1 or R2 or must be derivable from the combination of functional dependencies of R1 and R2.
  • For example, suppose there is a relation R (A, B, C, D) with functional dependency set (A->BC). The relational R is decomposed into R1(ABC) and R2(AD) which is dependency preserving because FD A->BC is a part of relation R1(ABC).

Comments

Popular posts from this blog

creating object invoking various methods

Define a class named College as described below:  Data Members: 1) collegeName 2) principalName 3) place Methods : 1) constructor. 2) display() to display the collegeName, principalName, and the place. Test this class by creating an object and then invoking the various methods. class collegeName{  public String collegeName;  public String PrincipalName;  public String place;  public collegeName(){  }  public void display(){  System.out.println("College name is "+this.collegeName);  System.out.println("Principal name is "+this.PrincipalName);  System.out.println("Place is "+this.place);  }  }  class displayName{  public static void main(String[] args) {  collegeName c = new collegeName();  c.collegeName="Siliguri Institute of Technology";  c.PrincipalName="Dr. Mithun Chakraborty";  c.place="Siliguri";  c.display();  }  } OUTPUT: College name is Siliguri Institute of Technology Princip...

Normalization Types in DBMS

Normalization Types in DBMS First Normal Form (1NF) A relation will be 1NF if it contains an atomic value.  It states that an attribute of a table cannot hold multiple values. It must hold only single-valued attribute. First normal form disallows the multi-valued attribute, composite attribute, and their combinations. Example: Relation EMPLOYEE is not in 1NF because of multi-valued attribute EMP_PHONE. EMPLOYEE table: EMP_ID EMP_NAME EMP_PHONE EMP_STATE 14 John 7272826385, 9064738238 UP 20 Harry 8574783832 Bihar 12 Sam 7390372389, 8589830302 Punjab The decomposition of the EMPLOYEE table into 1NF has been shown below: EMP_ID EMP_NAME EMP_PHONE EMP_STATE 14 John 7272826385 UP 14 John 9064738238 UP 20 Harry 8574783832 Bihar 12 Sam 7390372389 Punjab 12 Sam 8589830302 Punjab Second Normal Form (2NF) In the 2NF, relational must be in 1NF.  In the second normal form, all non-key attributes are fully functional dependent on the primary key  Example: Let's assume, a school can ...

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...