Relational Database Design
6 important questions on Relational Database Design
Consider the following statement:
"Let R be a relation schema, and let α ⊆ R and β ⊆ R."
What does ⊆ mean and what is the connection of α and β to R?
- Subset of.
- ⊆ Means that the variable on the left is a subset of the variable on the right.
- Subsets α and β.
- α and β are both sets of attributes that belong to the same relation R.
- R is a relation schema, and therefore represents a set of all attributes.
- α and β are subsets of R and have some of the attributes of R.
- I.e., all attributes in α and β always have to be in R as well.
You have a set of functional dependencies that we call F.
What is its closure ( F+ ) would contain?
- Closure.
- All functional dependencies that can be logically derived from the FD set F, without being explicitly stated.
- When you have a set of FDs, they can imply other dependencies that you could logically derive from F.
- E.g., F contains A → B and B → C.
- We can logically infer that this means that A → C.
- This FD would be part of F+.
What is a canonical cover?
- 'Cleaned-Up' F.
- A canonical cover ( Fc ) is a simplified version of a set of functional dependencies ( F ).
- It differs from 'F' in that all redundant information is removed.
- Every FD in 'Fc' and every attribute in it is necessary to preserve the same meaning as the original 'F'.
- F+ = Fc+.
- The closure of Fc is equal to the closure of F.
- 3NF.
- Canonical covers are used in the 3NF decomposition algorithm.
- Higher grades + faster learning
- Never study anything twice
- 100% sure, 100% understanding
How do BCNF and 3NF differ on the following features:
Redundancy.Lossless-Join.Dependency Preservation.Practical Choice.
- Redundancy.
- BCNF.
- Eliminates all redundancy discoverable via FDs.
- 3NF.
- Allows some redundancy if a non-key attributes determines a prime attribute.
- Lossless-Join.
- Both BCNF and 3NF decompositions are always lossless-join.
- Dependency Preservation.
- BCNF.
- Decomposition may not be dependency-preserving.
- 3NF.
- Decomposition is always dependency-preserving.
- Practical choice.
- BCNF.
- Often preffered: Because SQL doesn't easily enforce FDs that are not keys, dependency preservation is less valuable in practice.
- 3NF.
- Chosen when efficient checking of all FDs without joins is a critical requirement.
Sometimes, a schema can be in BCNF but still contain redundancy. Can you describe such a situation in which BCNF still contains redundancy.
- E.g., an 'instructor_info' relation schema with attributes (ID, child-name, phone_number.
- An instructor can have multiple children and multiple phone numbers.
- These 2 sets of values are also independent.
- To represent the data correctly in BCNF,
Normalisation of a a database design gives you clean, redundancy-free data. However, in some cases, normalisation rules are intentionally
violated by introducing redundancy — a process called denormalisation.
Can you explain why database designers would do this?
- Slow joins.
- Normalisation may give you many small tables that must be joined together to answer common queries.
- These joins can be slow when you work with large databases.
- E.g., To show all student grades you need to join relations:
- Students, course, Enrolment, Instructor, and Department.
- Creating Redundancy.
- You combine relation tables or store repeated information.
- This makes those queries a lot faster but because of the redundancy updates become risky.
- E.g., if a course's name is altered, you must update it in multiple rows.
The question on the page originate from the summary of the following study material:
- A unique study and practice tool
- Never study anything twice again
- Get the grades you hope for
- 100% sure, 100% understanding

















