Course: Database Systems Discussion 1 (Chapter 14): Discuss insertion, deletion, and modification anomalies. Why are they considered bad? Illustrate with examples. Instructions: Your response to th
Replies to the below posts:
Post 1:
21 hours ago
Andrea
Discussion 2
COLLAPSE
Top of Form
The closure of a set of functional dependencies refers to the complete set of all possible dependencies (or attributes) which can be functionally derived from a given functional dependency by applying some inference rules known as Armstrong's axioms introduced by William W. Armstrong. There are six inference rules: reflexive rule, augmentation rule, transitive rule, decomposition rule, union rule, and pseudo transitive rule. If we use F to define the set of functional dependencies specified on relation schema R, then F+ would be the closure of F (Elmasri & Navathe, 2016).
For example, let's say we have a relation schema R which attributes are (A, B, C, G, H, I). We are also given a few functional dependencies:
F = { A --> B, A --> C, CG --> H, CG --> I, B --> H }
To determine F+, we include all the functional dependencies in F as well as the functional dependencies determined using the inference rules.
If A --> B and B --> H then A --> H (using transitive rule)
If CG --> H and CG --> I then CG --> HI (using union rule)
If A --> C and CG --> H then AG --> H (using pseudo transitive rule)
If A --> C and CG --> I then AG --> I (using pseudo transitive rule)
Therefore,
F+ = { A --> B, A --> C, CG --> H, CG --> I, B --> H, A --> H, CG --> HI, AG --> H, AG --> I }
Reference:
Elmasri, R., & Navathe, S. B. (2016). Fundamentals of database systems (7th ed.). Pearson.
Post 2:
2 days ago
Brittany
COLLAPSE
Top of Form
Closure of Functional Dependencies
To first grasp this concept better, the definition of functional dependency needs to be explained. A functional dependency is a relationship between two attributes, typically the Primary Key and other non-key attributes (Watt, 2014). An example of a functional dependency is having an entity "Student" with attributes “SSN”, "Student ID", "First Name", and "Last Name". In this case, "SSN" is the Primary Key, meaning that a user can gather all the data they need just from the Primary Key. The "SSN" attribute will provide the social security number, student ID number, first name, and last name of the student all just from the Primary Key. In correspondence to closure, a closure of functional dependency includes a list of all possible dependencies that can be included that derive from a given functional dependency (Minigranth, n.d.,). The closure of functional dependencies follows the reflexive rule by the non-key attributes determining its subsets as dependencies are generated only if they are always true (Elmarse & Navathe, 2017). An example of this would be having the Student entity with the same attributes listed above with two functional dependencies “SSN” and “Student ID”. The first dependency will list out as follows: {SSN} = {SSN, Student ID, First Name, Last Name”} and the second dependency will list out as follows: {Student ID} = {Student ID, First Name, Last Name}.
References
Elmarsi, Ramez & Navathe, Shamkant. (2017). "Fundamentals of Database Systems". (7th Edition). Pearson Education Limited.
Watt, Adrienne. (2014). "Database Design". (2nd Edition). BCcampus.
(n.d.,). "Closure of Functional Dependency". Minigranth. Retrieved from https://minigranth.in/dbms-tutorial/closure-of-functional-dependency#:~:text=The%20Closure%20Of%20Functional%20Dependency,%E2%80%9C%7BF%7D%2B%E2%80%9D.
Bottom of Form
Bottom of Form