Abstract
This paper describes a rule-based algorithm to derive a relational schema from an extended entity-relationship model. Our work is based on an approach by Atzeni and Torlone in which the source EER model is imported into a universal metamodel, a series of transformations are performed to eliminate constructs not appearing in the relational metamodel, and the result is exported. Our algorithm includes novel features that are needed for practical object to relational mapping systems: First, it generates forward- and reverse-views that transform instances of the source model into instances of the target and back again. These views automate the object-to-relational (O/R) mapping. Second, it supports a flexible mapping of inheritance hierarchies to flat relations that subsumes and extends prior approaches. Third, it propagates incremental updates of the source model into incremental updates of the target. We prove the algorithm’s correctness and demonstrate its practicality in an implementation.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Atzeni, P., Torlone, R.: Management of Multiple Models in an Extensible Database Design Tool. In: Apers, P.M.G., Bouzeghoub, M., Gardarin, G. (eds.) EDBT 1996. LNCS, vol. 1057, pp. 79–95. Springer, Heidelberg (1996)
Atzeni, P., Cappellari, P., Bernstein, P.: ModelGen: Model Independent Schema Translation. In: Ioannidis, Y., Scholl, M.H., Schmidt, J.W., Matthes, F., Hatzopoulos, M., Boehm, K., Kemper, A., Grust, T., Boehm, C. (eds.) EDBT 2006. LNCS, vol. 3896, pp. 368–385. Springer, Heidelberg (2006)
Barsalou, T., Gangopadhyay, D.: M(DM): An Open Framework for Interoperation of Multimodel Multidatabase Systems. ICDE, 218–227 (1992)
Bernstein, P., Melnik, S., Mork, P.: Interactive Schema Translation with Instance-Level Mappings (demo), VLDB, pp. 1283–1286 (2005)
Blakeley, J., Muralidhar, S., Nori, A.: The ADO.NET Entity Framework: Making the Conceptual Level Real. In: Embley, D.W., Olivé, A., Ram, S. (eds.) ER 2006. LNCS, vol. 4215, pp. 552–565. Springer, Heidelberg (2006)
Bowers, S., Delcambre, L.M.L.: On Modeling Conformance for Flexible Transformation over Data Models, Knowl. Transformation for the Semantic Web (at 15th ECAI), pp. 19–26.
Bowers, S., Delcambr, L.M.L.: The Uni-Level Description: A Uniform Framework for Representing Information in Multiple Data Models. In: Song, I.-Y., Liddle, S.W., Ling, T.-W., Scheuermann, P. (eds.) ER 2003. LNCS, vol. 2813, pp. 45–58. Springer, Heidelberg (2003)
Boyd, M., McBrien, P.: Comparing and Transforming Between Data Models Via an Intermediate Hypergraph Data Model. J. Data Semantics IV, 69–109 (2005)
Claypool, K.T., Rundensteiner, E.A.: Sangam: A Transformation Modeling Framework. DASFAA, pp. 47–54 (2003)
Fagin, R.: Multivalued Dependencies and a New Normal Form for Relational Databases. ACM TODS 2(3), 262–278 (1977)
Fagin, R., Kolaitis, P.G., Popa, L., Tan, W.C.: Composing Schema Mappings: Second-Order Dependencies to the Rescue. ACM TODS 30(4), 994–1055 (2005)
Hainaut, J.-L.: Entity-Generating Schema Transformations for Entity-Relationship Models. ER, 643–670 (1991)
Hainaut, J.-L.: Specification preservation in schema transformations-Application to semantics and statistics. Data Knowl. Eng. 16(1), 99–134 (1996)
Hainaut, J.-L., Hick, J.-M., Englebert, V., Henrard, J., Roland, D.: Understanding the Implementation of IS-A Relations. In: Thalheim, B. (ed.) ER 1996. LNCS, vol. 1157, pp. 42–57. Springer, Heidelberg (1996)
Hainaut, J.-L.: The Transformational Approach to Database Engineering. In: Lämmel, R., Saraiva, J., Visser, J. (eds.) GTTSE 2005. LNCS, vol. 4143, pp. 89–138. Springer, Heidelberg (2006)
Hibernate, http://www.hibernate.org/
Hull, R.: Relative Information Capacity of Simple Relational Database Schemata. SIAM J. Comput. 15(3), 856–886 (1986)
Hull, R., King, R.: Semantic Database Modeling: Survey, Applications and Research Issues. ACM Comp. Surveys 19(3), 201–260 (1987)
Java Data Objects, http://java.sun.com/products/jdo
Jeusfeld, M.A., Johnen, U.A.: An Executable Meta Model for Re-Engineering of Database Schemas. Int. J. Cooperative Inf. Syst. 4(2-3), 237–258 (1995)
Keller, A.M., Jensen, R., Agrawal, S.: Persistence Software: Bridging Object-Oriented Programming and Relational Databases. SIGMOD, 523–528 (1993)
Kensche, D., Quix, C., Chatti, M.A., Jarke, M.: GeRoMe. A Generic Role Based Metamodel for Model Management. In: Meersman, R., Tari, Z. (eds.) OTM 2005. LNCS, vol. 3781, pp. 1206–1224. Springer, Heidelberg (2005)
Mork, P., Bernstein, P.A., Melnik, S.: A Schema Translator that Produces Object-to-Relational Views. Technical Report MSR-TR-36. (2007), http://research.microsoft.com
Papotti, P., Torlone, R.: An Approach to Heterogeneous Data Translation based on XML Conversion. CAiSE Workshops 1, 7–19 (2004)
Papotti, P., Torlone, R.: Heterogeneous Data Translation through XML Conversion. J. of Web Eng 4(3), 189–204 (2005)
Poulovassilis, A., McBrien, P.A.: General Formal Framework for Schema Transformation. Data Knowl. Eng. 28(1), 47–71 (1998)
Rosenthal, A., Reiner, D.: Tools and Transformations? Rigorous and Otherwise? for Practical Database Design. ACM TODS 19(2), 167–211 (1994)
Ruby on Rails, http://api.rubyonrails.org/
Shu, N.C., Housel, B., Taylor, R., Ghosh, S., Lum, V.: EXPRESS: A Data EXtraction, Processing, and REStructuring System. ACM TODS 2(2), 134–174 (1977)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Mork, P., Bernstein, P.A., Melnik, S. (2007). Teaching a Schema Translator to Produce O/R Views. In: Parent, C., Schewe, KD., Storey, V.C., Thalheim, B. (eds) Conceptual Modeling - ER 2007. ER 2007. Lecture Notes in Computer Science, vol 4801. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-75563-0_9
Download citation
DOI: https://doi.org/10.1007/978-3-540-75563-0_9
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-75562-3
Online ISBN: 978-3-540-75563-0
eBook Packages: Computer ScienceComputer Science (R0)