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

Function Keys Shortcuts

Function Keys Shortcuts (F1 - F12) (Function Keys) F1 It is used to open the help window in almost all programs. Also used to enter BIOS or CMOS Some computers allow you to enter BIOS setup using different keys like F2, F10, Delete, Esc. Pressing Window + F1 will open the Microsoft Windows Help and Support Center. F2 In Microsoft Windows, it is used to rename an icon , file , or folder that the user selects. In Microsoft Excel, the F2 key allows you to edit the selected cell in the Excel sheet. In Microsoft Word, pressing Ctrl+F2 will open the print preview window and Alt+Ctrl+F2 will open the new file or document. In addition, it is also used to enter the CMOS setup. F3 It is mainly used to open a search function for many programs. At the MS-DOS or Windows command line, it gives users the option to repeat the last command entered. In Microsoft Word, if you press Shift + F3 , it allows you to change the selected text from uppercase to lowercase or a capital letter at the beginni...

Object Oriented and Relational Database

Object Relational and Object-Oriented Database What Is Object Relational Database? An object-relational database (ORD) is a database management system (DBMS) that’s composed of both a relational database (RDBMS) and an object-oriented database (OODBMS). An object-relational database acts as an interface between relational and object-oriented databases because it contains aspects and characteristics from both models. Object-oriented database (ORD) serves two main purposes: It connects the divide between relational databases and the object-oriented modeling techniques that are usually used in programming languages like C#, Java and C++. It bridges the gap between conceptual data modeling techniques for relational and object-oriented databases like entry-relationship diagram (ERD) and object-relational mapping (ORM). What Is Object Oriented Database? An object-oriented database is organized around objects rather than actions and data rather than logic. Therefore, an object database is a d...

Addressing Modes & Types of Addressing Modes

Addressing Modes & Types of Addressing Modes Addressing modes: The different ways of specifying the location of an operand in instruction are called addressing modes. Types of Addressing Modes: In computer architecture, there are the following types of addressing modes: Implied / Implicit Addressing Mode Stack Addressing Mode Immediate Addressing Mode Direct Addressing Mode Indirect Addressing Mode Register Direct Addressing Mode Register Indirect Addressing Mode Relative Addressing Mode Indexed Addressing Mode Base Register Addressing Mode Auto-Increment Addressing Mode Auto-Decrement Addressing Mode (Types of Addressing Modes) In this article, we will discuss these addressing modes in detail. 1. Implied Addressing Mode: In this addressing mode, The definition of the instruction itself specifies the operands implicitly. It is also called an implicit addressing mode. Examples: The instruction “Complement Accumulator” is an implied mode of instruction. In a stack-organized compute...