Presentation is loading. Please wait.

Presentation is loading. Please wait.

Data Integration by Bi-Directional Schema Transformation Rules Data Integration by Bi-Directional Schema Transformation Rules By Peter McBrien and Alexandria.

Similar presentations


Presentation on theme: "Data Integration by Bi-Directional Schema Transformation Rules Data Integration by Bi-Directional Schema Transformation Rules By Peter McBrien and Alexandria."— Presentation transcript:

1 Data Integration by Bi-Directional Schema Transformation Rules Data Integration by Bi-Directional Schema Transformation Rules By Peter McBrien and Alexandria Poulovassilis Presented by Suman Paladugu

2 Introduction A new approach to data integration called both as view (BAV) BAV is based on the use of reversible sequences of schema transformations Derive GAV and LAV view definitions from BAV schema transformation sequences Support of BAV in the evolution of both global and local schemas Implementation of the BAV approach within the AutoMed system

3 Example Local and Global Schemas S g student (id, name, left #,degree) monitors (sno,id) staff (sno, sname, dept#) S 1 ug (id, name, left #, degree, sno) tutor (sno, sname) S 2 phd (id, name, left#, title) supervises (sno, id) supervisor (sno, sname, dept)

4 Example Local and Global Schemas S g student (id, name, left #,degree) monitors (sno,id) staff (sno, sname, dept#) S 1 ug (id, name, left #, degree, sno) tutor (sno, sname) S 2 phd (id, name, left#, title) supervises (sno, id) supervisor (sno, sname, dept) G1 Student (id, name, left, degree) ={x, y, z, w | (x, y, z, w, -)  ug Λ (x, -, -, -)  phd V (x, y, z, w)  phd Λ w=‘phd’ }

5 Example Local and Global Schemas S g student (id, name, left #,degree) monitors (sno,id) staff (sno, sname, dept#) S 1 ug (id, name, left #, degree, sno) tutor (sno, sname) S 2 phd (id, name, left#, title) supervises (sno, id) supervisor (sno, sname, dept) G2 monitors (sno, id) = {x, y | (x, -, -, -y)  ug Λ (x, -, -, -)  phd V (x, y)  supervises}

6 Example Local and Global Schemas S g student (id, name, left #,degree) monitors (sno,id) staff (sno, sname, dept#) S 1 ug (id, name, left #, degree, sno) tutor (sno, sname) S 2 phd (id, name, left#, title) supervises (sno, id) supervisor (sno, sname, dept) G3 staff (sno, sname, dept) = {x, y, z | (x, y)  tutor Λ (x, -, -)  supervisor V (x, y)  supervisor}

7 Example Local and Global Schemas S g student (id, name, left #,degree) monitors (sno,id) staff (sno, sname, dept#) S 1 ug (id, name, left #, degree, sno) tutor (sno, sname) S 2 phd (id, name, left#, title) supervises (sno, id) supervisor (sno, sname, dept) L1 tutor (sno, sname) = {x, y | (x, y, -)  staff Λ (x, z)  monitors Λ (z, -, -, w)  student Λ w  ‘phd’}

8 Example Local and Global Schemas S g student (id, name, left #,degree) monitors (sno,id) staff (sno, sname, dept#) S 1 ug (id, name, left #, degree, sno) tutor (sno, sname) S 2 phd (id, name, left#, title) supervises (sno, id) supervisor (sno, sname, dept) L2 ug (id, name, left, degree, sno) = {x, y, z, w, v | (x, y, z )  student Λ (v, x)  monitors Λ w  ‘phd’}

9 Example Local and Global Schemas S g student (id, name, left #,degree) monitors (sno,id) staff (sno, sname, dept#) S 1 ug (id, name, left #, degree, sno) tutor (sno, sname) S 2 phd (id, name, left#, title) supervises (sno, id) supervisor (sno, sname, dept) L3 phd (id, name, left, title) = {x, y, z, w | (x, y, z, v)  student Λ v = ‘phd’ Λ w = null}

10 Example Local and Global Schemas S g student (id, name, left #,degree) monitors (sno,id) staff (sno, sname, dept#) S 1 ug (id, name, left #, degree, sno) tutor (sno, sname) S 2 phd (id, name, left#, title) supervises (sno, id) supervisor (sno, sname, dept) L4 supervises (sno, id) = {x, y | (x, y)  monitors Λ (x, -, -, z)  student Λ z = ‘phd’}

11 Example Local and Global Schemas S g student (id, name, left #,degree) monitors (sno,id) staff (sno, sname, dept#) S 1 ug (id, name, left #, degree, sno) tutor (sno, sname) S 2 phd (id, name, left#, title) supervises (sno, id) supervisor (sno, sname, dept) L5 supervisor (sno, sname, dept) = {x, y, z | (x, y, z)  staff Λ (x, w,)  monitors Λ (w, -, -, v)  student Λ v = ‘phd’}

12 Example Local and Global Schemas S g student (id, name, left #,degree) monitors (sno,id) staff (sno, sname, dept#) S 1 ug (id, name, left #, degree, sno) tutor (sno, sname) S 2 phd (id, name, left#, title) supervises (sno, id) supervisor (sno, sname, dept)

13 Evolution Problems of GAV and LAV GAV not ready to support the evolution of local schema In LAV, changes to a local schema impact only on the derivation rules defined for that schema But there is a problem for LAV

14 BAV Integration Common Data Model- HDM. In LAV, changes to a local schema impact only on the derivation rules defined for that schema Schemas are incrementally transformed by applying to them a sequence of primitive transformation stepst 1, t 2, t 3 …… t n. Intermediate (and final) schemas may contain constructs of more than one modeling language.

15 BAV Integration … Contd Each add or del transformation is accompanied by a query specifying the extent of the new/deleted construct in terms of the rest of the constructs in the schema. This allows automatic translation of data and queries between schemas linked by a transformation pathway e.g. for global query processing

16 Example: A Simple Relational Model k 1, k 2, k 3 …… k n, n≥1, are the primary key attributes a 1, a 2, a 3 …… a m, m ≥ 0, are the non-primary key attributes

17 Primitive Transformation of this Model addRel(( (R, k 1, k 2, k 3 …… k n ),q)) adds to the schema a new relation R addAtt(( R, a), c, q)) adds to the schema a non- primary key attribute for relation R delRel (((R, k 1, k 2, k 3 …… k n ),q)) deletes relation R delAtt (((R, a ),c, q))

18 Primitive Transformation of this Model extRel(( R, k 1, k 2, k 3 …… k n )), q)) extAtt(( R, a )), c, q)) conRel(( R, k 1, k 2, k 3 …… k n )), q)) conAtt(( R, a)), c, q))

19 BAV integration of S 1 and S 2 into S g : ‘ add ’ Steps

20 BAV integration of S 1 and S 2 into S g : ‘ delete ’ and ‘ contract ’ Steps

21 Correspondence between GAV/LAV The ‘add’ steps correspond to GAV since global schema constructs are being defined in terms of local ones The ‘del’ and ‘con’ steps correspond to LAV since local schema constructs are being defined in terms of global ones

22 Correspondence between BAV and GAV/LAV GAV or LAV definition can be converted into a partial BAV definition Complete GAV or LAV definition can be derived from a BAV definition. BAV thus combines the benefits of GAV and LAV in the sense that any reasoning or processing which is possible with the view definitions of GAV or LAV will also be possible with the BAV definition

23 Deriving BAV from GAV GAV definition is derived using some of the information present in BAV definition: First, Decomposition rule applied to each GAV rule G 1 -- generates 1-4, G 2 --8, and G 3 generates 5-7 Second, each construct c of type T in the source schema is removed using transformation step of form con T( c, void). conAtt((( tutor, sname)), notnull, void))) conAtt((( phd, title)), notnull, void))) conRel((( phd, id)), void)

24 Deriving BAV from LAV LAV definition is also derived using some of the information present in BAV definition: L 1 to L 5 -- generates reverse transformation steps of 23-9. All the BAV transformations steps generated must be ‘ extend ’ rather than ‘ add ’ ones extRel((( phd, id)), {x |x  (( student, id))} V (x, ‘phd’)  ((student, degree)) }) extAtt((( tutor, sname)), notnull, {x, y |(x, y)  ((staff, sname)) x  ((tutor, sno))})

25 Deriving GAV from BAV Take the subset, G, of the add and ext steps in the transformation sequence from S 1 U S 2 U ……S g Take each addRel/extRel step in G, together with all addAtt/extAtt steps for the same relation Form a join of the schemes ((R, a 1 ))…… ((R, a m )) to restore relation R.

26 Example

27 Example Contd …

28

29 Deriving LAV from BAV Take the subset, L, of the del and con steps on constructs of S i in the transformation sequence from S 1 U S 2 U ……S g. Construction of the LAV view definitions from L proceeds in a similar fashion to the construction of GAV view definitions E.g. the steps forming L for schema S i are 9 – 15 above Rule L 1 can then be derived from 9 – 10 and rule L 2 from 11 – 15

30 BAV support for Global Schema Evolution If a global schema S evolves to a new schema, S’ the evolution is specified as a transformation pathway S  S’ Three possible steps: 1.If t is an add or del, then S’ is semantically equivalent to S. 2. If t is a contract, then there will be information that used to be present in S no longer available from S’. 3. If t is an extend transformation then domain knowledge is required to determine if the new construct in S’ can in fact be completely derived from the local data sources

31 BAV support for Local Schema Evolution Little Complex compared to the previous one Suppose that some local schema S evolves, to S’. The evolution is again defined as a transformation pathway S  S ’ Each transformation step, t, in this pathway is again considered in turn As with global schema evolution, only if t is an extend is domain knowledge required

32 The AutoMed Architecture

33 Conclusions GAV and LAV views can be derived from a BAV specification BAV thus combines the benefits of GAV and LAV, in that any reasoning or processing which is possible with GAV or LAV view definitions will also be possible with a BAV specification A key advantage of BAV is that it readily supports the evolution of both local and global schemas, allowing transformation pathways and schemas to be incrementally modified

34 Questions? Questions?

35 Thank You Thank You


Download ppt "Data Integration by Bi-Directional Schema Transformation Rules Data Integration by Bi-Directional Schema Transformation Rules By Peter McBrien and Alexandria."

Similar presentations


Ads by Google