CS157a
Chris Pollett
Oct 4, 2023
We can modify our BCNF decomposition algorithm to get a 4NF decomposition algorithm as follows:
In the case of our earlier example table. The above algorithm would split the table because of `n\a\m\e ↠ s\t\r\e\e\t \ \ c\i\t\y` and decompose it into two tables `R_1`(name, street, city) and `R_2`(name, title, year).
Movies | Stars ----------------------------- Basic Instinct | Sharon Stone Total Recall | Arnold Schwarzenegger Total Recall | Sharon Stonewhere a particular row, such as "Basic Instinct | Sharon Stone", represents a tuple, in this case, (Basic Instinct, Sharon Stone), in the relationship. A value like "Basic Instinct" represents a Movies entity which in turn has attributes.