0% found this document useful (0 votes)
42 views3 pages

To Decompose A Relation R Into BCNF

To decompose a relation into BCNF, we identify candidate keys, determine FDs that violate BCNF, and decompose the relation into smaller relations to eliminate violations. For the given relation R(A,B,C,D,E,F) with FDs A->BC and D->AF, the candidate key is AD. Both FDs violate BCNF since A and D are not superkeys. The relation is decomposed into R1(A,B,C), R2(D,A,F), and R3(E) to satisfy the FDs and achieve BCNF.

Uploaded by

iAmAlfa
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
42 views3 pages

To Decompose A Relation R Into BCNF

To decompose a relation into BCNF, we identify candidate keys, determine FDs that violate BCNF, and decompose the relation into smaller relations to eliminate violations. For the given relation R(A,B,C,D,E,F) with FDs A->BC and D->AF, the candidate key is AD. Both FDs violate BCNF since A and D are not superkeys. The relation is decomposed into R1(A,B,C), R2(D,A,F), and R3(E) to satisfy the FDs and achieve BCNF.

Uploaded by

iAmAlfa
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

To decompose a relation R into BCNF (Boyce-Codd Normal Form), we need to follow these

steps:

1. Identify the candidate keys for the relation R.


2. Determine the functional dependencies (FDs) that violate the BCNF condition.
3. Decompose the relation into smaller relations to eliminate those violations.

In your case, you've provided the following relation and functional dependencies:

**R(A, B, C, D, E, F)**

**FDs:**
1. A -> BC
2. D -> AF

Let's break this down step by step:

**Step 1: Identify Candidate Keys**

To determine candidate keys, we need to find sets of attributes that can uniquely identify every
tuple in the relation. In this case, we don't have any candidate keys explicitly mentioned, so let's
find them:

For the given FDs:


- A -> BC
- D -> AF

We can start by considering A and D as potential candidate keys. Let's see if they are indeed
candidate keys:
**Candidate Key 1:** {A}
- With A as a candidate key, we can uniquely determine BC through FD1 (A -> BC).
- However, we cannot determine DE or F, so A alone is not a candidate key.

**Candidate Key 2:** {D}


- With D as a candidate key, we can uniquely determine AF through FD2 (D -> AF).
- However, we cannot determine BCE, so D alone is not a candidate key.

**Candidate Key 3:** {AD}


- With AD as a candidate key, we can determine BC through FD1 (A -> BC).
- We can also determine AF through FD2 (D -> AF).
- However, we cannot determine E from AD.

Based on this analysis, we can see that neither A nor D alone is a candidate key, but AD together
forms a candidate key for the relation.

**Step 2: Determine FDs Violating BCNF**

To determine which FDs violate BCNF, we need to check if the left-hand side of each FD is a
superkey (including candidate keys). Any FD with a non-superkey on the left-hand side violates
BCNF.

In this case:
- FD1: A -> BC (A is not a superkey, so this FD violates BCNF)
- FD2: D -> AF (D is not a superkey, so this FD violates BCNF)

Both FD1 and FD2 violate BCNF.

**Step 3: Decompose R into BCNF**


To decompose R into BCNF, we need to create new relations for each FD that violates BCNF
and include the attributes from their closure.

Decompose R into the following relations:

**R1(A, B, C)** - This relation includes A, B, and C to satisfy FD1 (A -> BC).

**R2(D, A, F)** - This relation includes D, A, and F to satisfy FD2 (D -> AF).

**R3(E)** - This relation includes E, which is not involved in any of the given FDs.

Each of these relations is now in BCNF because their left-hand sides of FDs are superkeys.
Additionally, R1 and R2 should have the candidate key AD, which guarantees uniqueness in
each relation.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy