The Internet is a collection of computer networks that exchange information via Hyper Text Transfer Protocol (HTTP). The Internet computer network consists of many internet networks. Currently, the use of the Internet computer network for commercial and noncommercial uses is exploding. Via its networks, the Internet computer network enables many users in different locations to access information stored in data sources (e.g., databases) stored in different locations.
The World Wide Web (i.e., the “WWW” or the “Web”) is a hypertext information and communication system used on the Internet computer network with data communications operating according to a client/server model. Typically, a Web client computer will request data stored in data sources from a Web server computer, at which Web server software resides. The Web server software interacts with an interface connected to, for example. a Database Management System (“DBMS”), which is connected to the data sources. These computer programs residing at the Web server computer will retrieve the data and transmit the data to the client computer. The data can be any type of information, including database data, static data, HTML data, or dynamically generated data.
With the fast growing popularity of the Internet and the World Wide Web (also known as “WWW” or the “Web”), there is also a fast growing demand for Web access to databases.
Databases are computerized information storage and retrieval systems. A Relational Database Management System (RDBMS) is a database management system (DBMS) which uses relational techniques for storing and retrieving data. Relational databases are organized into physical tables which consist of rows and columns of data. The rows are formally called tuples. A database will typically have many physical tables and each physical table will typically have multiple tuples and multiple columns. The physical tables are typically stored on random access storage devices (RASED) such as magnetic or optical disk drives for semi-permanent storage. Additionally, logical tables or “views” can be generated based on the physical tables and provide a particular way of looking at the database. A view arranges rot s in some order, without affecting the physical organization of the database.
RDBMS software using a Structured Query Language (SQL) interface is shell known in the art. The SQL interface has evolved into a standard language for RDBMS software and has been adopted as such by both the American National Standards Institute (ANSI) and the International Standards Organization (ISO).
The SQL interface allows users to formulate relational operations on the tables either interactively, in batch files, or embedded in host languages, such as C and COBOL. SQL allows the user to manipulate the data. The definitions for SQL provide that a RDBMS should respond to a particular query with a particular set of data given a specified database content, but the technique that the RDBMS uses to actually find the required information in the tables on the disk drives is left up to the RDBMS. Typically, there will be more than one technique that can be used by the RDBMS to access the required data. The RDBMS will optimize the technique used to find the data requested in a query in order to minimize the computer time used and, therefore, the cost of performing the query.
Additionally, an index is an ordered set of references to the records or rows in a database file or table. The index is used to access each record in the file using a key (i.e., one of the fields of the record or attributes of the row). When data is to be retrieved, an index is used to locate records. Then, the data is sorted into a user-specified order and returned to the user.
Extensible Markup Language (XML) is a new specification that is quickly gaining popularity for creating what are termed “XML documents”. XML documents comprise structured data. XML documents are being shared between multiple businesses and between businesses and customers.
When XML documents are stored as column data, searching for desired XML data can be time-consuming. Typically, a search for XML data would require searching each XML document. This is usually called a document scan. Thus, there is a need in the art for an improved technique for searching for XML documents stored as column data.
With the longstanding use of relational databases, many businesses have stored their data in relational tables. In order to share this data with businesses that are using XML documents, the data in the relational databases may be manually selected, retrieved, and stored into XML documents. This is a long, tedious task. Thus, there is a need for an improved technique of selecting, retrieving, and storing relational data into XML documents.
In order to share relational data with other businesses that are using XML documents, a user may manually convert the relational data into XML documents. This is time consuming and inefficient. Thus, there is a need for an improved technique of generating XML documents from relational data.
Additionally, when an XML document is received, a user may need to store the data from the XML document into a relational database. Currently, this is a time consuming processing in which a user manually transfers the data from the XML document to the relational database. Thus, there is a need for an improved technique of decomposing an XML document and storing the decomposed data into a relational database.