Information Technology Reference
In-Depth Information
The framework is based on the use of semantics-preserving transformations
and on the identification of specific structures in schemas. It relies on the fact
that there are generally different ways to express a set of facts of the application
domain, and that some of them are better than others according to definite
criteria. In order to make it generic enough to deal with different data model,
we use the GER model [9], a wide spectrum model that encompasses the main
data models (ER, EER, Relational, UML, etc.) and allows to use object types
that belong to different abstraction levels and paradigms in a single schema. The
framework relies on four concepts: the equivalence classes,thecontexts,the
ratings,thequality methods.
An equivalence class EC i is a set of constructs, i.e., EC i = {
,
that all represent the same modeling intention. Moreover for any couple of dis-
tinct constructs C ij , C ik of EC i , there exists a transformation sequence T com-
posed of semantics preserving transformations such that T
C i 1 ,...,C in }
C ik .Anequiv-
alence class represents a common modeling intention which refers to a specific
type of facts of the application domain. Similar constructs are defined as in-
stances of a generic pattern, so that equivalence classes can be reduced to about
20 useful classes made up of patterns.
We illustrate the non-functional 6 binary association equivalence class in fig-
ure 2. It collects popular generic data structures intended to represent many-to-
many associations between the members of two object classes. (a) is a many-
to-many relationship type. (b) is a relationship entity type accompanied by two
one-to-many relationship types. (c) and (d) represent associations through mul-
tivalued (c) and single-valued (d) foreign keys. Finally, (e) and (f ) use two-way
and one-way object references, borrowed from the object oriented data model.
(
C ij )=
(b)
(c)
A
IdA
AttsA
id: IdA
A
IdA
AttsA
id: IdA
B
IdB
AttsB
id: IdB
B
IdB
AttsB
id: IdB
B
IdB
AttsB
id: IdB
B
IdB
AttsB
id: IdB
A
A
IdA
AttsA
IdB[0-N]
id: IdA
ref: IdB[*]
IdA
AttsA
IdB[0-N]
id: IdA
ref: IdB[*]
A
IdA
AttsA
id: IdA
A
IdA
AttsA
id: IdA
B
IdB
AttsB
id: IdB
B
IdB
AttsB
id: IdB
0-N
0-N
0-N
0-N
R1
R1
0-N
0-N
0-N
0-N
R1
id: R1_A.A
R1_B.B
R1
id: R1_A.A
R1_B.B
R1_A
R1_A
R1_B
R1_B
1-1
1-1
1-1
1-1
(a)
(d)
A
A
B
B
B
B
A
IdA
AttsA
id: IdA
A
IdA
AttsA
id: IdA
A
IdA
AttsA
id: IdA
B
IdB
AttsB
id: IdB
IdA
AttsA
B[0-N]: *B
id: IdA
inv: B[*]
IdA
AttsA
B[0-N]: *B
id: IdA
inv: B[*]
IdB
AttsB
A[0-N]: *A
id: IdB
inv: A[*]
IdB
AttsB
A[0-N]: *A
id: IdB
inv: A[*]
A
IdA
AttsA
id: IdA
B
IdB
AttsB
id: IdB
IdB
AttsB
A[0-N]: *A
id: IdB
IdB
AttsB
A[0-N]: *A
id: IdB
R1
IdB
IdA
id: IdA
IdB
ref: IdA
ref: IdB
R1
IdB
IdA
id: IdA
IdB
ref: IdA
ref: IdB
(f)
(e)
Fig. 2. Non-functional association equivalence class
6 In the sense that it supports no functional dependencies.
Search WWH ::




Custom Search