Database processing method and apparatus for processing data...

Data processing: database and file management or data structures – Database design – Data structure types

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C707S793000, C707S793000, C707S793000

Reexamination Certificate

active

06694312

ABSTRACT:

BACKGROUND OF THE INVENTION
The present invention relates to database management techniques, and more particularly to a database management system which is applicable to a parallel database management system having a function of executing a program module incorporated therein by a user.
The present invention utilizes the following three known techniques related to a database management system (hereinafter abbreviated as “DBMS”) for managing a database (hereinafter abbreviated as “DB”):
(1) Parallel DB Processing;
(2) SQL
3
; and
(3) Object Relational DBMS.
In the following, these three known techniques will be briefly described.
(1) Parallel DB Processing
This is a method of parallelly executing database processing which satisfies a user's request using a plurality of processors for processing user's queries involving a large amount of data. An example of this method is described in JP-A-8-137910 (Reference 1). In the method of Reference 1, a processor receives a user's query, and a DBMS controls the executions of a plurality of engine processors (execution servers) such that a load is optimally distributed among the engine processors.
(2) SQL
3
SQL
3
is a draft of a database language specification for which the International Standard Organization (ISO) is currently working for standardization. For example, according to “Information technology—Database languages—SQL—Part 2: SQL/Foundation” ISO/IEC JTC1/SC21 N10489 (Reference 2), SQL
3
permits a description as follows:
CREATE TYPE sgmltext_t (
text BLOB,
. . . {circle around (1)}
FUNCTION extract (sgmltext_t,

. . . {circle around (2)}
   VARCHAR)
RETURNS BLOB
LANGUAGE C

. . . {circle around (3)}
EXTERNAL NAME ‘p_sgml_extract’;
This description provides definition statements for an abstract data type (hereinafter abbreviated as “ADT”. {circle around (1)} in the definition statements indicates that ADT sgmltext_t is composed of a component of BLOB (Binary Large Object) type referenced by a name “text.”
Also, {circle around (2)} in the definition statements indicates that an ADT function extract( ) can be applied to data having an ADT sgmltext_t type.
Further, {circle around (3)} in the definition statements indicates that the ADT function extract( ) is related to an external function labelled p_sgml_extract described in C language.
The user can define his inherent data type using the ADT as described above, thereby realizing functions corresponding to data access, inheritance and so on by methods in a general object-oriented program language.
(3) Object Relational DBMS
They say that a conventional relational DBMS (hereinafter abbreviated as “RDBMS”) based on a relational data model is not suitable for handling data having a complicated structure such as multimedia data because it cannot provide close representations of such data and also implies other problems on performance. For this reason, an object relational DBMS (hereinafter abbreviated as “ORDBMS”), which introduces an object orientated concept into RDBMS, has been proposed as described in “Object Relational DBMSs” written by Michael Stonebraker, translated by Yoshinobu Ohta, and published by International Thompson Publishing Japan, August 1996 (Reference 3). Reference 3 mentions as a basic requirement of ORDBMS that ORDBMS should be capable of handling complicated objects. Reference 3 also mentions that the ORDBMS should be able to use the following user defined types and user defined functions:
create type phone_t(
 area
varchar(3),
. . . {circle around (4)}
 number
varchar(7),
. . . {circle around (5)}
 description
varchar(20));
. . . {circle around (6)}
This description provides definition statements for a user defined complex type phone_t. The definition statements indicate that the complex type phone_t is composed of three components: a variable character string type element of three bytes or less referenced by a name “area” ({circle around (4)} in the definition statements); a variable character string type element of seven bytes or less referenced by a name “number” ({circle around (5)} in the definition statements); and a variable character string type element of 20 bytes or less referenced by a name “description” ({circle around (6)} in the definition statements).
An example of definition statements for a user defined function is shown in the following:
create function Northness-equal (point, point) returns
Boolean
with selfunc=selectivity_comp
external name ‘/usr/Northness_equal’
language C;  {circle around (7)}
This description provides definition statements for a user defined function Northness_equal( ). {circle around (7)} in the definition statements indicates that the user defined function Northness_equal( ) is associated with an external function labelled /usr/Northness_equal described in C language. As to an external function, Reference 3 describes that good ORDBMS should be able to dynamically link a user defined function so as not to consume an address space of DBMS for nothing until the user defined function is required. Such user defined type and user defined function can be used in correspondence to ADT and ADT function described by SQL
3
, respectively.
The present inventors have found the following problems as a result of investigating DB systems utilizing the known techniques described above.
First, a conceptual diagram representing an exemplary configuration of a conventional DB system is illustrated in FIG.
1
. The illustrated DB system
100
is a system for managing documents described in SGML (Standard Generalized Markup Language). A DBMS
120
for managing the DB system
100
comprises a request reception server
130
for receiving a query
104
from a user; a plurality of execution servers
140
-
1
-
140
-n for executing database processing in accordance with instructions from the request reception server
130
; and a single dictionary server
160
for managing definition information of the system
100
, and the DBMS
120
is adapted to control general parallel DB processing. These servers are interconnected through a communication path
180
.
Assume that a definition for management of SGML document, subjected to DB processing by the DBMS
120
, is described by SQL
3
in the following manner:
CREATE TYPE sgmltext_t (
text BLOB,
. . . {circle around (8)}
FUNCTION extract ( sgmltext_t,
   VARCHAR)
. . . {circle around (9)}
RETURN BLOB
LANGUAGE C
EXTERNAL NAME ‘p_sgml_extract’;
. . . {circle around (10)}
);
CREATE TABLE reports (
published_date
DATE,
contents
sgmltext_t);
. . . {circle around (11)}
The user of this DB system
100
will issue a desired query for data in a DB described in SGML (hereinafter abbreviated as ‘SGML text’), using the ADT sgmltext_t type.
{circle around (8)} in the description statements indicates that the ADT sgmltext_t type has text of BLOB type as a component.
{circle around (11)} in the description statements represents the structure of data corresponding to report in the user's DB model using a table reports. More specifically, in correspondence to the “report” comprising “published date” and “reported contents” as its components, the table reports is defined to comprise a DATE type column published_date and an ADT sgmltext_t type column contents.
For processing a large amount of SGML documents in parallel, a record
152
-
1
in the table reports and a SGML text
154
-
1
are held in storage devices
150
-
1
-
150
-n respectively accessed by the execution servers
140
-
1
-
140
-n. For rapidly searching for “report” with a condition defined by “published date,” a column published_date of the table reports is indexed using a general indexing function provided by the execution servers.
{circle around (9)}-{circle around (10)} in the description statements define an ADT function extract( ) which is a function for extracting text data delimited by tags (
156
,
158
in
FIG. 1
) from the SGML text
154
-
1
, and requires the following two input parameters:
(1) Original SGML text from which text data is extracted; and
(2) a tag nam

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Database processing method and apparatus for processing data... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Database processing method and apparatus for processing data..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Database processing method and apparatus for processing data... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3318739

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.