Module 5 Flashcards

1
Q

What is a canonical cover?

A

A minimal and equivalent set of functional dependencies (FDs) with no redundancy.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Why is a canonical cover important?

A

It simplifies functional dependencies and improves efficiency in decomposition algorithms.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What are the three properties of a canonical cover?

A

1) It is equivalent to the original FD set, 2) It has no redundant FDs, 3) Each FD has a single attribute on the right-hand side.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

How do you compute a canonical cover?

A

Remove redundant attributes from FDs, split FDs with multiple attributes on the RHS, and remove unnecessary FDs.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is an equivalent set of functional dependencies?

A

Two sets of FDs that imply the same dependencies.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What does it mean for an FD to be redundant?

A

An FD is redundant if it can be derived from other FDs in the set.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is a minimal cover?

A

A set of FDs that is equivalent to the original but contains no redundant FDs or attributes.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

How does redundancy affect database design?

A

It leads to storage waste, inconsistencies, and anomalies.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is a decomposition in database normalization?

A

Breaking a relation into smaller relations to remove redundancy while preserving constraints.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What are the two key properties of a good decomposition?

A

Lossless join and dependency preservation.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is a lossless join decomposition?

A

A decomposition where the original relation can be reconstructed without losing information.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is the formal condition for a lossless join?

A

For decomposition {R1, R2}, if R1 ∩ R2 → R1 or R1 ∩ R2 → R2, then the decomposition is lossless.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Why is lossless join decomposition important?

A

It ensures that no information is lost when relations are recombined.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is a dependency-preserving decomposition?

A

A decomposition where all FDs in the original relation can be enforced without recombining tables.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Why is dependency preservation important?

A

It ensures that functional dependencies can be enforced without needing to perform joins.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is the difference between lossless join and dependency-preserving decomposition?

A

Lossless join ensures no data is lost, while dependency preservation ensures all FDs can be enforced within the decomposed relations.

17
Q

What happens if a decomposition is not lossless?

A

Joining the decomposed tables may result in missing or incorrect tuples.

18
Q

What happens if a decomposition is not dependency-preserving?

A

Some functional dependencies may require costly joins to enforce.

19
Q

What is the projection of functional dependencies?

A

The set of FDs that hold in a decomposed relation.

20
Q

What is the importance of finding the projection of FDs?

A

It helps determine if a decomposition is dependency-preserving.

21
Q

How do you check if a decomposition preserves dependencies?

A

Compute the closure of FDs in the decomposed relations and compare it to the original set of FDs.

22
Q

What are the key steps in finding a minimal cover of FDs?

A

1) Minimize RHS attributes, 2) Remove redundant LHS attributes, 3) Remove redundant FDs.

23
Q

What is an example of an unnecessary FD?

A

If FDs include {A → B, B → C, A → C}, then A → C is redundant because it follows from transitivity.

24
Q

What is an example of reducing RHS attributes in an FD?

A

If {A → BC}, we can split it into two separate FDs: {A → B, A → C}.

25
What is an example of removing a redundant LHS attribute?
If {AB → C} and {A → C} exist, then AB → C is redundant, and we can just keep A → C.
26
Can there be multiple canonical covers for the same set of FDs?
Yes, as long as they are minimal and equivalent to the original set.
27
What is a binary decomposition?
A decomposition where a relation is split into exactly two smaller relations.
28
What are the potential issues with decomposition?
It may not always be lossless or dependency-preserving.
29
What is an example of a lossless decomposition?
Decomposing R(A, B, C) into R1(A, B) and R2(B, C) when B → C ensures a lossless join.
30
What is an example of a dependency-preserving decomposition?
If all functional dependencies from the original schema can still be enforced in the decomposed relations without performing joins.