<!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>Schema Decomposition via Transformation Patterns</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Théo Abgrall</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Free University of Bozen-Bolzano</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>A goal of database reverse engineering techniques is the extraction of a conceptual model describing an otherwise complex or obtuse database system. In such contexts, and notably, when applied to legacy databases, thorough preservation of the knowledge lying in the source schema is a reasonable priority. In the common database reverse engineering pipeline, database normalization is the process in which we are most able to dictate and maintain the information preservation property. We make use of the transformation pattern formalism as our base to guarantee information preservation. We present how these theoretical templates can be applied over complex database schema and how they can serve as the foundation of an automatic, deterministic database normalization methodology.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Schema Transformation</kwd>
        <kwd>Information Preservation</kwd>
        <kwd>Conceptual Modeling</kwd>
        <kwd>Database Normalization</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>methodology and served more as guidance for database engineer. To illustrate the various
sections of the methodology we provide the following ongoing example Fig. 1:
  ∶ (, ℎ, , , , , )
onto which are applied several constraints: - a primary key on  denoted by a bold underline
- a functional dependency  → ,  written with a top single arrow - another
functional dependency  → , this time restrained to tuples satisfying a condition
,  ≠ NULL requiring both attributes to be non-null - a multivalued dependency
 ↠ ℎ signed with a top double-headed arrow and finally - two inclusion dependency
 ⊆  and  ⊆  , both shown as bottoms arrows.</p>
      <p>Using transformation patterns as our base, we propose a methodology based on them for
automatic database normalization. It starts with a primer on information capacity and what
leads us to focus on TPs as a means of preserving knowledge with no loss. Once we present how
these restrictive patterns could be applied to more complex schemas, we describe a
methodology to remove all null values and all join dependencies from the source schema via schema
decompositions. For closure, we contextualize our work among the many adjacent fields it
grazes before discussing our future application of transformation patterns.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Background</title>
      <sec id="sec-2-1">
        <title>2.1. Information Preservation</title>
        <p>
          At its core, most of the literature regarding the preservation of information during a schema
transformation emerged from Hull’s [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ] definition of four decreasingly strict notions of schema
dominance. The main idea behind schema dominance is that for two relational schemas, any
valid database instance in one of the schemas can be expressed in the other.
Definition 1 (Schema Transformation). Let there be two schemas  and  . A schema
transformation from  to  is a mapping function → ∶  →  such that → () → ( ) where
 correspond to all valid database instances of  and  , respectively. Furthermore, a mapping
function → ∶  →  is total if ∀ ∃ → () = , injective if ∀, ′ → () = → (′),
surjective if ∀ ∃ → () =  and bijective if → is total, injective and surjective.
Definition 2 (Schema Dominance). Let there be two schemas  and  and the two mapping
functions → and  →. We say that  dominates  if for any instance ( ) of  : → ○
 →( ) = ( ). If  dominates  , then the mapping function  → is injective and total.
Definition 3 (Schema Equivalence). Let there be two schemas  and  . We say that  and 
are equivalent if and only if  dominates  and  dominates . If  and  are equivalent, then
the mapping function → is bijective.
        </p>
        <p>
          A genesis of schema dominance can be found in [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ] where it is defined as a query-equivalence
problem. Later, these definitions were expanded [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] by answering the conjuncture that schema
transformations could preserve primary keys, thus implying the preservation of not only
instances but also relational constraints. Once more, the notions of schema dominance and
equivalence were extended in [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] which defines a correct schema transformation as one which
preserves both constraints and instances, thus diferentiating between instance preservation,
constraint preservation and their combination, information capacity preservation.
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>2.2. Transformation Patterns</title>
        <p>
          Walking in [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ] footsteps, we restrict our definition of schema to that of first-order schemas. A
ifrst-order schema (FOS)  is a couple (︀ A, C⌋︀ where A define the alphabet of predicates used,
therefore databases tables, and C define the set of constraints applied over these relations. A
predicate, written (1, 2, ..., ) is composed of a predicate name  and a finite set of attribute
names of arity . FOS provides a representation of various kinds of constraints, ranging from
functional dependencies to constraints on values. More interestingly, restricting ourselves
to first-order logic semantics allows for simple proofs of FOS equivalence through mutual
entailment via a process automated by theorem solvers, in our case we use Prover9 [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]. Now
that we need a way of writing schema transformation per the semantics of first-order logic, we
move toward a definition of view as a mapping function over both alphabets of two FOS:
Definition 4 (FO Mappings). For two schema  and  , a First-Order (FO) Mappings → is
a set of views  =  where  is each predicate present in  and  is an first-order expression
over the alphabet A of .
        </p>
        <p>For readability, we write those FO Mappings in relational algebra. We can now translate the
previous definitions of schema dominance by interchanging schema transformation with FO
mappings. Thus resulting in the notion of FO Dominance, informally a schema  FO Dominate
another schema  if  dominates  via mapping functions → and  → written as FO
Mappings. Using the FOS notation, we can also write FO Dominance as such (C ∪ → ) ⊧
(C ∪  →) This lead to this final definition of Losslessness;
Definition 5 (Losslessness). Let  and  be two first-order schemas, if  FO Dominates  and
 FO Dominates , then  and  are the lossless representations of each other. A result which we
can also write as (C ∪ → ) ≡ (C ∪  →)</p>
        <p>
          Transformation patterns [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ] are crafted templates describing a particular schema
transformation and the constraints necessary to ensure its losslessness. It can be written as the
triple   = (,  ,  ) with  and  , two database patterns whose purpose is
to represent the state of a database on both sides of a transformation  written as mappings
pattern in relational algebra. Database Pattern and Mapping Patterns are both similar
to FOS and relational algebra mappings respectively, with the diference that instead of
manipulating attributes, they manipulate variables. Variables are sets of attributes defined by
the constraints applied to them. For example, a relation  (, , ) with
a sole primary key constraint on  fits the following relation pattern ( ,  ).
A database pattern is a couple  = (, ) composed of a set of relation patterns and
one of constraint patterns. Relations Patterns are defined similarly to FOS predicate
 ∶ ( 1,  2, ...,  ) with  standing as the relation name and  1, ...,   being
variables either present in some constraint patterns or unconstrained and qualified as  .
Constraint Patterns forms vary from dependency to dependency, but they all can be written
as   ︀( 1, ...⌋︀(  1, ...,  )( ).  denotes the type of constraints used and
 precises that type. Notably diferentiating between a total inclusion dependency written
=︀( 1, 2⌋︀(  1,  2) and a  one ⊆︀( 1, 2⌋︀(  1,  2). Finally, 
denotes a conjunction of simple conditions over values. Despite being a bit heavy, this formal
notation is necessary as a thorough assignment of each constraint over their associated relation
is mandatory.
2.2.1. Example
We present a short example illustrating the potential of TPs. In Tab. 1 () we have a simplified
version of our ongoing example   ∶ (, ℎ, , ) with only one
constraint:  is nullable. We want to horizontally split it into a second database schema 
( )
containing two tables: one where all values of  are non-null ( __ )
and in the other there is no  ( __ ). Because there is little worth
in keeping a column full of null values, we also want to drop  from the second table.
        </p>
        <p>Worker
SSN
012-3155
012-3155
024-5143
031-7471
040-5166
040-5166</p>
        <p>First, we need a way to represent () in our formalism, and it starts with expressing that
 is nullable. A condition over a set of attributes is commonly written as   ≠ ∅ in
a TP to denote that in the relation , tuples satisfying  could exists. This is called a guard
constraint. They can also express conditions that either always hold or never do by writing
  =  and   = ∅ respectively. In our example, the nullable attribute manager
would be written as such  =NULL  ≠ ∅. Put as a database pattern, we have a
constraint pattern    =NULL ≠ ∅ applying over a set of attributes   , coalescing with
any other number of unrelated attributes captured as the  into the relation pattern
 ∶ ( ,  ). This is the first half of a transformation pattern, the part onto which
we can match our relation  . The second part denotes instead the two tables where
 is either always null or non-null. Once again, in our formalism, these two conditions
are expressed as    =NULL1 = ∅ and    =NULL2 = 2 for  is never satisfied and
 is always satisfied respectively. From these conditions, we can deduce two relation
patterns 1 ∶ ( ,  ) and 2 ∶ ( ). Finally, its mapping patterns is two sets of
FO-Mappings 1 =    ≠NULL(), 2 = Π (   =NULL()) and  = 1 ⊍ 2. These
mappings uses standards relational algebra notation plus the outer union operation denoted
by ⊍. The full TP is shown in Fig. 2 () where an additional constraint  is used to
capture residual constraints, a notion developed in the next section. Applying this TP over
our   relation requires to match the variables in the former with the attributes in the
latter. To do so,   has to be rewritten as an FOS so that its semantics can match those
of any TPs. Here, this match is trivial and it is quickly deduced that   = {}
and  = {, ℎ, }. We call a transformation pattern, a database pattern or a
mapping pattern instantiated once it has been matched with real values from a database schema.
(a) TP for Horizontal Decomposition
(b) TP for Vertical Decomposition of a MVD</p>
        <p>
          The decomposition resulting from a TP application can be expressed as a set of views. This
is crucial when working with legacy databases or in cases where it’s neither practical nor
desirable to actively modify the source database. And because the transformations are lossless
and thus preserve information capacity, it is possible to update the source database from any of
its equivalent views [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ]. As they stand, TPs are useful tools for DBRE to database engineers as
guidance for a normalization process, as well as an eventual translation into a conceptual model.
TPs notably ofer a way to resolve the issue of identity resolution in database schema. The crux
is that in a traditional relational database, there is no way to identify an object with the same
precision a conceptual model would allow. The closest is primary keys, but there are many
cases in which it gets complicated. Arises the     (ARM) [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ], a model
which explicitly gives an Object Identifier to relational schemas. An extensive catalogue of TP
turning databases into their ARM counterparts was presented in [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ]. However, they required
the database pattern to already be in a fully decomposed form, a process never explored before.
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Transformation Pattern Application</title>
      <p>One thing missing for the application of TPs is a proper understanding of the  constraint
and more generally of the process of constraint propagation. If we added (︀ ︀⌋( , ℎ)
and (︀ ︀⌋(  ) to the relation   used in last example, then they would be considered
as residual constraints in the application of the TP ) in Fig. 2 and assigned to both   and
  as constraints over  . Here,  and  separate the residual constraints applied over
all variables satisfying  and those that do not, respectively. Such basic propagation seems
straightforward in our example but as we apply TPs over databases containing several tables,
all linked via foreign keys, then we need to have a proper propagation methodology. One that
has two main objectives: -matching the TP and the database schema and - merging the newly
decomposed schema with the rest of the old one. In Fig. 3 we present the main components
of a successful pattern application, this time starting with a vertical decomposition following
 ↠ ℎ (see Fig. 2 ()) and showing how this afect the attribute .</p>
      <p>Here, Σ denote the mapping function between the source database  and the desired TP,
matching with  . The mapping is trivial when only one constraint needs to be matched. Once
the TP is applied and we have a decomposition in  , we need to merge this new database
schema with the previous one, propagating all constraints from the latter in the process. We
call the constraints left behind after the application of a TP leftover constraints. In Fig. 3, the
leftover constraint is the guard constraint  =NULL  ≠ ∅. The propagation of
those leftover constraints, and of their associated tables is done via a set of rules defined in the
merging function Σ . Later on, we will introduce further rules when dealing with overlapping
guard constraints, a then-defined notion, but for now, the three most important rules are:
• Basic Propagation: If a leftover constraint applies over a set of attributes found again in
 , then it is propagated fully.
• Inclusion Update: Following a vertical decomposition, any inclusion dependencies over
a set of attributes captured by the TP will get updated by changing the relations it applies
over (i.e., one of the newly generated relations).
• Inclusion Split: Following a horizontal decomposition, a previously total inclusion
dependency (=) will split into two subset dependencies (⊆) with the corresponding
new relations names.</p>
      <p>Now that we have an intuitive base to process multiple TPs it is time to move on to our
proposed decomposition methodology.</p>
    </sec>
    <sec id="sec-4">
      <title>4. Decomposition Process</title>
      <p>
        Stemming out DBRE, TPs theory takes roots deeper inside the field of Database Normalization
[
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] centering around the question of data quality through the prism of structural redundancy.
One of its solutions is the process of data decomposition in which a sequence of operations
is applied over a database schema to remove redundancies and null values improving data
consistency. Normal forms (NF) is the metric used to define the set of desirable properties a
database satisfies. Ranging from the 1NF which checks for the atomization of each cell to the
5NF satisfied if all non-trivial join dependencies are only applied over superkeys. So far, most
of the normalization approaches have taken the form of an algorithm [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] focalizing on
properties of functional dependencies and consequently rarely going beyond the Boyce-Codd
NF. We believe that an approach based on lossless TPs can not only work just as well but also
go beyond and reach the canonical 6NF, taking care of null values in the process. In this section,
we will present several types of TPs along with a short methodology on how to apply them.
Focusing only on a single database schema under the Universal Relation Assumption (URA), we
assume that it is at least in 1NF and that its set of constraints is acyclic. We naturally expect the
whole decomposition process to be lossless by definition, but another property we are aiming
for is to attain some kind of determinism. In the last section, we unfolded a twice decomposed
database schema, first vertically then horizontally. Of course, another sequence would have
given another result. To say which final output is preferable might sound arbitrary, but we
claim that the former, the one ending with fewer tables, is actually preferable and more in line
with a restructuring of knowledge made for conceptual models.
      </p>
      <sec id="sec-4-1">
        <title>4.1. Inclusion Dependency Extraction</title>
        <p>We preemptively create a singleton table based on the right-hand side of an inclusion
dependency, then change that constraint to target the newly generated table. In the database schema 
made of   ∶ (, ℎ, ) and ⊆︀(  ,  ︀⌋( ,  )
decomposing into ′ makes   ∶ (, ℎ, )  ∶ ( ) and
⊆︀(  ,  ⌋︀( ,  ). In the cases of transitive inclusion dependencies
or sets of inclusion dependencies sharing the same right-hand side, additional patterns are
necessary, some illustrated in Figure. 4.</p>
      </sec>
      <sec id="sec-4-2">
        <title>4.2. Vertical Decomposition</title>
        <p>Vertical Decomposition (VD) is one of the core operations along with horizontal decompositions.
Its principle is to project into a new table all attributes present in the join constraint and to drop
its right-hand-side attributes from the source relation. This applies to either a functional
dependency or a multivalued dependency and both have their kind of TPs, see Fig. 2 () for the latter.
The TP defining the vertical decomposition of a relation  ∶ (, , ), with regards
to a join dependency we write as  (︀ ︀⌋( , ), always generate 1 ∶ (, ),
2 ∶ (, ), a full inclusion between the tables =︀( 1, 2⌋︀( , ) and ends
with this constraint (︀ ︀⌋( ) or (︀ ︀⌋( , ) for functional dependency or
multivalued dependency, respectively, see Fig. 5. This figure also depicts the transformation done to
our ongoing example.</p>
        <p>In this scenario, no sequencing is required and both decomposition can be done independently
from the other. Independent in this context means that a pair of constraints 1, 2 are in none
of the three following combinations: shared RHS, transitive and critical.</p>
        <p>Decomposing a set of overlapping constraints 1, 2, ...,  of the form  =
 (︀ ︀⌋( , ) such that 1 ∧ 2 ∧ ... ∧  ≠ ∅ require a TP which
preserve the greatest common subset of attributes in the right-hand side at each step. To illustrate,
the greatest common denominator for the set 1 =  →  , 2 =  →    , 3 =  ↠  
in the relation  ∶ (, , , , ,  ) where we choose to start by projecting 1 is  , whereas
for 2 it would be   . The decomposed schema for both scenarios are 1 ∶ (, , , , ,  ),
2 ∶ (,  ) and 1′ ∶ (, , , ,  ), 2′ ∶ (, , ,  ) respectively.</p>
        <p>Unlike the previous overlap, transitive overlaps do not require any new TPs. What they
require however is an ordering of the decompositions. It is quite clear how, without any ordering,
we lose information contained in  ∶ (, , ), 1 =  →  , 2 =  →  by decomposing 1
ifrst ending on 1 ∶ (, ) 2 ∶ (,  ) thus losing 2. The ordering we advocate is a relatively
simple one in which, borrowing some tree terminology, all decompositions should start from
the leaves then upward.</p>
        <p>
          The last cases of overlap we have to detect are the critical ones. We borrow our definition of
critical constraints from [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ], denoting a functional dependency  →  is critical if and only if
¯
there exists in the closure of the set of constraints  →  such that   ⊆  and  ⊆⇑ 
(the closure of an attribute is written ¯). A common example is the pair  → ,  → .
This is where our approach clashes with the literature on database normalization as we refuse
to stop here and to lose information, something usually required to reach the BCNF [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ]. What
we propose to solve an overlap akin to  → ,  →  is to simply separate the problematic
constraints into their own table, thus generating for any  ∶ (, , ,  ) the relations
1 ∶ (, , ) and 2 ∶ (, ). Because we do not pretend to present an exhaustive list of all
possible types of constraint overlaps over join dependencies, we need a backup plan. That is, a
solution which always guarantees both determinism and losslessness when used at the expense
of redundancy. And the decomposition used to solve critical overlaps is that solution. We still
consider this part of the methodology automatic under the assumption that we have a broader
definition of overlaps. We now present a priority scale to follow whenever several types of
overlaps, well, overlap: In order of priority, we start with dealing with critical constraints, then
transitive ones and then ones that share an RHS.
        </p>
      </sec>
      <sec id="sec-4-3">
        <title>4.3. Horizontal Decomposition</title>
        <p>Going further than most database normalization methodologies we propose the use of TPs,
such as the one presented in Fig. 2, to express Horizontal Decomposition (HD) with for intent
to remove null values from a database schema. We already introduced guard constraint in our
example section and now expend on its condition . That latter is a conjunction of atomic
conditions ⋀(  ≠ NULL). As long as all guard constraints are independent of each other,
the decomposition methodology is trivial and deterministic. To verify if this property also
extends to overlapping guard constraints, we first need to define them.</p>
        <p>Definition 6 (Guard Overlaps). In a relation  ∶ ( ) onto which are applied two
constraints   =NULL ≠ ∅ and   =NULL ≠ ∅ where,  ,   ⊆  . We distinguish
two types of overlap:
• Containment:   ⊂  
• Non-Distinct:   ∧   ≠ ∅,   ⊂⇑   and   ⊂⇑</p>
        <p>We illustrate these two cases with an example: there be  ∶ (, , ,  ) and three overlapping
guard constraints 1 =   =NULL ≠ ∅, 2 =  =NULL ≠ ∅ and 3 =    =NULL ≠ ∅. Both
scenarios are shown with the pairs {1, 2} and {1, 3} clearly demonstrating the containment
and non-distinct cases respectively. Focusing on the containment case, starting with an HD on
1 will result in two relations 1 ∶ (, , ,  ) and 2 ∶ (,  ), one where no tuples satisfy
 = NULL and one where all does. The constraint propagation formula we presented in
Section 3 dictates that 2 and 3 would hold in both relations which is impossible for 2. This is
why we need two additional rules:
• Guard Loss:  1  ≠ ∅ do not get propagated in ′ if ′ contains one of the following
constraints  2  = ∅,  2  =  for 2 ⊂ 1 and 1 ⊂ 2 respectively.
• Guard Intuition:  1  ≠ ∅ get propagated in ′ even if  2  =  holds, with
1 ⊂⇑ 2 and 1 ∧ 2 ≠ ∅.</p>
        <p>The intuition behind the first rule is that a constraint can only get propagated if it is not
directly contradicted by another. What the other rules allow is for nullable conditions to hold
in a table where a subset of the attribute in said condition is non-existent. In our example, this
permits 3 to be propagated to 2 even though this table is missing the  column. Adding
these rules to the one previously described leads to the following result:
Lemma 1. All sequences of horizontal decompositions are lossless and their schema outputs are
equivalents.</p>
        <p>Proof 1. We want to show that for any binary relation HD( 1,  2) representing the sequential
application of HD TPs  1 →  2, then HD is symmetric. Losslessness is already guaranteed
by the TP formalism, so only the deterministic aspect is touched. This property is trivial when it
comes to independent guard constraints so we test it on both kinds of overlaps. Using the same
notation used in the definition, in the containment case starting with a decomposition on the
subsumed constraints gives 1 ∶ ( ) and 2 ∶ (  ). The second decomposition
here only afects 2 because of the guard loss property, giving a final decomposition of 1, 2
and 3 ∶ (  ). Starting from  2 would instead give us first 1′ ∶ ( ) and
2′ ∶ (  ) and  1 here only afect 1′ because of the guard loss property giving
for final decomposition 1′, 2′ and 3′ ∶ (  ). Both decompositions are the same,
thus demonstrating the symmetric property of HD in this scenario. A similar logic is applied
for non-distinct guard overlaps and the same result, that is 1 ∶ ( ), 2 ∶ (  ),
3 ∶ (  ), 4 ∶ ( (  ⋃  )) is found in all sequences. ◻</p>
        <p>Because all possible scenarios of overlap over guard constraints can be represented, our
methodology for their decomposition is complete. We can mention a specific case where
one or more overlapping guard constraints exist and the union of their set of attributes
 1 ⋃ ... ⋃   =   is the size of the attribute set   in . In this case, the
relation satisfying all guard constraints would just be an empty table ∅ with  constraints
of the form   =NULL∅ = ∅. This is unnecessary and can be resolved by adding a last
propagation rule:
• Guard Total:  1  ≠ ∅ with 1 over   gets propagated as  1  = ∅ in
′ if   ⊆  .</p>
      </sec>
      <sec id="sec-4-4">
        <title>4.4. Conditional Vertical Decomposition</title>
        <p>A Conditional Function Dependency, defined in [ 15], is, within our formalism, a
dependency  (︀ ︀⌋(  )( ) of type  which only gets applied over tuples that
satisfy  . We return to our ongoing example, shorten this time as   ∶
(, , ) onto which is applied a condition functional dependency 1 =
 (︀  ︀⌋( , )(,  ≠ NULL). The functional dependency
 →  holds only whenever  and  are both non-null. If only one
CVD is applied we refer to the Fig. 6 instantiated with our recurring example. Otherwise, for
any set of conditional dependencies, overlapping or not, we always start with all HDs followed
by all VDs, respecting both methodologies for overlap along the way.</p>
        <p>The final order is: IDE → VD → CVD → HD. What results is a pair of mapping patterns
between an FOS schema and its equivalent 4NF decomposition, the latter shown in Fig. 7.</p>
        <p>It is uncertain if a potential decomposition into 5NF and higher can be deterministic, meaning
that any further process is likely to be semi-automatic. The end goal being a fully decomposed
schema in 6NF which can easily be translated into a conceptual modeling language. Such
process is prone to the arbitrary as is the nature of conceptual models. To illustrate, we argue
for a new table  _ ∶ (, ) to be added to our schema as it reflects better the
relation between   and  and for the drop of  in the workers tables. Taking
inspiration from conceptual modeling operations, such as attribute generalization in this case,
to create new TPs is something I already encouraged in [16]. Another challenges is to properly
draw out concepts from our database schema, an action fitting for TPs turning database schema
into their ARM equivalents.</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5. Related Work</title>
      <p>
        With regards to the rest of the literature on DBRE [17], ignoring the aggregation of knowledge
from diferent sources and the type of output, the closest method to ours would be [ 18]. This
approach also emphasizes the preservation of information, but we believe that shifting to an
ontological formalism limits the kind of operations we can apply over the source database,
notably direct updates from any point in the framework. Several papers presented their own
interpretation to Hull’s information preservation criterion [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]: [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] brings up , a
formalism which represents via edges the relations between attributes as functions - [19] propose
conflictfreeness as a restriction for the integration of two schemas - [ 20] put the focus on the
transformation itself and how to embody them with instance preserving properties and - [21]
which encapsulates how information preservation and bijective functions are related.
      </p>
      <p>Throughout the literature provided so far, one common scenario outside of DBRE in which
information preservation is desirable is in data integration [22]. Because most database
transformations are written as mappings, ours included, it is quite intuitive to link them to the
mappings used in data integration following either Global as View (GAV) or Local as View
(LAV) paradigms. [23] notably proposed a framework based on sequences of simple operations
to represent more complex transformations in a data integration context. Delving deeper into
information preservation with regard to data integration can lead us to consider methodologies
used in data exchange [24]. While the main focus of data exchange is the generation of a proper
database instance from constraints, the problem of schema exchange introduced in [25] is closer
to our ambitions. Mostly with regards to the grouping of similar schemas into templates making
an automatic schema transformation possible.</p>
    </sec>
    <sec id="sec-6">
      <title>6. Conclusion and Discussions</title>
      <p>We presented a case study for the application of the transformation pattern formalism. Showing
ifrst how it can be applied to a database schema before asserting that it can serve as the base
of a database decomposition process. Any database schema, once translated into FOS, can
then be decomposed following a sequence of lossless transformations embodied by the TPs.
What result is a pair of mapping patterns between the source database and its equivalent 4NF
decomposition. The presented methodology places itself in the context of the SQL Semantic
Transducer [26] in which the conceptual model of a database schema can act as its materialized
view. Meaning that, once the jump from 6NF to any conceptual modeling language is done,
queries and updates applied to the model would get propagated back to the source database. And
so would the reverse, a property only guarantee because losslessness was preserved through
the entire process. Upcoming works will therefore focus on transitions into both 6NF then to
a conceptual model, likely going through an ARM schema in the process. Going further, we
consider frameworks ensuring losslessness appealing to other database related fields such as
data integration and data preparation. Both handle transformations where information loss is
unavoidable, thus requiring both a definition of non-lossless, i.e. lossy, TPs and ways to enforce
losslessness still, perhaps taking inspiration from the complementary view problem.
[15] W. Fan, F. Geerts, X. Jia, A. Kementsietsidis, Conditional functional dependencies for
capturing data inconsistencies, ACM Transactions on Database Systems 33 (2008) 1–48.</p>
      <p>URL: https://dl.acm.org/doi/10.1145/1366102.1366103. doi:10.1145/1366102.1366103.
[16] T. Abgrall, Formalization of Data Integration Transformations, in: S. Chiusano,
T. Cerquitelli, R. Wrembel, K. Nørvåg, B. Catania, G. Vargas-Solar, E. Zumpano (Eds.), New
Trends in Database and Information Systems, volume 1652, Springer International
Publishing, Cham, 2022, pp. 615–622. URL: https://link.springer.com/10.1007/978-3-031-15743-1_
56. doi:10.1007/978-3-031-15743-1_56, series Title: Communications in Computer
and Information Science.
[17] N. A. Mian, S. A. Khan, N. A. Zafar, Database Reverse Engineering Methods: What is</p>
      <p>Missing? 2 (2013).
[18] L. Lubyte, S. Tessaris, Automatic Extraction of Ontologies Wrapping Relational Data
Sources, in: S. S. Bhowmick, J. Küng, R. Wagner (Eds.), Database and Expert
Systems Applications, volume 5690, Springer Berlin Heidelberg, Berlin, Heidelberg, 2009,
pp. 128–142. URL: http://link.springer.com/10.1007/978-3-642-03573-9_10. doi:10.1007/
978-3-642-03573-9_10, series Title: Lecture Notes in Computer Science.
[19] L. Ekenberg, P. Johannesson, Conflictfreeness as a basis for schema integration, in:
International Conference on Information Systems and Management of Data, Springer,
1995, pp. 1–13.
[20] P. McBrien, A. Poulovassilis, A formalisation of semantic schema integration, Information</p>
      <p>Systems 23 (1998) 307–334.
[21] I. Kobayashi, Losslessness and semantic correctness of database schema transformation:
Another look of schema equivalence, Information Systems 11 (1986) 41–59. URL: https:
//linkinghub.elsevier.com/retrieve/pii/0306437986900220. doi:10.1016/0306-4379(86)
90022-0.
[22] A. Doan, A. Halevy, Z. Ives, Principles of data integration, Elsevier, 2012.
[23] P. McBrien, A. Poulovassilis, Data integration by bi-directional schema
transformation rules, in: Proceedings 19th International Conference on Data Engineering (Cat.
No.03CH37405), IEEE, Bangalore, India, 2003, pp. 227–238. URL: http://ieeexplore.ieee.org/
document/1260795/. doi:10.1109/ICDE.2003.1260795.
[24] R. Fagin, P. G. Kolaitis, R. J. Miller, L. Popa, Data exchange: semantics and query answering,
Theoretical Computer Science 336 (2005) 89–124. URL: https://linkinghub.elsevier.com/
retrieve/pii/S030439750400725X. doi:10.1016/j.tcs.2004.10.033.
[25] P. Papotti, R. Torlone, Schema exchange: Generic mappings for transforming data and
metadata, Data &amp; Knowledge Engineering 68 (2009) 665–682. URL: https://linkinghub.
elsevier.com/retrieve/pii/S0169023X09000184. doi:10.1016/j.datak.2009.02.005.
[26] T. Abgrall, E. Franconi, Understanding the sql semantic transducer, in: International
Conference on Advanced Information Systems Engineering, Springer, 2024.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>M.</given-names>
            <surname>Stonebraker</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Deng</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. L.</given-names>
            <surname>Brodie</surname>
          </string-name>
          ,
          <article-title>Database decay and how to avoid it</article-title>
          , in: 2016
          <source>IEEE International Conference on Big Data (Big Data)</source>
          , IEEE,
          <year>2016</year>
          , pp.
          <fpage>7</fpage>
          -
          <lpage>16</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>N.</given-names>
            <surname>Ndefo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Franconi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A</given-names>
            <surname>Study on Information-Preserving Schema</surname>
          </string-name>
          <string-name>
            <surname>Transformations</surname>
          </string-name>
          ,
          <source>International Journal of Semantic Computing</source>
          <volume>14</volume>
          (
          <year>2020</year>
          )
          <fpage>27</fpage>
          -
          <lpage>53</lpage>
          . URL: https://www.worldscientific. com/doi/abs/10.1142/S1793351X20400024. doi:
          <volume>10</volume>
          .1142/S1793351X20400024.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>R.</given-names>
            <surname>Hull</surname>
          </string-name>
          ,
          <article-title>Relative information capacity of simple relational database schemata</article-title>
          ,
          <source>in: Proceedings of the 3rd ACM SIGACT-SIGMOD symposium on Principles of database systems</source>
          ,
          <year>1984</year>
          , pp.
          <fpage>97</fpage>
          -
          <lpage>109</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>P.</given-names>
            <surname>Atzeni</surname>
          </string-name>
          , G. Ausiello,
          <string-name>
            <given-names>C.</given-names>
            <surname>Batini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Moscarini</surname>
          </string-name>
          ,
          <article-title>Inclusion and equivalence between relational database schemata</article-title>
          ,
          <source>Theor. Comput. Sci</source>
          .
          <volume>19</volume>
          (
          <year>1982</year>
          )
          <fpage>267</fpage>
          -
          <lpage>285</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>J.</given-names>
            <surname>Albert</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Ioannidis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Ramakrishnan</surname>
          </string-name>
          ,
          <article-title>Equivalence of Keyed Relational Schemas by Conjunctive Queries</article-title>
          ,
          <source>Journal of Computer and System Sciences</source>
          <volume>58</volume>
          (
          <year>1999</year>
          )
          <fpage>512</fpage>
          -
          <lpage>534</lpage>
          . URL: https://linkinghub.elsevier.com/retrieve/pii/S0022000099916288. doi:
          <volume>10</volume>
          .1006/jcss.
          <year>1999</year>
          .
          <volume>1628</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>X.</given-names>
            <surname>Qian</surname>
          </string-name>
          ,
          <article-title>Correct schema transformations</article-title>
          , in: G. Goos,
          <string-name>
            <given-names>J.</given-names>
            <surname>Hartmanis</surname>
          </string-name>
          ,
          <string-name>
            <surname>J. Van Leeuwen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Apers</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Bouzeghoub</surname>
          </string-name>
          , G. Gardarin (Eds.),
          <source>Advances in Database Technology - EDBT '96</source>
          , volume
          <volume>1057</volume>
          , Springer Berlin Heidelberg, Berlin, Heidelberg,
          <year>1996</year>
          , pp.
          <fpage>114</fpage>
          -
          <lpage>128</lpage>
          . URL: http: //link.springer.com/10.1007/BFb0014146. doi:
          <volume>10</volume>
          .1007/BFb0014146, series Title: Lecture Notes in Computer Science.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>W.</given-names>
            <surname>McCune</surname>
          </string-name>
          ,
          <source>Prover9 and mace4</source>
          ,
          <fpage>2005</fpage>
          -
          <lpage>2010</lpage>
          . URL: http://www.cs.unm.edu/~mccune/ prover9/.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>R. J.</given-names>
            <surname>Miller</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y. E.</given-names>
            <surname>Ioannidis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Ramakrishnan</surname>
          </string-name>
          ,
          <article-title>The use of information capacity in schema integration and translation</article-title>
          , in: VLDB, volume
          <volume>93</volume>
          ,
          <year>1993</year>
          , pp.
          <fpage>120</fpage>
          -
          <lpage>133</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>A.</given-names>
            <surname>Borgida</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Toman</surname>
          </string-name>
          , G. Weddell,
          <article-title>On referring expressions in information systems derived from conceptual modelling</article-title>
          , in: Conceptual Modeling: 35th International Conference, ER 2016, Gifu, Japan,
          <source>November 14-17</source>
          ,
          <year>2016</year>
          , Proceedings 35, Springer,
          <year>2016</year>
          , pp.
          <fpage>183</fpage>
          -
          <lpage>197</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>C.</given-names>
            <surname>Beeri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. A.</given-names>
            <surname>Bernstein</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Goodman</surname>
          </string-name>
          ,
          <article-title>A sophisticate's introduction to database normalization theory</article-title>
          ,
          <source>in: Readings in artificial intelligence and databases</source>
          , Elsevier,
          <year>1989</year>
          , pp.
          <fpage>468</fpage>
          -
          <lpage>479</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>A. H.</given-names>
            <surname>Bahmani</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Naghibzadeh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Bahmani</surname>
          </string-name>
          ,
          <article-title>Automatic database normalization and primary key generation</article-title>
          ,
          <source>in: 2008 Canadian Conference on Electrical and Computer Engineering</source>
          , IEEE,
          <string-name>
            <surname>Niagara</surname>
            <given-names>Falls</given-names>
          </string-name>
          ,
          <string-name>
            <surname>ON</surname>
          </string-name>
          , Canada,
          <year>2008</year>
          , pp.
          <fpage>000011</fpage>
          -
          <lpage>000016</lpage>
          . URL: http: //ieeexplore.ieee.org/document/4564486/. doi:
          <volume>10</volume>
          .1109/CCECE.
          <year>2008</year>
          .
          <volume>4564486</volume>
          , iSSN:
          <fpage>0840</fpage>
          -
          <lpage>7789</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>D.-M. Tsou</surname>
            ,
            <given-names>P. C.</given-names>
          </string-name>
          <string-name>
            <surname>Fischer</surname>
          </string-name>
          ,
          <article-title>Decomposition of a relation scheme into boyce-codd normal form</article-title>
          ,
          <source>ACM SIGACT News</source>
          <volume>14</volume>
          (
          <year>1982</year>
          )
          <fpage>23</fpage>
          -
          <lpage>29</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>H.</given-names>
            <surname>Koehler</surname>
          </string-name>
          ,
          <article-title>Finding faithful boyce-codd normal form decompositions</article-title>
          , in: Algorithmic Aspects in Information and Management: Second International Conference, AAIM 2006,
          <string-name>
            <given-names>Hong</given-names>
            <surname>Kong</surname>
          </string-name>
          , China, June 20-22,
          <year>2006</year>
          . Proceedings 2, Springer,
          <year>2006</year>
          , pp.
          <fpage>102</fpage>
          -
          <lpage>113</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>C.</given-names>
            <surname>Beeri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. A.</given-names>
            <surname>Bernstein</surname>
          </string-name>
          ,
          <article-title>Computational problems related to the design of normal form relational schemas</article-title>
          ,
          <source>ACM Transactions on Database Systems</source>
          <volume>4</volume>
          (
          <year>1979</year>
          )
          <fpage>30</fpage>
          -
          <lpage>59</lpage>
          . URL: https: //dl.acm.org/doi/10.1145/320064.320066. doi:
          <volume>10</volume>
          .1145/320064.320066.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>