Relational database schema consists of number of relations
with number of attributes of various entities in the organization. However, the
method of grouping these attributes in relations plays a very important role in
whole database life. The quality of relational database schema depends on many
properties given below.
1. The attributes in a relation must be
related to each other in a simple and understandable way.
2. The duplicate values i.e. the
redundant values in tuples must be reduced.
3. The null values in tuples should be
avoided.
4. There should not be any possibility
of any kind of unambiguous tuples being created by any type of operation on the
database.
To make the database fulfil above conditions, the process of normalization
is performed on the attributes. Normalization
is a process of decomposing the
relational schemas and breaking them into smaller relational schemas that
possesses desirable properties.
Functional Independence:
Two fields are said to be functional independent if they are not fully dependent on the
complete primary key.
For example: po_no, rate, item
Here rate is not dependent on the
primary key. So, the rate is functionally independent.
Functional Dependencies:
Functional
dependencies are constraints on the set of legal relations. The notion of
functional dependency is the generalization of the notion of a key. It is the
property of the semantics or meaning of the attributes.
Let R be a
relational schema and let (A1, A2… An) be the
attributes of R. The functional dependency, denoted by X → Y, between two set
of attributes X and Y (X ∈ R and Y ∈
R) that are subsets of R specifies a constraint on the possible tuples that can
form a relation state ‘r’ of R. The constraint is that, for any two tuples t1
and t2 in ‘r’, that have
t1[X] =t2[X], we must also have t1[Y] =t2[Y].
This means that the values of the Y component of a tuple in ‘r’ depends on (or determined by) the
values of the X component. Alternatively, the values of the X component of a
tuple uniquely (or functionally) determine the values of the Y component.
So, X
functionally determines Y in a relation schema R if and only if, whenever two
tuples of r(R) of agree on their X
value, they must necessarily agree on their Y value.
Note:
- If X
is a candidate key of R, then X → Y for any subset of attributes of Y of
R.
- If X →
Y in R, this does not say whether or not Y → X in R.
No comments:
Post a Comment