Academia.eduAcademia.edu

SQL Extension for Multidatabase System

2007

The most important feature of a multidatabase system (MDBS) is to provide the global schema with integrating various models of local database systems (LDBS). However, it is difficult to integrate local schemas into the global schema due to the difference of the syntactical and semantic expressions of LDBSs. In this paper, we propose the standard SQL extension for MDBS called by Multidatabase Query Language (MQL). In addition, we analyze semantic conflicts using case studies and provide solutions to the semantic conflicts using MQL.

Fifth International Conference on Computational Science and Applications SQL Extension for Multidatabase System Mi-Yeon Kim*, Jung-Min Seo*, Chang-Joo Moon** *Korea Telecom, **Konkuk University miyeon@kt.co.kr, jmseo@kt.co.kr, cjmoon@konkuk.ac.kr main categories: First, we extend the standard of SQL (Structured Query Language) compliant with SQL:1999 [4][5] and SQL:2003 [6][7] in order to solve the problem of the syntactical difference among the local schemas. Second, we analyze semantic conflicts using case studies and provide the solution of the semantic conflicts using MQL. The rest of this paper is organized in follow sections. Section 2 describes the works related to various MDBS models and semantic conflicts in MDBS. In Section 3, we provide the MQL by creating the global table and global view. In Section 4, which is the main section, we present several case studies on semantic conflicts and the solutions using MQL. Finally, Section 5 presents our conclusion for this paper. Abstract The most important feature of a Multidatabase System (MDBS) is to provide the global schema with integrating various models of Local Database Systems (LDBS). However, it is difficult to integrate local schemas into the global schema due to the difference of the syntactical and semantic expressions of LDBSs. In this paper, we propose the standard SQL extension for MDBS called by Multidatabase Query Language (MQL) 1 . In addition, we analyze semantic conflicts using case studies and provide solutions to the semantic conflicts using MQL. 1. Introduction 2. Related works The Multidatabase System (MDBS) has been researched to access and manage the various data stored in the distributed heterogeneous database [1][2][3]. The most important feature of MDBS is to provide the global schema with single interface as well as to integrate several Local Database Systems (LDBSs). Therefore, the users can access and modify the data of LDBSs through the global schema. However, local schemas of LDBSs are expressed not only by different data models but also by different meanings—although they are implemented having the same data model. It is difficult to integrate local schemas into the global schema due to various syntactical and semantic expressions of LDBSs. In this paper, we propose the SQL extension for MDBS called by Multidatabase Query Language (MQL) and the methods of using MQL in order to solve the problem which we faced with in constructing the MDBS. Our main contribution is divided into two The Database Management System (DBMS) is software designed for the purpose of managing information. It has been built using a technique that was prevalent during its time. Therefore, there existed many different models of LDBSs such as (1) relational, (2) object oriented, and (3) object-relational model, and so on. The model followed the trends in those days where conventional LDBS techniques were employed. The first MDBS was “MULTIBASE” based on functional data integration model during the 1980s. After that, most of MDBSs supported the relational model. The examples of relational MDBS are ADDS (Amoco Distributed Database System) [8], DATAPLEX [9], Mermaid [10], Ingres/Star [11], and so on. The MDBS which is based on object-oriented model appeared towards the end of 1980s – Pegasus [12], OIS (Operational Integration System) [13], CIS (Comandos Integration System) [14]. The UNISQL/M [15] provided the object-relational integration model. The resolving methods of semantic conflicts are dependent on the integration model such as functional model, relational model and object-oriented model, too [16][17][18]. In addition, previous MDBSs define another Data Definition Language (DDL) and Data 1 This research was supported by the MIC(Ministry of Information and Communication), Korea, under the ITRC(Information Technology Research Center) support program supervised by the IITA(Institute of Information Technology Advancement). 0-7695-2945-3/07 $25.00 © 2007 IEEE DOI 10.1109/ICCSA.2007.42 283 Manipulation Language (DML) according to their integration models. As such, these cause some problems for users of LDBS to learn another language for using the MDBS. Therefore, the MDBS should be developed based on a standard SQL for the sake of integrating LDBS and resolving the semantic conflicts. schema and the tables of global schema should be on a one-to-one mapping. Using the following format, the global table definition statement satisfies the requirements. CREATE TABLE <table name> ( <table element> [ {, <table element> }... ) AS SELECT [ DISTINCT | ALL ] <select list> FROM <ldb entity-set name> [ WHERE <search condition> ] ON LDB <ldb name> 3. Definition of MQL In this section, we propose the MQL to create the global table and global view with the extension of SQL:2003. The MQL is used for transforming and integrating local schema to the global schema in the three-step MDB structure [19]. The SQL:2003 is the latest international standard that is compliant with SQL2 and SQL:1999. The SQL2 is the SQL standard for relational database models. The SQL:1999 called by SQL3 adds object-oriented features and supports object-relational database models. The SQL:2003 likewise supports object-relational models. Therefore, our MDBS can be integrated with any model of LDBS—be it relational, object-oriented, or objectrelational models. After this, we use the term entity-relation model [19] to unify the terminology of relational model, object-oriented model and object-relational model. Accordingly, the term “entity-set” denotes the table of relational model and the class of object-oriented model. The word “attribute” denotes the column of tables and the element of classes. The term “entity” denotes the tuple of tables and the object of classes. The syntax of MQL is expressed by Extended Backus-Naur Form (). The non-terminal symbol represented by “<>” means that it is necessary to redefine the term according to the rule of EBNF. For the non-terminal symbol which is not redefined in this paper, the specification of SQL:2003 [6] and our previous study for MQL [20] should be referred upon. The <table name> designated the global table is one-to-one mapping the <ldb entity-set name>. The <table element> which is the column of global table is also one-to-one mapping the attributes of <select list>. The differences between the definition statement of the global table and the local table are as follows. First, the AS SELECT clause is added for the sake of corresponding to the global columns and the local columns. Second, the ON LDB clause is added in order to designate the local schema including the local table which is mapped the global table. The following global table definition statement transforms the local schema to the global schema using User-Defined Type (UDT) in OF clause. The columns of global table correspond to the attributes of <member list> defined in UDT. The hierarchy of global tables is generated by using UNDER clause CREATE TABLE <table name> OF <user-defined type name> [ UNDER <supertable name> ] [ ( <table element> [ { , <table element> } ] ) ] AS SELECT [ DISTINCT | ALL ] <ldb select list> FROM <ldb entity set name> [ WHERE <search condition> ] ON LDB <ldb name> The UDT is defined as follows. CREATE TYPE <user-defined type name> [ UNDER <supertype name> ] [ AS <member list> ] [ INSTANTIABLE | NOT INSTANTIABLE ] 3.1. Global table definition statement The global table definition statement transforms heterogeneous models of local schema to a unified model of global schema. In order to transform the local schema to the global schema, it is essential that the entity-set of local schema should be mapped in the tables of global schema. Similarly, the attributes of the local schema should be mapped in the columns of global schema. In this case, it should be sustained that the entity-sets and attributes of local schema can be selectable and modifiable through the global schema. According to the requirements, the entity-sets of local 3.2. Global view definition statement The global view definition statement integrates the distributed local schemas to a single global schema. The view definition of MDBS is equal to that of the SQL standard. CREATE VIEW <view name> ( <view column list> ) AS <query expression> 284 [ WITH CHECK OPTION ] salary REAL, bonus REAL, tax REAL, bracket INTEGER ) The global view is not supposed to be modifiable, so that the global views must correspond to the local entity-sets using n-to-m mapping. The <query expression> references to the columns in the more than one global table or in another global view. The global view is also defined by using UDT. Infodb2(Ldb2): TABLE Grad_student ( sssn INTEGER, sname CHAR(25), gpa REAL, fssn INTEGER, fname CHAR(25), frank CHAR(10), thesis_title CHAR(50), thesis_grade CHAR(1) ) CREATE VIEW <view name> OF <user-defined type name> [ UNDER <table name> ] [ <view element list> ] AS <query expression> [ WITH CHECK OPTION ] The university B manages the whole graduate students in single relational DB, ORACLE. Oradb(Ldb3): TABLE Student ( ssn INTEGER, name CHAR(25), major CHAR(20), type CHAR(1) ) TABLE Graduate_info ( ssn INTEGER, advisor_ssn INTEGER ) TABLE Address ( ssn INTEGER, street VARCHAR2(25), city VARCHAR2(20), zip CHAR(5) ) TABLE Faculty ( ssn INTEGER, name CHAR(25), dept CHAR(20), rank CHAR(15) ) TABLE Register ( cnumber CHAR(7), fac_ssn INTEGER, stud_ssn INTEGER ) TABLE Course ( cno CHAR(7), cname CHAR(30) ) TABLE Course_restriction ( cno CHAR(7), major CHAR(20), prereg_cno CHAR(7) ) TABLE Thesis ( title CHAR(50), ssn INTEGER, grade REAL ) TABLE Employee ( ssn CHAR(13), name CHAR(25), position CHAR(25), supervisor INTEGER ) TABLE Emp_personal ( ssn INTEGER, age INTEGER, wt_in_kg INTEGER, ht_in_cm INTEGER ) TABLE Emp_salary ( ssn INTEGER, salary REAL, bonus REAL, tax REAL, bracket CHAR(6) ) 4. Resolution to semantic conflicts In the application of distributed heterogeneous LDB environments, the same meaning may be expressed in different languages for each LDB. Therefore, there are many semantic conflicts during the integration of LDBs. In this section, we analyze the case studies of semantic conflicts using the classification of semantic conflicts in [18]. In addition, we provide the methods to resolve the semantic conflicts for each case study. 4.1. LDB schema Before we analyze the case studies, we define the local schemas in reforming the local schema in the [18]. The university A manages the next two relational DBs: infodb1 (Ldb1) and infodb2 (Ldb2) in Informix. The one manages the graduate students in their course work, and the other manages the graduate students in their paper work. Infodb1(Ldb1): TABLE Under_grad ( ssn INTEGER, name CHAR(25), major CHAR(20), address CHAR(50)) TABLE Faculty ( ssn INTEGER, name CHAR(25), dept CHAR(20), rank CHAR(15)) TABLE Enroll ( cno CHAR(7), fssn INTEGER, sssn INTEGER ) TABLE Course ( cno INTEGER, cname CHAR(30) ) TABLE Restricted_course ( cno INTEGER, cname CHAR(25), major CHAR(20) ) TABLE Employee ( ssn INTEGER, name CHAR(25), position CHAR(25), supervisor INTEGER ) TABLE Emp_other ( ssn INTEGER, age INTEGER, wt_in_lb INTEGER, ht_in_in INTEGER, The university C and D manage the whole graduated students using single UNISQL/X DBMS, respectively; the university C manages Unidb1 and the university D manages Unidb2. The UNISQL/X is an objectrelational model. Unidb1(Ldb4): CLASS Student ( ssn CHAR(13), name CHAR(25), major CHAR(20) ) METHOD gpa() REAL FUNCTION student_gpa FILE ‘st_gpa.o’ CLASS Gradstudent SUPERCLASS Student ( advisor INTEGER ) 285 CLASS Employee ( ssn INTEGER, name CHAR(25), position CHAR(25), supervisor Employee ) CLASS Emp_salary ( ssn INTEGER, salary REAL, bonus REAL, bracket CHAR(6) ) CLASS Faculty SUPERCLASS Employee ( dept CHAR(20), rank CHAR(15) ) CLASS Enroll ( course Course, fssn INTEGER, sssn INTEGER, grade REAL ) CALSS Course ( cno CHAR(7), cname CHAR(30), prereq Course ) CLASS Thesis ( title CHAR(50), author Gradstudent, status CHAR(10) ) type; the type of “supervisor” attribute of “Employee” entity-set in Ldb4 is a class-type. In order to resolve these kinds of conflicts, we use two methods. The first method is to extract the attribute with primitive data type from the supervisor class of Ldb4 which corresponds to the supervisor attribute with primitive type of Ldb1. The following statement defines the global table named by “MTemp4” using the “ssn” attribute of the “supervisor” class. CREATE TABLE MTemp4 ( mt_name CHAR(25), mt_ssn INTEGER, mt_position CHAR(25), mt_supervisor INTEGER ) AS SELECT name, ssn, position, supervisor.ssn FROM Employee ON LDB Ldb4 Unidb2(Ldb5): CLASS Student ( ssn CHAR(13), fname CHAR(15), lname CHAR(15), major CHAR(20) ) METHOD gpa() REAL FUNCTION student_gpa FILE ‘st_gpa.o’ CLASS GradStudent SUPERCLASS Student ( advisor Faculty ) CLASS Faculty SUPERCLASS Employee ( dept Department, rank CHAR(15) ) CLASS Employee ( ssn CHAR(9), name CHAR(30), supervisor Employee ) CLASS Department ( name CHAR(20), chairperson CHAR(30) ) CALSS Course ( cno CHAR(7), cname CHAR(30), prereq Course ) CLASS Enroll ( course Course, fssn CHAR(9), sssn CHAR(9) ) CLASS Thesis ( title CHAR(50), author Gradstudent, status CHAR(10) ) The second solution is to define the UDT corresponding to the “supervisor” class of Ldb4. The following statement defines the UDT called by “MUemp”. The definition of “MUemp” table uses the “REF FROM” clause in order to designate “mu_ssn” as the reference of “MUemp”. CREATE TYPE MUemp AS ( mu_name CHAR(25), mu_ssnINTEGER, mu_position CHAR(25), mu_supervisor REF(MUemp) ) REF FROM ( mu_ssn ) INSTANTIABLE NOT FINAL The next statements define the global tables that correspond to the “Employee” local entity-set of Ldb1 and Ldb4 using “MUemp” type. The definition of “MTTemp1” uses the “REF” clause which refers to the tuple of global table using the attribute of supervisor. The definition of “MTTemp4” also uses the “MUemp” to transform the “Employee” entity-set of Ldb4 to the global table without “REF” clause. 4.2. Case studies and resolution of semantic conflicts Using the examples of LDBs, we present the case studies of semantic conflicts and the solution for each case. CREATE TABLE MTTemp1 OF MUemp AS SELECT name, ssn, position, REF(supervisor) FROM Employee ON LDB Ldb1 4.2.1. Attribute composition conflict. This kind of conflict arises when attributes represented by aggregation-type is corresponding to the attributes represented by primitive-type with the same meaning. When the “Employee” entity-set of Ldb1 integrates with the “Employee” entity-set of Ldb4, it is expected that attribute composition conflict will certainly happen. On the contrary, the type of “supervisor” attribute of the “Employee” entity set in Ldb1 is a primitive data CREATE TABLE MTTemp4 OF MUemp AS SELECT name, ssn, position, supervisor FROM Employee ON LDB Ldb4 4.2.2. Many-to-many attribute conflicts. This kind of attribute happens when the different numbers of 286 attributes represent the same meaning and information for each LDB. For example, the “name” attribute of the “Student” entity-set of Ldb4 and Ldb5. On the contrary, the “name” of “Student” entity-set in Ldb4 is expressed in single attribute—the “name” of “Student” entity-set in Ldb5 is represented by two attributes: the “fname” attribute and the “lname” attribute. To resolve this particular conflict, string concatenator represented by the symbol “||” should be used—the one attribute with string type maps more than the one attribute using the concatenator. The following statement defines “MTstudent5” global table corresponding to the “Student” entity-set in Ldb5. CREATE TYPE MUemp_sub UNDER MUemp_super AS ( mu_position CHAR(25) ) INSTANTIABLE NOT FINAL The global view “MTVemp_super” “MUemp_super” UDT is defined as follows: using CREATE VIEW MTVemp_super OF MUemp_super AS SELECT mt_name, mt_ssn, mt_supervisor FROM MTemp1 UNION SELECT mt_name, mt_ssn, mt_supervisor FROM MTemp3 UNION SELECT mt_name, mt_ssn, mt_supervisor FROM MTemp4 UNION SELECT mt_name, mt_ssn, mt_supervisor FROM MTemp5 CREATE TABLE MTstudent5 ( mt_name CHAR(25), mt_ssn INTEGER, mt_major CHAR(20) ) AS SELECT fname || lname, ssn, major FROM Student ON LDB Ldb5 The global view “MTVemp_sub” which is the sub global view of “MTVemp_super” using “MUemp_super” UDT is defined as follows: 4.2.3. Missing attribute conflict. This type of conflict happens when the information of one of the entity-sets differ from that of the other. For example, the “position” attribute is included in the “Employee” entity-set of Ldb1 but it is missed in the “Employee” entity-set of Ldb5. Therefore, when the “Employee” entity-sets of Ldb1 and Ldb5 are integrated, missing attribute conflicts arise. There are four methods to solve the problem. First, the missing attribute of local entity-set transforms to NULL value or default value in the definition of global table. Second, the attribute which corresponds to the missing attribute is omitted in the definition of global table. Third, only common attributes are included in the definition of global view instead of processing the missing attribute during the definition of global table. The last method is to use the UDT in the definition of global view and the inheritance property of class hierarchy. The super UDT is defined with including only common attributes and the sub-UDT is defined by including non-common attributes. The following statement defines the super UDT named by “MUemp_super” with excluding the “position” attribute. CREATE VIEW MTVemp_sub UNDER MTVemp_super OF MUemp_sub AS SELECT mt_position FROM MTemp1 UNION SELECT mt_position FROM MTemp3 UNION SELECT mt_position FROM MTemp4 4.2.4. Entity-set and attribute conflict. This kind of conflict occurs when one LDB expresses to be the entity-set and the other expresses to be the attribute for the same meaning information. This case is the integration of the “address” attribute of “Under_grad” entity-set in Ldb1 and the “Address” entity-set in Ldb3. To solve this problem, the number of methods expressed in two conducts. The first is to divide one entity-set which contain the attribute corresponding to the other entity-set with the same meaning. The second is to combine the entity-sets in order to match another entity-set including the attribute with the same meaning. Over all, it is necessary to define the global schema definition. The “MTunder_student1”, “Mstudent3” and “Maddress3” global tables are defined corresponding to the “Under_grad” entity-set in Ldb1, the “Student” entity-set in Ldb3 and “Address” entity-set in Ldb3, respectively. These global tables are as follows: CREATE TYPE MUemp_super AS ( mu_name CHAR(25), mu_ssnINTEGER, mu_supervisor REF(MUemp_super) ) REF FROM ( mu_ssn ) INSTANTIABLE NOT FINAL The next statement defines the sub-UDT called by “MVemp_sub” including only the “position” attribute. 287 CREATE TABLE MTunder_student1 ( mt_name CHAR(25), mt_ssn INTEGER, mt_major CHAR(20), mt_type CHAR(1), mt_address CHAR(50) ) AS SELECT name, ssn, major, ‘u’, address FROM Under_grad ON LDB Ldb1 CREATE VIEW MVunder_student_with_address ( mv_name, mv_ssn, mv_major, mv_type, mv_address ) AS SELECT mt_name, mt_ssn, mt_major, mt_address FROM MTunder_student1 UNION SELECT mt_name, MTstudent3.mt_ssn, mt_major, mt_street || mt_city || mt_zip FROM MTstudent3, MTaddress3 WHERE MTstudent3.ssn = MTaddress3.ssn AND MTstudent3.type = ‘u’ CREATE TABLE MTstudent3 ( mt_name CHAR(25), mt_ssn INTEGER, mt_major CHAR(20), mt_type CHAR(1) ) AS SELECT name, ssn, major, type FROM Student ON LDB Ldb3 4.2.5. Many-to-many entity-sets conflict. This kind of conflict happens when different numbers of entity-sets are used for the expression of the same meaning. For example, The “Emp_other” entity-set in Ldb1 is integrated with the “Emp_personal” and “Emp_salary” entities in Ldb3. For the resolution, the global tables should be defined the same applies to the global view which integrates the global tables. First, the “MTemp_other1”, “MTemp_personal3” and “MTemp_salary3” global tables should be defined with corresponding to the “Emp_other” entity-set in Ldb1, “Emp_personal” entity-set in Ldb3 and “Emp_salary” entity-set in Ldb3, respectively. After the definition of global tables, global view should be defined to integrate the global tables. The following statement defines the “MVemp_info” global view which integrates three global tables. CREATE TABLE MTaddress3 ( mt_ssn INTEGER, mt_street CAHR(25), mt_city CHAR(20), mt_zip CHAR(5) ) AS SELECT ssn, street, city, zip FROM Address ON LDB Ldb3 As the first solution, the global views are defined as follows: “MVunder_student_without_address” global view and “MVaddress” global view. The “MVunder_student_without_address” global view integrates the “MTunder_student1” global table excluding “mt_address” attribute and “MTstudent3” global table. The “MVaddress” global view integrates the “mt_address” attribute of “MTunder_student1” global table and “MTaddress3” global table. CREATE VIEW MVemp_info ( mv_ssn, mv_age, mv_wt_in_lb, mv_ht_in_in, mv_salary, mv_bonus, mv_tax ) AS SELECT mt_ssn, mt_age, mt_wt_in_lb, mt_ht_in_lb, mt_salary, mt_bonus, mt_tax FROM MTemp_other1 UNION SELECT MTemp_personal.mt_ssn, mt_age, mt_wt_in_lb, mt_ht_in_lb, mt_salary, mt_bonus, mt_tax FROM MTemp_personal3, MTemp_salary3 WHERE MTemp_personal3.ssn = MTemp_salary3.ssn CREATE VIEW MVunder_student_without_address ( mv_name, mv_ssn, mv_major, mv_type ) AS SELECT mt_name, mt_ssn, mt_major FROM MTunder_student1 UNION SELECT mt_name, MTstudent3.mt_ssn, mt_major FROM MTstudent3 WHERE MTstudent3.type = ‘u’ CREATE VIEW MVaddress ( mv_ssn, mv_address ) AS SELECT mt_ssn, mt_address FROM MTunder_student1 UNION SELECT mt_ssn, mt_street || mt_city || mt_zip FROM MTaddress3 5. Conclusion The one of the most important functions of MDBS is to integrate schemas in local database and to provide the global schema to users. The second solution is to integrate the “MTstudent3” and ‘MTaddress3’ global table to the one global view named by “MVunder_student_with_address”. 288 [9] C. W. Chung, "DATAPLEX: An Access to Heterogeneous Distributed Databases," Communication of the ACM, Vol.33, No.1, Jan. 1990, pp.70-80. However, the schemas that have the same meaning can be represented not only by the various models but also by the various methods of the same model. As a result, many semantic conflicts occur. Therefore, it is necessary to analyze the semantic conflicts in integrating local schemas and to suggest the method to resolve it. In this paper, I propose the MQL with extended SQL standard to support MDBS. Moreover, I provide the case studies of semantic conflicts in integrating local schemas and the method to resolve the conflict for each case of semantic conflicts. In the future, we will analyze the remainder of semantic conflicts which are not proposed in this paper and present the resolution methods. [10] M. Templeton, et al., " Mermaid: A Front-end to Distributed Heterogeneous Databases," In Proc. Special Issue on Distributed Database Systems, IEEE, Vol.75, No.5, May, 1987. [11] M. Stonebraker, The Ingress Papers: Anatomy of a Relational Database System, Addison-Wesley, 1986. [12] R. Ahmed et al., “An Overview of Pegasus,” In Proc. of the RIDE-IMS, 1993, pp. 273-277. [13] R. Gagliardi, M. Caneve, and G. Oldano, "An operational approach to the integration of distributed heterogeneous environment," In Proc. of the PARBASE-90 Conference, 1990, pp. 368-377. 6. References [14] E. Bertino, M. Negri, G. Pelaggati, and L. Sbatella, "Integration of Heterogeneous Database Applications through an Object-oriented Interface," Information Systems, Vol.14, No.5, 1989, pp. 407-420. [1] G. Tomas et al., “Heterogeneous Distributed Database Systems for Production Use,” ACM Computing Surveys, Vol.22, No.3, Sep. 1990, pp. 237-266. [2] E. Pitourra, O. Bukhres, and A. Elmagarmid, “Object Orientation in Multidatabase Systems,” ACM Computing Surveys, Vol.27, No.2, June 1995, pp. 141-195. [15] W. Kelley, S. Gala, Won Kim, T. Reyes, and B. Graham, “Schema Architecture of the UniSQL/M Multidatabase System,” Modern Database Systems, Won Kim ed., Addison Wesley, 1995, pp. 621-648. [3] Won Kim, “Introduction to Part2: Technology for Interoperating Legacy Databases,” Modern Database Systems, ACM Press and Addison Wesley, 1995, pp.521-550. [16] Umeshwar Dayal, Hai-Yann Hwang, "View Definition and Generalization for Database Integration in a Multidatabase System," IEEE Transactions on Software Engineering (TSE), Vol.10, No.6, 1984., pp. 628-645. [4] ANSI TC X3H2, ISO/IEC JTC 1/SC 21/WG, "ISOANSI Working Draft Foundation (SQL/Foundation)," March 1999. [5] A. Eisenberg, J. Melton, “SQL:1999, Formerly Known as SQL3,” ACM SIGMOD Record, Vol.28, No.1, March 1999. [17] Won Kim and Jungyun Seo, “Classifying Schematic and Data Heterogeneity in Multidatabase Systems," IEEE Computer, Vol.24, No.12, Dec. 1991, pp. 12-18. [6] ISO/IEC JTC 1/SC32, “Information technology-Database languages-SQL-Part2: Foundation (SQL/Foundation), “ American National Standards Institute (ANSI), New York, NY, www.ansi.org, 2004. [18] W. Kim, I. Choi, S. Gala, and M. Scheevel, "On Resolving Schematic Heterogeneity in Multidatabase Systems," Distributed and Parallel Databases, Vol.1, No.3, 1993, pp. 251-279. [7] Andrew Eisenberg, Krishna Kulkarni, Jim Melton, JanEike Michels, Fred Zemke, “SQL:2003 Has Been Published, “ACM SIGMOD Record, Vol.33, No.1, March 2004. [19] Mi-Yeon Kim, Ju-Won Song, Jeong-Oog Lee, and DooKwon Baik, "Schema Integration in Multidatabase Systems Using the Extension of SQL3," In Proc. Intl. Symposium on Future Software Technology 2000(ISFST-2000), Guiyang China, Aug. 2000, pp. 79-84. [8] Y. J. Breitbart and P. L. Olson, and G. R. Thompson, “Database Integration in a Distributed Heterogeneous Database System,” In Proc. of the Int’l Conf. on Data Engineering, 1986, pp.301-310. [20] P. P. Chen, “The Entity-Relationship Model: Toward a Unified View of Data,” ACM Transactions on Database Systems, Vol.1, No.1, Jan. 1976, pp. 9-36. 289