Database Learning notes A detailed explanation of _10_ function dependence--the axiom of function dependence and its law of pushing and property closure

Source: Internet
Author: User
Tags closure

First introduced Armstrong ' s axioms,

The Reflection Law (reflexivity rule) for any LA (b) Subset of La (a), La (a)->la (b) is established

Add law (argumentation rule) if La (a)->la (b) is established, then La (a) La (y)->la (b) La (y) is established

Transfer law (transitivity rule) If there is La (a)->la (b), La (b)->la (c), then there is La (a)->la (c)

By the above rules, we can push and export the rules.

If there is a merger law (Union rule) La (a)->la (b), La (a)->la (c), there is La (a)->la (b) La (c);

Proof: According to Axiom, can be converted to LA (a)->la (b) La (a), La (a) La (b)->la (c) La (b), with the result of a transfer rate.

Split law (decomposition rule) If there is La (a)->la (b) La (c), then La (a)->la (b), La (a)->la (c) is established

Proof: According to Axiom, La (b) La (c)->la (b), La (b) La (c)->la (c) ... And then you know.

Pseudo-transitive law, if La (a)->la (b), and La (BC)->la (d), then La (a) La (c)->la (d);

It's foolish to ask for a dependency closure. The way to do this is to enumerate all the two tuples in a function dependency set to see if any of the above operations can be applied, and if so, add the result to the function dependency set to the next round, until the operation cannot calculate any results.

The following describes the property closures:

For a set of properties La (a), where F is present in R, the property in La (a) can be derived by f a set of properties that can be dominated by LA (a) +, which is calculated as

Set Result=la (a);

While (result does not change)

For (all the functional dependency F LA (x)->la (y))

if (X is a subset of result) result+=y;

For an attribute closure application:

In order to determine whether a is a super-key, you can find a + if it is r, then A is a super-key, otherwise it is not.

You can verify that a function dependency exists, for example, if I want to check La (a)->la (b), then I find that La (a) + if LA (b) is a la (a) + subset, then it exists, otherwise it does not exist.

We can also do this by finding each of La (a) in the set of properties in R and La (a) + and then combining all the sets of the subsets of La (a) + into La (a)->s into the f+, which is an alternative to the function dependency closure.

Database Learning notes A detailed explanation of _10_ function dependence--the axiom of function dependence and its law of pushing and property closure

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.