Background To Normalization: Definitions
- Functional dependency
- In a given table, an attribute Y is said to have a functional dependency on a set of attributes X (written X → Y) if and only if each X value is associated with precisely one Y value. For example, in an "Employee" table that includes the attributes "Employee ID" and "Employee Date of Birth", the functional dependency {Employee ID} → {Employee Date of Birth} would hold. It follows from the previous two sentences that each {Employee ID} is associated with precisely one {Employee Date of Birth}.
- Trivial functional dependency
- A trivial functional dependency is a functional dependency of an attribute on a superset of itself. {Employee ID, Employee Address} → {Employee Address} is trivial, as is {Employee Address} → {Employee Address}.
- Full functional dependency
- An attribute is fully functionally dependent on a set of attributes X if it is:
- functionally dependent on X, and
- not functionally dependent on any proper subset of X. {Employee Address} has a functional dependency on {Employee ID, Skill}, but not a full functional dependency, because it is also dependent on {Employee ID}.
- Transitive dependency
- A transitive dependency is an indirect functional dependency, one in which X→Z only by virtue of X→Y and Y→Z.
- Multivalued dependency
- A multivalued dependency is a constraint according to which the presence of certain rows in a table implies the presence of certain other rows.
- Join dependency
- A table T is subject to a join dependency if T can always be recreated by joining multiple tables each having a subset of the attributes of T.
- Superkey
- A superkey is a combination of attributes that can be used to uniquely identify a database record. A table might have many superkeys.
- Candidate key
- A candidate key is a special subset of superkeys that do not have any extraneous information in them: it is a minimal superkey.
- Example:
- A table with the fields
, , and has many possible superkeys. Three of these are , and . Of those, only is a candidate key as the others contain information not necessary to uniquely identify records ('SSN' here refers to Social Security Number, which is unique to each person).
- A table with the fields
- Non-prime attribute
- A non-prime attribute is an attribute that does not occur in any candidate key. Employee Address would be a non-prime attribute in the "Employees' Skills" table.
- Prime attribute
- A prime attribute, conversely, is an attribute that does occur in some candidate key.
- Primary key
- Most DBMSs require a table to be defined as having a single unique key, rather than a number of possible unique keys. A primary key is a key which the database designer has designated for this purpose.
Read more about this topic: Database Normalization
Famous quotes containing the words background and/or definitions:
“They were more than hostile. In the first place, I was a south Georgian and I was looked upon as a fiscal conservative, and the Atlanta newspapers quite erroneously, because they didnt know anything about me or my background here in Plains, decided that I was also a racial conservative.”
—Jimmy Carter (James Earl Carter, Jr.)
“Lord Byron is an exceedingly interesting person, and as such is it not to be regretted that he is a slave to the vilest and most vulgar prejudices, and as mad as the winds?
There have been many definitions of beauty in art. What is it? Beauty is what the untrained eyes consider abominable.”
—Edmond De Goncourt (18221896)