<!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 />
    <article-meta>
      <title-group>
        <article-title>Lattice-based Discovery of Hybrid Relaxed Functional Dependencies (Discussion Paper)</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Loredana Caruccio</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Vincenzo Deufemia</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Giuseppe Polese</string-name>
          <email>gpoleseg@unisa.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>University of Salerno, Department of Computer Science via Giovanni Paolo II n.</institution>
          <addr-line>132, 84084 Fisciano (SA)</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Relaxed functional dependencies (rfds) are properties expressing important relationships among data. Thanks to the introduction of approximations in data comparison and/or validity, they can capture constraints useful for several purposes, such as the identi cation of data inconsistencies or patterns of semantically related data. Nevertheless, rfds can provide bene ts only if they can be automatically discovered from data. In this discussion paper we present an rfd discovery algorithm relying on a lattice structured search space, and a new candidate rfd validation method. An experimental evaluation demonstrates the discovery performances of the proposed algorithm on real datasets.</p>
      </abstract>
      <kwd-group>
        <kwd>Functional Dependency</kwd>
        <kwd>Discovery Algorithm</kwd>
        <kwd>Approximate Match</kwd>
        <kwd>Constraint Mining</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        Functional dependencies (fds) were originally used to verify database design
and assess schema quality. In the last decades, they have been used for several
new purposes, such as data pro ling [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], query relaxation, data cleansing, and so
forth. To this end, their de nition has been often extended in order to express
constraints in these and other emerging application domains [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ].
      </p>
      <p>
        Recent literature refers to extended fd de nitions with the term relaxed
functional dependencies (rfds) [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. In particular, there exist rfds relaxing on
the data comparison, which compare tuples by using data similarity rather than
equality, those relaxing on the extent, which admit the possibility for the rfd
to hold only on a subset of data, and nally, hybrid ones, which relax on both
criteria. Thresholds might be used in all categories, either to specify the similarity
degree or the minimum percentage of tuples on which the rfd should hold.
      </p>
      <p>
        In order to exploit fds in practical domains several algorithms to discover
them from data have been proposed [
        <xref ref-type="bibr" rid="ref16 ref2">2,16</xref>
        ]. However, rfds are much more
complex to specify at design time, since they also require the speci cation of
thresholds for evaluating the similarity between attribute values and/or for deriving
the minimum extent.
      </p>
      <p>Copyright © 2020 for this paper by its authors. Use permitted under Creative
Commons License Attribution 4.0 International (CC BY 4.0). This volume is published
and copyrighted by its editors. SEBD 2020, June 21-24, 2020, Villasimius, Italy.</p>
      <p>
        In this discussion paper, we describe the algorithm proposed in [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], namely
DiM", which is able to mine many di erent types of rfds, relaxing on the tuple
comparison and/or on the extent by using several tuple comparison methods
and coverage measures [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. The discovery technique underlying DiM" generates
candidate rfds based on Di erence Matrices created from input thresholds, and
on a lattice structure, also used within fd discovery algorithms [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], in order to
model the search space. Moreover, DiM" provides a new validation technique.
      </p>
      <p>The paper is organized as follows. Section 2 reviews the rfd discovery
algorithms existing in the literature. Section 3 provides some background de nitions
concerning rfds. Section 4 presents the DiM" algorithm, whereas Section 5
shows the experimental results. Concluding remarks are included in Section 6.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Related Work</title>
      <p>
        The automatic discovery of fds is accomplished either through column-based or
row-based methods [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. The former start generating candidate fds based on an
attribute lattice, verifying their validity, and then using holding fds to prune the
search space for candidate fds yet to be veri ed [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]; the latter compare attribute
values for each pair of tuples, in order to generate two di erent sets of attribute
subsets, namely agree-sets and di erence-sets, from which candidate fds are
derived [
        <xref ref-type="bibr" rid="ref16 ref8">8,16</xref>
        ]. Finally, an hybrid algorithm has been proposed in [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. With respect
to these algorithms, DiM" discovers a broader class of dependencies beyond fds,
which entails much more a complex validation phase. In fact, the validation of
fds merely requires to compute cardinalities of equivalence classes, whereas the
validation of rfds requires more complex computations on intersecting classes
induced by similarity functions.
      </p>
      <p>
        Several discovery algorithms have been proposed for Matching dependencies,
e.g., [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ], and Di erential Dependencies, e.g., [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], two examples of rfd relaxing
on attribute comparison. While these discovery algorithms are each focused on
a speci c rfd, DiM" is designed for a more generic class of rfds [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], including
rfds relaxing on the tuple comparison method, those relaxing on the extent,
and nally, hybrid ones relaxing on both.
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Relaxed Functional Dependencies</title>
      <p>
        Informally, an rfd is a functional dependency that relaxes on the tuple
comparison, by using constraints on the distance or similarity between attribute values,
and/or that relaxes on the extent, by using a coverage measure to indicate the
minimum number or percentage of tuples on which the rfd must hold, and/or
by using conditions restricting the applicability domain of the rfd. In what
follows, we recall a formal de nition of rfd from our previous survey [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
De nition 1 (Relaxed functional dependency). Consider a relational
database schema R, and a relation schema R = (A1; : : : ; Am) of R. An rfd ' on R
is denoted by
      </p>
      <p>X 1 ÐÐ→" Y 2
≤
(1)
where
{ X = X1; : : : ; Xh and Y = Y1; : : : ; Yk, with X; Y ⊆ attr(R) and X ∩ Y = ∅;
{ j [Yj ], resp.), where i ( j , resp.) is a
conjunc1 = X⋀i∈X i[Xi] ( 2 = Yj⋀∈Y
tion of predicates on Xi (Yj , resp.) with i = 1; : : : ; h (j = 1; : : : ; k, resp.). For
any pair of tuples (t1, t2)∈ dom(R), the constraint 1 ( 2, resp.) is true if
t1[Xi] and t2[Xi] (t1[Yj ] and t2[Yj ], resp.) satisfy the constraint i ( j ,
resp.) ∀ i ∈ [1; h] (j ∈ [1; k], resp.).
{ is a coverage measure de ned on dom(R), quantifying the amount of tuples
violating or satisfying '. Among the most commonly used coverage measures
there are the con dence, the g3-error, and the probability.
{ " is a threshold indicating the upper bound (or lower bound in case the
comparison operator is ≥) for the result of the coverage measure.</p>
      <p>
        Given r ⊆ dom(R) a relation instance on R, r satis es the rfd ', denoted
by r ⊧ ', if and only if: ∀ t1; t2 ∈ r, if 1 indicates true, then almost always 2
indicates true. Here, almost always is expressed by the constraint ≤ ". A more
general de nition of rfd is provided in [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>As an example, in a database of scienti c publications it is likely to have
the same address and a liation for authors with the same name. Thus, an fd
fAuthorg → fAddress, Affiliationg might hold. However, these attributes might
have been stored using di erent abbreviations, hence the following rfd might
hold: Author 1 Ð→ {Address 2 ; Affiliation 3 }, where 1, 2, and 3 are constraints
on a string similarity function. Moreover, since authors might change a liation
during their life, or there might be homonimies, the previous rfd should tolerate
possible exceptions. This can be modeled by the following rfd:</p>
      <p>(Author;Address;Affiliation)≤0:02</p>
      <p>Author 1 ÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐ→ {Address 2 ; Affiliation 3 }
4</p>
    </sec>
    <sec id="sec-4">
      <title>The DiM" Discovery Algorithm</title>
      <p>The discovery of rfds is the problem of nding a set of minimal rfds holding
≤"
on a relation instance r. An rfd X 1 ÐÐ→ Y 2 is minimal if there not exists a
subset Z ⊂ X such that Z 1 ÐÐ→" Y 2 holds on r.</p>
      <p>≤</p>
      <p>For sake of simplicity and w.l.o.g, in the rest of the article we assume that
Y consists of a single attribute.</p>
      <p>
        The Di erence Matrix and "-threshold (DiM") discovery algorithm presented
in [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] starts from user-speci ed thresholds, and performs a level-by-level
generation of candidate dependencies to be successively validated. Candidate rfd
generation is accomplished by means of an attribute lattice built by
considering all the possible attribute combinations. Thus, DiM" generates attribute
sets X, and then formulates all the possible rfds X{A} → A, with A ∈ X,
to be validated. With respect to fd discovery algorithms, DiM" exploits their
candidate generation strategies, and generalizes their pruning strategies, but it
provides a new validation technique dealing with similarity subsets, and taking
into consideration the possibility that an rfd might hold for a subset of tuples.
(a) MHeightabs
      </p>
      <p>(b) MHeightabs;Weightabs</p>
      <p>Candidate RFD validation The validation of candidate rfds entails
verifying that two tuples are similar on the RHS attribute, whenever they are similar
on the LHS ones, and the property holds for a signi cant portion of the database.
This is done by generating similarity subsets of tuples and using them to validate
candidate rfds. As opposed to tuple partitions built in most fd discovery
algorithms, similarity subsets might also intersect. To better explicate the generation
process of similarity subsets, we introduce the concept of di erence matrix.
De nition 2 (Di erence matrix of an attribute). Let r be an instance of
a relation schema R, A an attribute of R, and a distance function de ned on
the domain of A. The di erence matrix for A is a matrix MA whose entry (i,j)
contains the value (ti[A]; tj [A]) of the projections of tuples ti and tj on A.</p>
      <p>As an example, let us consider the sample dataset in Table 1. Since it has
all numerical attributes, we use the absolute di erence, denoted with abs, as a
distance function to construct the di erence matrix MHeightabs (Figure 1(a)).</p>
      <p>The de nition of di erence matrix can be easily generalized to attribute sets,
in which an entry will contain an n-tuple of distance values, one for each attribute
in the set. The di erence matrix for an attribute set X can be derived from
the di erence matrices for the single attributes composing it, by concatenating
elements with the same coordinates. An example is provided in Figure 1(b).</p>
      <p>We exploit the notion of di erence matrix to generate the similar pattern
of a tuple t or a matrix row, which represents sets of tuples or matrix columns
satisfying a given constraint wrt t. Successively, we group the tuples sharing the
same similar patterns into similar pattern subsets.</p>
      <p>De nition 3 (Similar pattern subsets). Let r be an instance of a relation
schema R, X = {A1; : : : ; An} an attribute set of R, MX a di erence matrix
for X, and = ( 1; : : : ; n) a sequence of constraints on the values of MX . A
similar pattern of tuple ti of MX , denoted as Xti , is the sequence (j1; : : : ; jh)
with h ≤ SrS and M [i; jk] = (d1; : : : ; dn), where dq satis es the constraints q
∀q ∈ [1; n] and ∀k ∈ [1; h]. A similar pattern subset SX for X is de ned as
SX = {j1; : : : ; jh}{i1;:::;ik} with 1 ≤ k ≤ h ≤ SrS, Xip = (j1; : : : ; jh) ∀p ∈ [1; k] and
Xiv ≠ (j1; : : : ; jh) ∀v ∉ [1; k]. The set of di erent similar pattern subsets for X
is denoted as IX .</p>
      <p>Example 1. If in the dataset of Table 1 the user speci es constraints based on the
abs function, the ≤ comparison operator, 1 as a threshold for both the attributes
Height and Shoe Size, and 10 for the attribute Weight, then the following sets of
similar pattern subsets are generated:
{ IHeight = {{1; 2; 3; 4}{1;2;3;4}; {5}{5}; {6; 7}{6;7}};
{ IWeight = {{1; 2; 3; 4; 6; 7}{1;3}; {1; 2; 3; 4; 5; 6}{2;6}; {1; 2; 3; 4; 5; 6; 7}{4};
{2; 4; 5; 6}{5}; {1; 3; 4; 7}{7}};
{ IShoe Size = {{1; 2; 3; 4; 5; 7}{1;3;4}; {1; 2; 3; 4; 7}{2;7}; {1; 3; 4; 5}{5}; {6}{6}}.</p>
      <p>In order to validate candidate rfds, DiM" reduces the number of similar
pattern subsets for the attributes of the LHS, by eliminating singletons (since
they correspond to the matrix diagonal entries that trivially compare each tuple
with itself) obtaining stripped similar pattern subsets.</p>
      <p>Validation of RFDs relaxing only on the tuple comparison. Stripped
similar pattern subsets can be used to validate candidate rfds based on the
concept of similar pattern subset re nement.</p>
      <p>De nition 4. A set ÎX is said to re ne another set ÎX∪A if every similar
pattern subset in ÎX is contained in one of the subsets in ÎX∪A.</p>
      <p>Based on the re nement notion, we derive the following lemma for rfds.
Lemma 1. A relaxed functional dependency X 1 Ð→ A 2 holds on an entire
database instance if and only if ÎX re nes ÎA.</p>
      <p>Example 2. Let us consider the database instance of Table 1. If we set the
constraints as de ned in Example 1, then according to Lemma 1 the rfd
{Height 1 ; Weight 2 } Ð→ Shoe Size 3
holds on the entire database. In fact, since ÎHeight;Weight = {{1; 2; 3; 4}{1;2;3;4}}
and ÎShoe Size = {{1; 2; 3; 4; 5; 7}{1;3;4}; {1; 2; 3; 4; 7}{2;7}; {1; 3; 4; 5}{5}}, each
similar pattern in ÎHeight;Weight is included in a similar pattern of ÎShoe Size.</p>
      <p>Alternatively, the re nement property between sets of stripped similar
pattern subsets can be veri ed by calculating SSÎZ SS, which is de ned as:
SSÎZ SS = ∑ti∈r(S2sti S − 1) ∀sti ∈ ÎZ
(2)
It represents the number of pairwise similar tuples in ÎZ . Since for an attribute
set W ⊂ Z, ÎZ always re nes ÎW , it means that ÎX∪A always re nes ÎX . However,
we know that an rfd X 1 Ð→ A 2 holds only if ÎX is a re nement of ÎA. Thus,
since ÎX∪A cannot have similar pattern subsets of size greater than those in ÎX ,
the rfd holds if ÎX∪A and ÎX are equal, which yields the following lemma.
Lemma 2. A relaxed functional dependency X 1 Ð→ A 2 holds on an entire
database instance if and only if SSÎX∪ASS = SSÎX SS.</p>
      <p>
        Validation of hybrid RFDs. In case of hybrid rfds, DiM" should also
consider as valid the rfds holding on a subset of tuples, according to a coverage
measure and a user-de ned threshold. In this case, it is not possible to use the
previously de ned lemma to validate candidate rfds. In particular, to
accomplish the validation process it is necessary to calculate the satis ability degree of
the instance according to a coverage measure. In this paper, DiM" relies on the
g3-error coverage measure [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], but it can also work with other coverage measures
by overloading the function computing the measure from similar subsets.
      </p>
      <p>
        The computation of the g3-error for rfds with hybrid relaxation is an
np-complete problem [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], since the minimum vertex cover problem can be
reduced to it. A solution to this problem can be found in polynomial time in case
of disjoint similar pattern subsets, in which case, we can use the same strategy of
afd discovery [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. However, since in case of intersecting similar pattern subsets
each of these tuples can fall in more than one similar pattern subset of IX , it
is not possible to perform a computation local to each similar pattern subset,
but more a global analysis is required. Thus, we provide an greedy solution for
calculating the g3-error in polynomial time [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
5
      </p>
    </sec>
    <sec id="sec-5">
      <title>Evaluation</title>
      <p>
        We implemented DiM"1 in the Java, by using the Levenshtein distance for
comparing textual attributes, the absolute di erence for comparing numerical ones,
and the g3-error as the coverage measure for extent evaluation [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. The
experiments have been performed on a machine with an Intel Xeon W 3.2GHz
8-core CPU, 64 GB RAM, with a 64-Bit Java environment. We considered six
real-world datasets from the UCI Machine Learning repository2. During the
experiment sessions we varied the similarity and the coverage measure thresholds
simultaneously, in the range [0; 4] with step 1, and in the range [0; 0:4] with step
0:1. Only, for the Abalone dataset we considered the range [0:0; 0:4].
      </p>
      <p>Figure 2 shows the number of rfds extracted by DiM" according to several
tuple comparison thresholds, whereby each line represents a di erent extent
threshold. We can observe that the highest number of rfds is usually discovered
with g3-error thresholds slightly above zero. Concerning the variation of tuple
1https://dastlab.github.io/dime/.
2https://archive.ics.uci.edu/ml/index.php
(a) Car-Data
(b) Cars
(d) Breast-cancer
(e) Bridges
(f) Lymphography
comparison thresholds, in most cases the number of rfds drastically drops when
increasing them from 0 to 1. This is mainly due to the fact that with a zero
threshold many key dependencies are obtained, which are likely to be invalidated
when the tuple comparison threshold becomes greater than zero.</p>
      <p>Figure 3 shows the execution times of DiM". In general, although we expect
higher execution times on datasets with more columns and/or rows, this is not
necessarily true, because the attribute value distributions might heavily a ect
the computation steps to be performed, since they in uence the number of tuple
similarities, and hence the number of rfd candidates to be processed.</p>
    </sec>
    <sec id="sec-6">
      <title>Conclusion and future work</title>
      <p>
        The problem of discovering rfds adds a considerable complexity to the
dependency discovery process, since the relaxation criteria reduce the possibilities of
pruning search paths, and prevent the possibility to exploit the properties of
disjoint partitions during the validation phase. The performed evaluation
highlights the e ectiveness of DiM" in the discovery of rfds relaxing on both the
tuple comparison and the extent dimensions. In the future, we would like to
further investigate the considered problem in order to derive an algorithm for
rfd discovery capable of automatically inferring the threshold ranges of their
validation, as done in [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], instead of requesting them to the user.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Abedjan</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Golab</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Naumann</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Pro ling relational data: A survey</article-title>
          .
          <source>The VLDB Journal</source>
          <volume>24</volume>
          (
          <issue>4</issue>
          ),
          <volume>557</volume>
          {
          <fpage>581</fpage>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Abedjan</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schulze</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Naumann</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>DFD: E cient functional dependency discovery</article-title>
          .
          <source>In: CIKM '14</source>
          . pp.
          <volume>949</volume>
          {
          <issue>958</issue>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Caruccio</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Deufemia</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Polese</surname>
          </string-name>
          , G.:
          <article-title>Relaxed functional dependencies { A survey of approaches</article-title>
          .
          <source>IEEE TKDE 28(1)</source>
          ,
          <volume>147</volume>
          {
          <fpage>165</fpage>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Caruccio</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Deufemia</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Polese</surname>
          </string-name>
          , G.:
          <article-title>Evolutionary mining of relaxed dependencies from big data collections</article-title>
          .
          <source>In: WIMS '17</source>
          . pp.
          <volume>5</volume>
          :
          <issue>1</issue>
          {5:
          <issue>10</issue>
          (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Caruccio</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Deufemia</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Polese</surname>
          </string-name>
          , G.:
          <article-title>Discovering relaxed functional dependencies based on multi-attribute dominance</article-title>
          .
          <source>IEEE TKDE</source>
          (
          <year>2020</year>
          ), to appear
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Caruccio</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Deufemia</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Polese</surname>
          </string-name>
          , G.:
          <article-title>Mining relaxed functional dependencies from data</article-title>
          .
          <source>Data Min. Knowl. Discov</source>
          .
          <volume>34</volume>
          (
          <issue>2</issue>
          ),
          <volume>443</volume>
          {
          <fpage>477</fpage>
          (
          <year>2020</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          <issue>7</issue>
          .
          <string-name>
            <surname>Chang</surname>
            ,
            <given-names>S.K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Deufemia</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Polese</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vacca</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>A normalization framework for multimedia databases</article-title>
          .
          <source>IEEE TKDE</source>
          <volume>19</volume>
          (
          <issue>12</issue>
          ),
          <volume>1666</volume>
          {
          <fpage>1679</fpage>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Flach</surname>
            ,
            <given-names>P.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Savnik</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          :
          <article-title>Database dependency discovery: A machine learning approach</article-title>
          .
          <source>AI</source>
          communications
          <volume>12</volume>
          (
          <issue>3</issue>
          ),
          <volume>139</volume>
          {
          <fpage>160</fpage>
          (
          <year>1999</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Huhtala</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          , Karkkainen, J.,
          <string-name>
            <surname>Porkka</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Toivonen</surname>
          </string-name>
          , H.:
          <article-title>TANE: An e cient algorithm for discovering functional and approximate dependencies</article-title>
          .
          <source>The Computer Journal</source>
          <volume>42</volume>
          (
          <issue>2</issue>
          ),
          <volume>100</volume>
          {
          <fpage>111</fpage>
          (
          <year>1999</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Johnson</surname>
            ,
            <given-names>D.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Garey</surname>
            ,
            <given-names>M.R.</given-names>
          </string-name>
          :
          <article-title>Computers and intractability: A guide to the theory of NP-completeness.</article-title>
          <string-name>
            <surname>W. H. Freeman</surname>
          </string-name>
          &amp; Co. (
          <year>1979</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Kivinen</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mannila</surname>
          </string-name>
          , H.:
          <article-title>Approximate inference of functional dependencies from relations</article-title>
          .
          <source>Theoretical Computer Science</source>
          <volume>149</volume>
          (
          <issue>1</issue>
          ),
          <volume>129</volume>
          {
          <fpage>149</fpage>
          (
          <year>1995</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Papenbrock</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Naumann</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>A hybrid approach to functional dependency discovery</article-title>
          .
          <source>In: SIGMOD '16</source>
          . pp.
          <volume>821</volume>
          {
          <issue>833</issue>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Song</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Data Dependencies in the Presence of Di erence</article-title>
          .
          <source>Ph.D. thesis</source>
          , The Hong Kong University (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Song</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chen</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>Di erential dependencies: Reasoning and discovery</article-title>
          .
          <source>ACM Transactions on Database Systems</source>
          <volume>36</volume>
          ,
          <issue>16</issue>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Song</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chen</surname>
          </string-name>
          , L.:
          <article-title>E cient discovery of similarity constraints for matching dependencies</article-title>
          .
          <source>Data &amp; Knowledge Engineering</source>
          <volume>87</volume>
          , 146{
          <fpage>166</fpage>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Wyss</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Giannella</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Robertson</surname>
          </string-name>
          , E.:
          <article-title>FastFDs: A heuristic-driven, depth- rst algorithm for mining functional dependencies from relation instances extended abstract</article-title>
          .
          <source>In: DaWaK '01</source>
          . pp.
          <volume>101</volume>
          {
          <issue>110</issue>
          (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>