Prove that the loop in the BCNF decomposition algorithm has the property that the database schema at each subsequent iteration has strictly fewer FDs that violate BCNF than has the schema in the previous iteration.
What will be an ideal response?
Let S = (S; F) be a schema that is not in BCNF. First, we have to clarify which sets of FDs possess the properties stated in the exercise. Here we are talking about the set of all entailed FDs, not the FDs in F. It is easy to ?nd examples where the number of
violating FDs can increase temporarily if we were just looking at the FDs in F rather than F+.
To prove the required result, observe that during each iteration, when there is an FD X ? Y , which violates BCNF, the algorithm decomposes the original schema S = (S; F) into S1=(XY ; F1) and S2=(S ? (Y ? X ); F2). The set of FDs in F1+ ? F2+ is a subset of F+, so it does not have any additional FDs that violate BCNF. Moreover, X ? Y is in F1, but not in F2, and it no longer violates BCNF, since X is a superkey in S1. Therefore the number of violating FDs has decreased.
Note that both S1 and S2 can have other FDs that still violate BCNF, so the decomposition process must continue until none is left.
You might also like to view...
Which of the following can be defined as the shared attitudes, goals, and practices that characterize a company, corporation, or institution?
A) Regulations B) Corporate culture C) Cybersecurity policy D) Guiding principles
You have been asked to improve the quality of the code produced by the software development team, so you are creating a secure coding standard document. Which of the following is NOT a topic that should be covered?
A. error handling B. input validation C. memory use and reuse D. performance metrics
Describe how is the data bar conditional formatting helpful when reviewing a column of data.
What will be an ideal response?
A server technician has just installed a server with several roles. The technician then launches a command prompt, runs the netstat command, and notices the server is listening on the following ports: 88, 389, 464, 3268, and 3269. Which of the following server roles is MOST likely installed on this server, given the ports above?
A. Database server B. Directory server C. Mail server D. Web server