<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>” The Computer Journal</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <article-id pub-id-type="doi">10.1007/s10844-007-0048-x</article-id>
      <title-group>
        <article-title>A Survey of Database Dependency Concepts</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Nikita Bobrov</string-name>
          <email>nv.mm61@gmail.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Anastasia Birillo</string-name>
          <email>anastasia.i.birillo@gmail.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>George Chernishev</string-name>
          <email>g.chernyshev@spbu.ru</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Saint Petersburg State University</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Saint Petersburg State University, JetBrains Research</institution>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2002</year>
      </pub-date>
      <volume>12</volume>
      <issue>3</issue>
      <fpage>100</fpage>
      <lpage>111</lpage>
      <abstract>
        <p>-A database dependency is a formal concept which is used to describe patterns in data. These patterns are employed during data analysis, data cleansing, and schema normalization. There is about dozen of major dependency types. In this paper we survey these types of database dependencies employed in the relational databases. We start from the earliest ones - functional dependencies and conclude with the state-ofthe-art findings. For each type we provide both formal and nonformal definitions and present an example and counterexample. We also briefly discuss extraction algorithms and possible use cases.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>The era of big data not only presents new opportunities, but
also poses new challenges for both industry and academy. The
challenges come from the three “Vs”, which are frequently
used to describe the properties of big data: volume, velocity,
and variety. Volume refers to the ever-increasing amounts of
data that need to be processed. Velocity usually implies rapid
arrival speeds and variety reflects that different types of data
involved.</p>
      <p>To benefit from this data, one has to be able to process,
store, and query it efficiently. This requires that data
semantics — patterns, properties, and purposes must be known to
the user. Unfortunately, most of the time this is not the case
for big data: it is hard to obtain this knowledge because of
these three properties, especially given the large volumes.</p>
      <p>There is a strong demand for methods, tools, and approaches
for knowledge extraction. One of such tools is database
dependencies, a concept known since the early 70s. This approach
is very promising because big data is closely related to the
NoSQL movement, which relies on very wide “tables”. Thus,
knowledge extraction employing these dependencies becomes
very relevant in this environment.</p>
      <p>A database dependency is a formal concept that can be
used to describe patterns in data. Initially, the dependencies
were employed for schema normalization and data cleansing.
Currently, one of the most popular contemporary applications
is data analysis.</p>
      <p>A database dependency can be described as a rule which has
left and right hand sides (LHS and RHS). This rule guarantees
some properties of the data and involves LHS and RHS. For
example, functional dependency guarantees that for any pair
of tuples with equal LHS their RHS would be equal also.</p>
      <p>Database dependencies are quite an old concept. The first
kind — functional dependencies were introduced in 1971.
Since then, the area grew rapidly, and many novel types and
sub-types were proposed. Currently, there is a dozen of major
dependency types.</p>
      <p>In this paper we survey database dependency concepts
employed in the relational databases. We survey them starting
from the earliest ones and conclude with the state-of-the-art
findings. We provide both formal and non-formal definitions
and present an example for each type. We also briefly discuss
extraction algorithms and possible use cases. Our goal is to
produce a broad survey that involves major types of database
dependencies without delving into details.</p>
      <p>The idea of this paper arrived during our development of a
data-driven tool for automatic database physical design. Our
approach was to rely on data properties instead of
workload knowledge. During this study an extensive exploration
of dependency concept literature was performed. We have
discovered many classes of such concepts, not only textbook
examples like functional dependencies. However, there were
no single study which would present a broad overview of this
field.</p>
      <p>Thus, we decided to convert our expertise into a survey
which would cover the major classes of dependencies,
including the recent ones. This survey may be useful to beginners and
to researchers who are interested in discovery of knowledge
hidden in the data and who do not require solid theoretical
understanding.</p>
      <p>
        There are several surveys on database dependency concepts.
However, they are not entirely comparable to this study due
to a number of reasons. First, there is a couple of studies that
survey different kinds of dependencies, but which are more
than 20 years old [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. This fact renders them unusable for
learning up-to-date dependency types.
      </p>
      <p>On the other hand, the recent studies pursue goals that differ
from the ones of our survey.</p>
      <p>
        Reference [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] is a classification of types of relaxed
functional dependencies. In this survey, the authors consider 35
types of imprecise functional dependencies, build a
classification and provide a list of application domains for each class.
However, the authors deliberately left inclusion dependencies
and multivalued dependencies out of scope of this work.
      </p>
      <p>
        There is another type of surveys that deal with dependency
discovery methods. Reference [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] contains a Related Work
      </p>
      <p>Gender
M
F
M
M
F</p>
      <p>
        Hospital
St. Mark’s
St. George
St. Mark’s
St. Mungo’s
St. Thomas’
section that lists a number of methods for discovery of
functional dependencies. Another functional dependency discovery
survey is presented in reference [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. This work features not
only a survey, but also an experimental evaluation.
      </p>
      <p>
        A survey of discovery methods for different types of
dependencies is presented in reference [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. This survey includes
methods for conditional, inclusion, approximate, and XML
dependency discovery.
      </p>
      <p>Thus, to the best of our knowledge, there is no broad survey
which lists known types of database dependencies.</p>
    </sec>
    <sec id="sec-2">
      <title>IV. DEPENDENCY TYPES</title>
      <sec id="sec-2-1">
        <title>A. Functional Dependencies</title>
        <p>
          The notion of the functional dependency (FD) was originally
introduced by E.F. Codd in the early 1970s in his paper
“Further Normalization of the Data Base Relational Model”
[
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]. In this paper, Codd proposed to use FDs for database
schema design. Now, the range of FD application is much
wider. For example, study [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ] describes query optimization
methods that are based on the FD notion.
        </p>
        <p>
          Study [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ] contains research results on the topic of FDs that
are used for query optimization. Besides, the usefulness of
FDs is shown in relational database systems as well as in
non-relational database environments.
        </p>
        <p>
          The first formal definition of an FD was given in W.W.
Armstrong’s work [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ].
        </p>
        <p>Definition 1: A relation R satisfies the FD X ! Y (where
X; Y R), if and only if for all t1; t2 2 R holds: if t1[X] =
t2[X], then t1[Y ] = t2[Y ].</p>
        <p>Thus, an FD is essentially a “many to one” relation between
the value sets of attributes participating in LHS and RHS.</p>
        <p>Consider relation depicted in Table I. The following FDs
are present:
fArea, Phoneg ! fHospitalg
fPatientg ! fGenderg
As we can see from Table I, any value from the set fPatient,
Doctorg is related exactly to one value from the set fAreag.
The second FD can be explained in a similar manner.</p>
        <p>Further, we can list dependencies which do not hold (violate
the FD condition) in the relation:
fDoctorg ! fHospital, Areag
fHospitalg ! fPatientg</p>
        <p>The first one is not an FD since two different values in the
RHS attribute set (Hospital and Area) present for a fixed value
of the Doctor attribute. For example doctor Robin maps
simultaneously to fSt:George; Southg, fSt:M ark0s; N orthg
that contradicts the meaning of FD. The issue with the second
dependency can be explained in a similar way.</p>
        <p>
          Nowadays, relaxed FDs (RFDs) [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ] are one of the most
active sub-types of FDs. These dependencies relax one or more
constraints of the canonical FD. For example, RFD has to hold
for most tuples, not for all of them like in FD case.
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>B. Inclusion Dependencies</title>
        <p>
          Inclusion dependency (IND) was first formalized by R.
Fagin [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ], but have also been used by J.M. Smith and
D.C.P. Smith in [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ]. Since then INDs have become just as
popular as any other traditional dependency type (FD, MVD,
JD).
        </p>
        <p>
          By introducing this concept, a new kind of a normal form
was defined — the domain-key normal form (DK/NF). This
form requires every constraint on the relation to be a logical
consequence of key constraints and domain constraints. A
relation is in DK/NF if it is guaranteed that no insertion
and deletion anomalies are present, as it is stated in Fagin’s
theorem 3.13 (“a satisfiable 1NF relation schema is in DK/NF
if and only if it has no insertion or deletion anomalies” [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]).
We say that an insertion anomaly occurs if after insertion of
a tuple one of relation constraints (either key or domain) is
violated. Similarly, a deletion anomaly occurs when deletion
of a single tuple results in constraint violation. According to
paper [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ], we define IND as:
        </p>
        <p>Definition 2: Let R = (R1 : : : Rk) and S = (S1 : : : Sm)
be two relational tables. Further, R^ = Ri1 : : : Rin and S^ =
Si1 : : : Sin be n-ary column combinations of distinct columns.
We say that IND R^ S^ holds, if for every tuple tR 2 R, there
is a tuple tS 2 S, such that tR[R^] = tS [S^]. R^ is called the
dependent column combination and S^ – the referenced column
combination.</p>
        <p>In other words, we can say that all tuples of the attribute
combination R^ in the relation R must be also contained in
tuples of the attribute combination S^ of the relation S.</p>
        <p>Figure IV-B depicts an example of IND fDLNg fDLIDg.
This dependency information can help us in discovery of a
foreign key (which is DLN in the example).</p>
        <p>UID
1
2
3
4
5</p>
        <p>Name
Sofia
Leonard
Shavkat
Mary
Andrew</p>
        <p>Gender
F
M
M
F
M</p>
        <p>Let us construct an example where the dependency
presented in Table IV-B is violated. In order to violate fDLNg
fDLIDg, the DLN should stop being the foreign key for the
corresponding table. Thus, we have to substitute any value of
the DLN with the value absent in the DLID. For example,
changing the third tuple to (3; Shavkat; M; 11) is enough to
break this dependency.
Name
Wilson
Taylor
Kimberly
Ellis
Name
Wilson
Taylor
Kimberly
Ellis</p>
        <p>Doctor
Lewis
Jackson
Brooks
Brooks
Doctor
Lewis
Jackson
Brooks
Brooks
Name
Wilson
Taylor
Kimberly
Ellis
Doctor
Lewis
Jackson
Brooks
Brooks</p>
        <p>Disease
Arthritis
Insomnia
Pancreatitis</p>
        <p>Somnambulism
Disease
Arthritis
Insomnia
Pancreatitis</p>
        <p>Somnambulism</p>
        <p>IND is one of the most important dependencies for many
tasks such as data integration, integrity checking, schema
design, and any other where we may need additional
metadata for understanding significant aspects or structure of an
unknown database. Consider a data source that comes only
with superficial information, such as relation or attributes
names with no interrelational constraints. In this case, detected
INDs between relations may be considered as a precondition
for a foreign key constraint. In fact, being a basis of the
interrelational constraint is the most prominent application of
the IND.</p>
        <p>
          There are further state of the art approaches for exact and
approximate inference of INDs: [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ], [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ], [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ].
        </p>
      </sec>
      <sec id="sec-2-3">
        <title>C. Join Dependencies</title>
        <p>
          Join dependencies (JDs) were first mentioned at the end of
the 1970s in the works [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ], [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ]. The notion of JDs ensures
lossless reconstruction of the data that was decomposed into a
number of relations. The data is reconstructed using the join
relational operation.
        </p>
        <p>
          Paper [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ] contains the formal definition of JD:
        </p>
        <p>Definition 3: A JD defined for a relation R[U ] (U — is a
set of attributes) is an expression of the form ./ [X1; ; Xn],
where X1 [ [ Xn = U . An instance I of R[U ] satisfies
./ [X1; ; Xn], if I = X1 (I) ./ ./ Xn (I).</p>
        <p>Consider the relation presented in Table III. Here, the
following FD exists: fNameg ! fDiseaseg. This FD implies
that the JD ./ [fName; Doctorg; fName; Diseaseg] is satisfied,
thus lossless decomposition is available (see Table IV).</p>
        <p>Let us study the violation of JD constraint in the same table
III. The dependency ./ [fName; Doctorg; fDoctor; Diseaseg]
is not a valid JD because there is no opportunity to restore
the original table. In this case the join of these two tables
would lead to appearance of two phantom records, absent</p>
        <p>Date (DD/MM/YY)
01.01.17
04.01.17
13.03.17
15.03.17
17.03.17
23.07.17
in the original table. The key “Brooks” would produce four
items instead of two. This is explained by the fact that the
dependency fHospitalg ! fDoctorg is not an FD. Also, there
may be the opposite case when the records would be lost.</p>
        <p>
          Currently, several algorithms are being actively developed
for efficient testing of existing JDs. For example, the algorithm
[
          <xref ref-type="bibr" rid="ref18">18</xref>
          ] is aimed for an I/O-efficient testing in the external
memory model.
        </p>
        <p>
          Paper [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ] contains the finite axiomatization of the
implication problem for inclusion and conditional independence atoms
(dependencies) in the dependence logic context. The general
axiomatization approach is described, which extend to such
types of dependencies as inclusion and join dependencies.
        </p>
      </sec>
      <sec id="sec-2-4">
        <title>D. Differential Dependencies</title>
        <p>
          Differential dependencies (DD) are the newest concept we
review in this paper. They were first presented in 2011 [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ]
and are defined as follows:
        </p>
        <p>Definition 4: Let LHS [X], RHS [Y ] be differential
functions specifying constraints on distances over attributes X
and Y of relation R. A differential dependency LHS [X] !</p>
        <p>RHS [Y ] holds on relation R if for any pair of tuples for
which the difference on attributes X satisfies the constraints
specified by LHS [X], the difference on Y also satisfies the
constraints specified by RHS [Y ].</p>
        <p>Speaking less formally, we say that if a DD LHS [X] !
RHS [Y ] holds, then for any two tuples on attribute
combination X whose distance belongs to the range specified by</p>
        <p>
          LHS , the distance of the same two tuples on Y is in the range
specified by RHS . Differential function on attributes may be
specified by operators f=; &lt;; &gt;; ; g. In this case, DD can
be reduced to other dependency concepts in the following way:
(i) if a differential function for LHS represents a similarity
constraint (= 0), then DD becomes matching dependency
(MD concept, [
          <xref ref-type="bibr" rid="ref21">21</xref>
          ]), (ii) if all differential constraints are (= 0),
then DD subsumes FD [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ].
        </p>
        <p>Consider an example presented in Figure VI — a table
containing flight information. The following DD [Aircraf t(=
0) ^ Date( 4)] ! [P rice( 40; 60)] holds. It means
that for the same type of aircraft (Aircraf t(= 0)) the price
difference for flights in any range of four days (Date( 4))
must be 40 and 60.</p>
        <p>If we take away the date from the dependency, the
dependency will be violated: [Aircraf t(= 0)] ! [P rice(
40; 60)]. Let us consider the A320 value. There is the
following set of P rice attribute values corresponding to
A320: f300; 340; 450g. Here, the difference between prices
for F lightID = 1 and F lightID = 6 is outside of the range
specified by the dependency. This illustrates the dependency
violation.</p>
        <p>Since DDs represent a special kind of FD and MD, their
application domains overlap. DD has a rather broad application:
the data quality problem, integrity constraints checking, and
query optimization. Furthermore, the idea of a differential key
(a new type of constraint that is based on deduced rules related
to attribute distance) provides insight into the data partitioning
task.</p>
        <p>
          DD is a more general concept than FD, and its definition is
based on distances between attribute values, so FD inference
algorithms are not fully capable of DD discovery — they find
special cases only. Nevertheless, in the original work [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ] DD
row- and column-based inference approaches are described.
        </p>
      </sec>
      <sec id="sec-2-5">
        <title>E. Multivalued Dependencies</title>
        <p>
          Multivalued dependencies (MVD) were introduced
independently by R. Fagin and C.A. Zaniolo in 1976 [
          <xref ref-type="bibr" rid="ref22">22</xref>
          ], [
          <xref ref-type="bibr" rid="ref23">23</xref>
          ]. The
modern MVD definition is as follows [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ]:
        </p>
        <p>Definition 5: A relation R satisfies the MVD X Y
(where X; Y R, X \Y = ;), if and only if for all t1; t2 2 R
holds: if t1[XY ] = t2[XY ] then there is t 2 R such that
t[XY ] = t1[XY ] and t[X(R XY )] = t2[X(R XY )].</p>
        <p>That means if we have two tuples of R that agree on X,
then their values for Y may be swapped, and the result will
be two tuples that are also in the relation R.</p>
        <p>
          In subsequent studies, the MVD definition was slightly
modified: LHS and RHS of dependency are no longer
necessarily disjoint [
          <xref ref-type="bibr" rid="ref25">25</xref>
          ]. A number of MVD inference rules were
presented as well.
        </p>
        <p>
          Traditionally, MVDs have been considered as the
necessary and sufficient condition of a relation to be decomposed
into two of its projections without loss of information [
          <xref ref-type="bibr" rid="ref22">22</xref>
          ].
This means that an MVD X Y holds if and only if
R = R[XY ] ./ R[X(R XY )] [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ]. Such information on
relation decomposability may be used in a schema (re-)design
task as it reveals internal structure of a data source.
        </p>
        <p>
          Lately, MVDs were generalized by bringing in a new
concept of full hierarchical dependency, see Section IV-F.
Another remarkable fact is the relationship between FDs and
MVDs: we may say for X \ Y = ;, that if an FD X ! Y
holds in a relation, then an MVD X Y also holds. Thus,
each FD is also an MVD, but not vice versa [
          <xref ref-type="bibr" rid="ref25">25</xref>
          ].
        </p>
        <p>Let us consider a relation presented in Figure VII.
Attribute CourseID determines a set of values StudentN ame
and RecommendedBook. The latter does not depend on
attribute StudentN ame (that means there is no connectivity
between these two attributes), and we may say that the
MVDs fCourseIDg fStudentNameg and fCourseIDg
fRecommendedBookg hold in relation.</p>
        <p>To show the violation of the dependence, it is sufficient to
replace the value of one field in the table VII. The result of
the changes is shown in the table VIII, from which we can
see that changing the value of attribute RecommendedBook
CourseID
10
10
10
10
106
106
9
9
StudentName
Michael
Michael
Lena
Lena
Michael
Michael
John
John</p>
        <p>RecommendedBook
Course book math
Course book mechanic
Course book math
Course book mechanic
Course book cs
Course book mlearn
Course book reading
Course book grammar
RecommendedBook
Course book math
Course book mechanic
Course book optic
Course book mechanic
Course book cs
Course book mlearn
Course book reading</p>
        <p>Course book grammar
in the third row of the table violates both MVDs. In order to
keep the dependencies there should be Course book math for
Lena and Course book optic for Michael.</p>
        <p>
          For complete understanding of MVDs and their place
among other dependency concepts, the following papers are
recommended [
          <xref ref-type="bibr" rid="ref26">26</xref>
          ], [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ].
        </p>
      </sec>
      <sec id="sec-2-6">
        <title>F. Full Hierarchical Dependencies</title>
        <p>
          As it was already mentioned, a full hierarchical dependency
(FHD) is an attempt to generalize the MVD concept. The
first notion and formalization of FHD was presented in [
          <xref ref-type="bibr" rid="ref27">27</xref>
          ].
Nowadays, the following definition is used [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ]:
        </p>
        <p>Definition 6: Let X R and S is a non-empty set of
pairwise disjoint subsets of R that are also disjoint from X.
S 6= ;, for all Y 2 S we have Y S and for all Y; Z 2
S [ fXg we have Y \ Z = ;. Relation R satisfies FHD
X : Y1; : : : ; Yk, if and only if for all t1; : : : ; tk+1 2 R the
following condition is satisfied: if ti[X] = tj [X] for all 1
i; j k + 1 then there is some t 2 R such that t[XYi] =
ti[XYi] for all i = 1; : : : ; k and t[X(R XY1 : : : Yk)] =
tk+1[X(R XY1 : : : Yk)].</p>
        <p>
          As we can see, in case of k = 1 this is the definition of
MVD. Moreover, if for each k = 1; : : : ; n MVD X Yk
holds over R, then R satisfies the FHD X : fY1; : : : ; Yng.
Therefore, the area of FHD application is the same as the one
of MVDs — schema design in terms of relation
decomposition. The result of such decomposition is called generalized
hierarchical decomposition (GHD), and it may be represented
as a tree structure [
          <xref ref-type="bibr" rid="ref27">27</xref>
          ].
        </p>
        <p>Since we show in the MVD section that
fCourseIDg fStudentNameg and fCourseIDg
fRecommendedBookg hold, then the FHD fCourseIDg :
fStudentName, RecommendedBookg also holds.</p>
        <p>
          Due to the aforementioned relationships between concepts,
FHD mainly appears in studies on combining dependency
classes (e.g. [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ], where non-trivial FD and FHD connectivity
is studied).
        </p>
      </sec>
      <sec id="sec-2-7">
        <title>G. Order Dependencies</title>
        <p>
          The term “order dependencies” (OD) first appeared in the
study [
          <xref ref-type="bibr" rid="ref28">28</xref>
          ]. An OD allows to describe the value of some
attribute using the information about the order relation on the
given value set. For example, we need to transfer an item from
point A to point B. OD gives us an opportunity to estimate
that in this case delivery by a heavy vehicle will cost at least
as much as the delivery by a car as both have to travel the
same distance (we ignore real-life aspects of shipping).
        </p>
        <p>
          The formal definition ODs is as follows [
          <xref ref-type="bibr" rid="ref29">29</xref>
          ]:
        </p>
        <p>Definition 7: Call X 7! Y an order dependency (where
X; Y R) over the relation R if, for every pair of admissible
tuples t1; t2 2 R, t1[X] t2[X] implies t1[Y ] t2[Y ].</p>
        <p>
          The analysis of these ODs can be used for improving the
efficiency of database query processing. However, arrangement
of sets (on which the model of OD is based) is a
challenging task. Currently, development of algorithms for fast sets
arrangement is a very active area of research. For example,
in study [
          <xref ref-type="bibr" rid="ref29">29</xref>
          ] an efficient algorithm for lexicographical set
arrangement has been introduced. Also, a large number of
inference rules that are used for query transformation during
the optimization process is presented.
        </p>
        <p>For example, Table IX shows the following OD:
fCategory, Weight, Distanceg 7! fCostg. So, according to
the commodity (that is characterized by the weight of the
shipment) we can specify whether the delivery costs more or
less for the shipping to the same distances. As we have already
mentioned, we suppose that portable shipping will cost less
than the large size shipping on the same distances.</p>
        <p>Consider the dependence fDistanceg 7! fCostg. It is not a
valid OD since the order relation for the shipment price for
different distances will be violated. For example, shipment of
Largesize for 0–10 km is cheaper than shipment of M idsize
for 21–30 km.</p>
      </sec>
      <sec id="sec-2-8">
        <title>H. Conditional Functional Dependencies</title>
        <p>
          One of the newest FD types is the Conditional Functional
Dependencies (CFDs). The first mention of CFD appears in
the study by Wenfei Fan et al. [
          <xref ref-type="bibr" rid="ref30">30</xref>
          ]. CFDs aim at capturing
        </p>
        <p>City
Moscow
Bremen
Stockholm
St. Petersburg
Hamburg</p>
        <p>Client
Wood
Martin
King
King</p>
        <p>Turner
the consistency of data by enforcing bindings of semantically
related values.</p>
        <p>We frequently encounter CFDs in our everyday life. For
example, the position of a worker determines his salary only in
some departments but not in the whole organization. CFDs are
extensively used in the data integration domain. It is justified
by the fact that the patterns existing in the individual data
sources would also present in the combined data set.</p>
        <p>CFDs extend the FDs using the pattern table that provides
the bound of semantically related values. It is important to
note that it is necessary to apply CFDs only to tuples that
meet the values from the pattern table, but not to all tuples.</p>
        <p>
          The formal definition CFDs is as follows [
          <xref ref-type="bibr" rid="ref31">31</xref>
          ]:
        </p>
        <p>Definition 8: A conditional functional dependency (CFD)
on S is a pair (X ! Y; Tp), where X ! Y is a standard FD,
referred to as the embedded FD; and Tp is a “pattern tableau”
that defines over which rows of the table the embedded FD
applies. Each entry tp 2 Tp specifies a pattern over X [ Y ,
so for each attribute in A 2 X [ Y , either tp[A] = , where
is a value in the domain of A, or else tp[A] = , for the
special wild-card symbol . A row ri satisfies an entry tp of
tableau Tp for attributes A, denoted by ri[A] tp[A], if either
ri[A] = tp[A], or else tp[A] = . The CFD holds if
8i; j; p:ri[X] = rj [X]
tp[X] ) ri[Y ] = rj [Y ]
tp[Y ]:</p>
        <p>Consider the Table X that contains client base of various
banks. We introduce the following abbreviation: subdivision
code – SC, name of the bank – NB. Table X illustrates the
following CFD: fSubdivision code, Name of the bankg !
fRateg. The Table XI shows that the banking sector values
with an equal subdivision code will probably have an identical
interest rate. Although it is important to understand that this
condition holds for the majority of tuples in source data,
but not for all. For example, Bank2 in St. Petersburg with
subdivision code of 110 has above rate than Bank2 in Bremen,
which has the same subdivision code.</p>
        <p>In order to demonstrate the violation of CFD we can modify
Table XI (pattern tableu) in the following way.substitute bank2
entry with the wild-card. In this case values corresponding to
SC = 110 are not equal: 7; 7; 10. Thus, the dependency does
not hold anymore.</p>
        <p>FD
IND
JD
DD
MVD
FHD
OD
CFD</p>
        <p>Notation
X ! Y
X</p>
        <p>Y
./ [X1; : : : ; Xn]
LHS [X] !</p>
        <p>
          An important problem is efficient estimation of CFD
confidence using a small number of data passes and a small
amount of space. The solution to this problem is described
in [
          <xref ref-type="bibr" rid="ref31">31</xref>
          ]. An improvement of the algorithm for the minimum
CFD set construction has been proposed in the work [39].
The described algorithm works in linear time and is one of
the most efficient contemporary algorithms.
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>V. CONCLUSION</title>
      <p>In this paper we surveyed several database dependency
concepts. For each type we provided both formal and
nonformal definitions and presented an example. We also briefly
discussed extraction algorithms and possible use cases. A
short summary of considered dependency types is presented
in Table XII.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>R.</given-names>
            <surname>Fagin</surname>
          </string-name>
          and
          <string-name>
            <given-names>M. Y.</given-names>
            <surname>Vardi</surname>
          </string-name>
          , “
          <article-title>The theory of data dependencies - an overview</article-title>
          ,”
          <source>in Proceedings of the 11th Colloquium on Automata, Languages and Programming</source>
          . London, UK, UK: Springer-Verlag,
          <year>1984</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>22</lpage>
          . [Online]. Available: http://dl.acm.org/citation.cfm?id=
          <volume>646238</volume>
          .
          <fpage>683349</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>L.</given-names>
            <surname>Caruccio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Deufemia</surname>
          </string-name>
          , and G. Polese, “
          <article-title>Relaxed functional dependencies - a survey of approaches,” IEEE Transactions on Knowledge and Data Engineering</article-title>
          , vol.
          <volume>28</volume>
          , no.
          <issue>1</issue>
          , pp.
          <fpage>147</fpage>
          -
          <lpage>165</lpage>
          ,
          <year>Jan 2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3] --, “
          <article-title>On the discovery of relaxed functional dependencies,” in Proceedings of the 20th International Database Engineering &amp; Applications Symposium, ser</article-title>
          .
          <source>IDEAS '16</source>
          . New York, NY, USA: ACM,
          <year>2016</year>
          , pp.
          <fpage>53</fpage>
          -
          <lpage>61</lpage>
          . [Online]. Available: http://doi.acm.
          <source>org/10</source>
          .1145/2938503.2938519
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>T.</given-names>
            <surname>Papenbrock</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Ehrlich</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Marten</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Neubert</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.- P.</given-names>
            <surname>Rudolph</surname>
          </string-name>
          , M. Scho¨nberg, J. Zwiener, and
          <string-name>
            <given-names>F.</given-names>
            <surname>Naumann</surname>
          </string-name>
          , “
          <article-title>Functional dependency discovery: An experimental evaluation of seven algorithms</article-title>
          ,
          <source>” Proceedings of the VLDB Endowment</source>
          , vol.
          <volume>8</volume>
          , no.
          <issue>10</issue>
          , pp.
          <fpage>1082</fpage>
          -
          <lpage>1093</lpage>
          ,
          <year>June 2015</year>
          . [Online]. Available: http://dx.doi.org/10.14778/2794367.2794377
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>J.</given-names>
            <surname>Liu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Liu</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Y.</given-names>
            <surname>Chen</surname>
          </string-name>
          , “
          <article-title>Discover dependencies from data-a review,”</article-title>
          <source>IEEE Trans. on Knowl. and Data Eng.</source>
          , vol.
          <volume>24</volume>
          , no.
          <issue>2</issue>
          , pp.
          <fpage>251</fpage>
          -
          <lpage>264</lpage>
          , Feb.
          <year>2012</year>
          . [Online]. Available: http://dx.doi.org/10.1109/TKDE.
          <year>2010</year>
          .197
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>E. F.</given-names>
            <surname>Codd</surname>
          </string-name>
          , “
          <article-title>Further normalization of the data base relational model,” Data base systems</article-title>
          , pp.
          <fpage>33</fpage>
          -
          <lpage>64</lpage>
          ,
          <year>1972</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>H.</given-names>
            <surname>Darwen</surname>
          </string-name>
          and
          <string-name>
            <given-names>C.</given-names>
            <surname>Date</surname>
          </string-name>
          , “
          <article-title>The role of functional dependencies in query decomposition,” Relational Database Writings</article-title>
          , vol.
          <year>1991</year>
          , pp.
          <fpage>133</fpage>
          -
          <lpage>154</lpage>
          ,
          <year>1989</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>G. N.</given-names>
            <surname>Paulley</surname>
          </string-name>
          , “
          <article-title>Exploiting functional dependence in query optimization</article-title>
          ,
          <source>” Ph.D. dissertation, Citeseer</source>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>W. W.</given-names>
            <surname>Armstrong</surname>
          </string-name>
          , “
          <article-title>Dependency structures of data base relationships.” in IFIP congress</article-title>
          , vol.
          <volume>74</volume>
          .
          <string-name>
            <surname>Geneva</surname>
          </string-name>
          , Switzerland,
          <year>1974</year>
          , pp.
          <fpage>580</fpage>
          -
          <lpage>583</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>R.</given-names>
            <surname>Fagin</surname>
          </string-name>
          , “
          <article-title>A normal form for relational databases that is based on domains and keys,” ACM Trans</article-title>
          . Database Syst., vol.
          <volume>6</volume>
          , no.
          <issue>3</issue>
          , pp.
          <fpage>387</fpage>
          -
          <lpage>415</lpage>
          , Sep.
          <year>1981</year>
          . [Online]. Available: http://doi.acm.
          <source>org/10</source>
          .1145/319587.319592
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>J. M.</given-names>
            <surname>Smith</surname>
          </string-name>
          and
          <string-name>
            <given-names>D. C. P.</given-names>
            <surname>Smith</surname>
          </string-name>
          , “Database abstractions: Aggregation,” Commun. ACM, vol.
          <volume>20</volume>
          , no.
          <issue>6</issue>
          , pp.
          <fpage>405</fpage>
          -
          <lpage>413</lpage>
          , Jun.
          <year>1977</year>
          . [Online]. Available: http://doi.acm.
          <source>org/10</source>
          .1145/359605.359620
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>K.</given-names>
            <surname>Sebastian</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Thorsten</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Christian</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Moritz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Manuel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Martin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Christian</surname>
          </string-name>
          , and
          <string-name>
            <given-names>N.</given-names>
            <surname>Felix</surname>
          </string-name>
          , “
          <article-title>Fast approximate discovery of inclusion dependencies</article-title>
          ,”
          <source>in Proceedings of the conference on Database Systems for Business, Technology, and Web (BTW)</source>
          ,
          <year>0 2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>T.</given-names>
            <surname>Papenbrock</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Kruse</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.-A.</given-names>
            <surname>Quiane</surname>
          </string-name>
          ´-Ruiz, and
          <string-name>
            <given-names>F.</given-names>
            <surname>Naumann</surname>
          </string-name>
          , “
          <article-title>Divide conquer-based inclusion dependency discovery</article-title>
          ,
          <source>” Proc. VLDB Endow.</source>
          , vol.
          <volume>8</volume>
          , no.
          <issue>7</issue>
          , pp.
          <fpage>774</fpage>
          -
          <lpage>785</lpage>
          , Feb.
          <year>2015</year>
          . [Online]. Available: http://dx.doi.org/10.14778/2752939.2752946
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>A.</given-names>
            <surname>Koeller</surname>
          </string-name>
          and
          <string-name>
            <given-names>E. A.</given-names>
            <surname>Rundensteiner</surname>
          </string-name>
          ,
          <article-title>Heuristic Strategies for the Discovery of Inclusion Dependencies</article-title>
          and
          <string-name>
            <given-names>Other</given-names>
            <surname>Patterns</surname>
          </string-name>
          . Berlin, Heidelberg: Springer Berlin Heidelberg,
          <year>2006</year>
          , pp.
          <fpage>185</fpage>
          -
          <lpage>210</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>A. V.</given-names>
            <surname>Aho</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Beeri</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J. D.</given-names>
            <surname>Ullman</surname>
          </string-name>
          , “
          <article-title>The theory of joins in relational databases</article-title>
          ,
          <source>” ACM Transactions on Database Systems (TODS)</source>
          , vol.
          <volume>4</volume>
          , no.
          <issue>3</issue>
          , pp.
          <fpage>297</fpage>
          -
          <lpage>314</lpage>
          ,
          <year>1979</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>J.</given-names>
            <surname>Rissanen</surname>
          </string-name>
          , “
          <article-title>Relations with functional and join dependencies and their representation by independent components,” Unpublished manuscript</article-title>
          , IBM Research Lab., San Jose, Calif,
          <year>1978</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17] --, “
          <article-title>Theory of relations for databasesa tutorial survey</article-title>
          ,” in
          <source>International Symposium on Mathematical Foundations of Computer Science</source>
          . Springer,
          <year>1978</year>
          , pp.
          <fpage>536</fpage>
          -
          <lpage>551</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>X.</given-names>
            <surname>Hu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Qiao</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Y.</given-names>
            <surname>Tao</surname>
          </string-name>
          , “
          <article-title>Join dependency testing, loomiswhitney join, and triangle enumeration,” in Proceedings of the 34th ACM SIGMOD-SIGACT-SIGAI Symposium on Principles of Database Systems</article-title>
          . ACM,
          <year>2015</year>
          , pp.
          <fpage>291</fpage>
          -
          <lpage>301</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>M.</given-names>
            <surname>Hannula</surname>
          </string-name>
          and
          <string-name>
            <given-names>J.</given-names>
            <surname>Kontinen</surname>
          </string-name>
          , “
          <article-title>A finite axiomatization of conditional independence and inclusion dependencies</article-title>
          ,
          <source>” Information and Computation</source>
          , vol.
          <volume>249</volume>
          , pp.
          <fpage>121</fpage>
          -
          <lpage>137</lpage>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>S.</given-names>
            <surname>Song</surname>
          </string-name>
          and
          <string-name>
            <given-names>L.</given-names>
            <surname>Chen</surname>
          </string-name>
          , “
          <article-title>Differential dependencies: Reasoning and discovery</article-title>
          ,
          <source>” ACM Trans. Database Syst.</source>
          , vol.
          <volume>36</volume>
          , no.
          <issue>3</issue>
          , pp.
          <volume>16</volume>
          :
          <fpage>1</fpage>
          -
          <lpage>16</lpage>
          :
          <fpage>41</fpage>
          ,
          <string-name>
            <surname>Aug</surname>
          </string-name>
          .
          <year>2011</year>
          . [Online]. Available: http://doi.acm.
          <source>org/10</source>
          .1145/2000824.2000826
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>W.</given-names>
            <surname>Fan</surname>
          </string-name>
          , “
          <article-title>Dependencies revisited for improving data quality,” in Proceedings of the Twenty-seventh ACM SIGMOD-SIGACT-SIGART Symposium on Principles of Database Systems, ser</article-title>
          .
          <source>PODS '08</source>
          . New York, NY, USA: ACM,
          <year>2008</year>
          , pp.
          <fpage>159</fpage>
          -
          <lpage>170</lpage>
          . [Online]. Available: http://doi.acm.
          <source>org/10</source>
          .1145/1376916.1376940
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>R.</given-names>
            <surname>Fagin</surname>
          </string-name>
          , “
          <article-title>Multivalued dependencies and a new normal form for relational databases</article-title>
          ,
          <source>” ACM Trans. Database Syst.</source>
          , vol.
          <volume>2</volume>
          , no.
          <issue>3</issue>
          , pp.
          <fpage>262</fpage>
          -
          <lpage>278</lpage>
          , Sep.
          <year>1977</year>
          . [Online]. Available: http://doi.acm.
          <source>org/10</source>
          .1145/320557.320571
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>C. A.</given-names>
            <surname>Zaniolo</surname>
          </string-name>
          , “
          <article-title>Analysis and design of relational schemata for database systems</article-title>
          .
          <source>” Ph.D. dissertation</source>
          ,
          <year>1976</year>
          ,
          <year>aAI7622226</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>J.</given-names>
            <surname>Biskup</surname>
          </string-name>
          and
          <string-name>
            <given-names>S.</given-names>
            <surname>Link</surname>
          </string-name>
          , “
          <article-title>Appropriate inferences of data dependencies in relational databases</article-title>
          ,
          <source>” Annals of Mathematics and Artificial Intelligence</source>
          , vol.
          <volume>63</volume>
          , no.
          <issue>3-4</issue>
          , pp.
          <fpage>213</fpage>
          -
          <lpage>255</lpage>
          , Dec.
          <year>2011</year>
          . [Online]. Available: http://dx.doi.org/10.1007/s10472-012-9275-0
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>C.</given-names>
            <surname>Beeri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Fagin</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J. H.</given-names>
            <surname>Howard</surname>
          </string-name>
          , “
          <article-title>A complete axiomatization for functional and multivalued dependencies in database relations,” in Proceedings of the 1977 ACM SIGMOD International Conference on Management of Data, ser</article-title>
          .
          <source>SIGMOD '77</source>
          . New York, NY, USA: ACM,
          <year>1977</year>
          , pp.
          <fpage>47</fpage>
          -
          <lpage>61</lpage>
          . [Online]. Available: http://doi.acm.
          <source>org/10</source>
          .1145/509404.509414
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <given-names>I.</given-names>
            <surname>Savnik</surname>
          </string-name>
          and
          <string-name>
            <given-names>P. A.</given-names>
            <surname>Flach</surname>
          </string-name>
          , “
          <article-title>Discovery of multivalued dependencies from relations,” Intell. Data Anal.</article-title>
          , vol.
          <volume>4</volume>
          , no.
          <issue>3</issue>
          ,
          <issue>4</issue>
          , pp.
          <fpage>195</fpage>
          -
          <lpage>211</lpage>
          , Sep.
          <year>2000</year>
          . [Online]. Available: http://dl.acm.org/citation.cfm?id=
          <volume>1294171</volume>
          .
          <fpage>1294173</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <string-name>
            <given-names>C.</given-names>
            <surname>Delobel</surname>
          </string-name>
          , “
          <article-title>Normalization and hierarchical dependencies in the relational data model,” ACM Trans</article-title>
          . Database Syst., vol.
          <volume>3</volume>
          , no.
          <issue>3</issue>
          , pp.
          <fpage>201</fpage>
          -
          <lpage>222</lpage>
          , Sep.
          <year>1978</year>
          . [Online]. Available: http://doi.acm.
          <source>org/10</source>
          .1145/320263.320271
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [28]
          <string-name>
            <given-names>S.</given-names>
            <surname>Ginsburg</surname>
          </string-name>
          and
          <string-name>
            <given-names>R.</given-names>
            <surname>Hull</surname>
          </string-name>
          , “
          <article-title>Order dependency in the relational model,” Theoretical computer science</article-title>
          , vol.
          <volume>26</volume>
          , no.
          <issue>1-2</issue>
          , pp.
          <fpage>149</fpage>
          -
          <lpage>195</lpage>
          ,
          <year>1983</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          [29]
          <string-name>
            <given-names>J.</given-names>
            <surname>Szlichta</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Godfrey</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Gryz</surname>
          </string-name>
          , “Fundamentals of order dependencies,
          <source>” Proceedings of the VLDB Endowment</source>
          , vol.
          <volume>5</volume>
          , no.
          <issue>11</issue>
          , pp.
          <fpage>1220</fpage>
          -
          <lpage>1231</lpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          [30]
          <string-name>
            <given-names>W.</given-names>
            <surname>Fan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Geerts</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Jia</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Kementsietsidis</surname>
          </string-name>
          , “
          <article-title>Conditional functional dependencies for capturing data inconsistencies</article-title>
          ,
          <source>” ACM Transactions on Database Systems (TODS)</source>
          , vol.
          <volume>33</volume>
          , no.
          <issue>2</issue>
          , p.
          <fpage>6</fpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          [31]
          <string-name>
            <given-names>G.</given-names>
            <surname>Cormode</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Golab</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Flip</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>McGregor</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Srivastava</surname>
          </string-name>
          , and
          <string-name>
            <given-names>X.</given-names>
            <surname>Zhang</surname>
          </string-name>
          , “
          <article-title>Estimating the confidence of conditional functional dependencies,”</article-title>
          <source>in Proceedings of the 2009 ACM SIGMOD International Conference on Management of data. ACM</source>
          ,
          <year>2009</year>
          , pp.
          <fpage>469</fpage>
          -
          <lpage>482</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          [32]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Huhtala</surname>
          </string-name>
          , J. Ka¨rkka¨inen, P. Porkka, and
          <string-name>
            <given-names>H.</given-names>
            <surname>Toivonen</surname>
          </string-name>
          , “
          <article-title>Tane: An efficient algorithm for discovering functional and approximate depen-</article-title>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>