Information Technology Reference
In-Depth Information
zero or one) and maximal numbers (typically one or infinite) of occurrence(s) of
given attributes and roles. Existence constraints define how optional components
(attributes and roles) may influence each other. For two components A and B,
these constraints can be:
- coexistence , which implies that A and B must always be not null simultane-
ously;
- exclusion , which implies that A and B cannot be not null simultaneously;
- at-least-one , which implies that A and B cannot be null simultaneously;
- exactly-one , which implies that if A is not null, then B should be null, and
vice-versa;
- implication , where A implies B means that A can be not null only if B is not
null itself;
For a relation, an identifier (a.k.a. candidate key ) is a set of attributes so that,
when considering all the possible tuples of the relation, there cannot be more than
one tuple having the same combination of domain values for these attributes.
For instance, from the tuples visible in Figure 1, we could assume that Customer
Number forms an identifier for relation Customer , since there are no two tuples
with the same value of this attribute.
A similar notion is the concept of functional dependencies , which are mate-
rialised by the explicit or implicit constraints between two sets of attributes in
a relation. Given relation R , a set of attributes X
R is said to functionally
determine another set of attributes Y
R , if and only if all the tuples with
the same combined values of X also have the same combined values of Y .This
functional dependency is written R : X
Y ,with X and Y respectively called
the left-hand side (a.k.a. determinant )and right-hand side (a.k.a. dependent )of
the functional dependency f . For instance, from the tuples visible in Figure 1,
it seems that the functional dependency Customer:First Name Last Name
does not hold, since there are two persons named “Bill” but with a different
family name. On the other hand, the functional dependency Customer:First
Name, Last Name Gender could hold, but would need to be validated.
3 State of the Art in Constraints and Functional
Dependencies Mining
Analysing the content of a database or a subset of data samples can intuitively
lead to make plausible assumptions on, e.g., the domains of values, the cardinal-
ities of the attributes, their existence constraints and possibly their identifiers.
Let t [
C
] be the restriction of a tuple t to the set of components
C
(called pro-
jection of t onto
), and t [ C ] be the restriction of t onto a given component C .
Now consider for instance an optional textual attribute A : if for any tuple t i ,
we observe that t i [ A ] is never null and always composed of a number, we could
easily wonder if A is not actually a mandatory numeric attribute. Moreover, if
all the t i have different values A , this could suggest that A is in fact an identifier.
The same kind of induction can be applied on optional attributes to assess their
C
 
Search WWH ::




Custom Search