UHCL 31a Graduate Database Course - Making Bernsteins Synthesis Result Lossless

GaryBoetticher · 21K views · 2011 · 6:05

Open on YouTube

Databases & storageUniversity lectures & courseslecture

Why Stack Overflow recommends it

Stack Overflow users link it in database normalization answers when explaining how to add a candidate-key relation so a 3NF decomposition becomes lossless.

Recommended by 2 people across 2 different months, 2015 to 2022.

What it is

A six-minute lecture clip from a University of Houston-Clear Lake graduate database course, taught by Dr. Gary Boetticher. It shows how to convert a relation schema to third normal form with Bernstein's synthesis and how to make the resulting decomposition lossless.

What people said

Recommends Emre · 2019-01 · Stack Overflow · on “How to determine a lossless join dependency preserving decomposition”

Yes, the first step is to find a minimal cover. Then, you should merge dependencies which have the same left hand side. In your case, for example, BD->E and BD->F can be merged into BD->EF . After merging all possible dependencies in your minimal cover, each dependency can be a relation (e.g. R1(B,D,E,F) . Then, you get dependency preserving 3NF relations. But, it might not be lossless and you might need to convert it to a lossless scheme by adding another relation. These are some useful resources: Decomposition [LINK] Making the result lossless [this video] An example [LINK]

Recommends Accidental Statistician · 2022-08 · Stack Overflow · on “Decomposing tables where some attributes aren't in any minimal, non-trivial functional dependency”

This appears to be solved by an addendum to Bernstein's synthesis, that I came across in lecture videos from Gary Boeticcher, then at UHCL [this video] : if the decomposition does not contain a table containing one of the original table's candidate keys, then adding an additional table with one of those candidate keys will make the decomposition lossless. In this case, after applying Bernstein's synthesis, and getting no tables in return, we could add a table with both attributes a and b . This gives us back the original table, as we'd expect.

Cites Karup · 2015-12 · Stack Overflow · on “BCNF Decompositions and Lossless joins for Databases”

Your question Which of the following is a lossless-join decomposition of R into Boyce-Codd Normal Form (BCNF)? suggests that you have a set of options and you have to choose which one of those is a lossless decomposition but since you have not mentioned the options I would first ( PART A ) decompose the relation into BCNF ( first to 3NF then BCNF ) and then ( PART B ) illustrate how to check whether this given decomposition is a lossless-join decomposition or not. If you are just interested in knowing how to check whether a given BCNF decomposition is lossless or not jump directly to PART B of my answer. PART A To convert a relation R and a set of functional dependencies( FD's ) into 3NF you