JP5336827B2 - Information processing apparatus, database system, information processing method, and program - Google Patents

Information processing apparatus, database system, information processing method, and program Download PDF

Info

Publication number
JP5336827B2
JP5336827B2 JP2008303885A JP2008303885A JP5336827B2 JP 5336827 B2 JP5336827 B2 JP 5336827B2 JP 2008303885 A JP2008303885 A JP 2008303885A JP 2008303885 A JP2008303885 A JP 2008303885A JP 5336827 B2 JP5336827 B2 JP 5336827B2
Authority
JP
Japan
Prior art keywords
language
resource
client
command
information processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008303885A
Other languages
Japanese (ja)
Other versions
JP2010128861A (en
Inventor
昌弘 大川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2008303885A priority Critical patent/JP5336827B2/en
Publication of JP2010128861A publication Critical patent/JP2010128861A/en
Application granted granted Critical
Publication of JP5336827B2 publication Critical patent/JP5336827B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Document Processing Apparatus (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an information processor that is adaptable to multilanguage, a database system, and an information processing method, and program. <P>SOLUTION: The information processor includes: a client connection processing part 116 for setting a language identification value for designating a language environment of a client in a language setting part 120 for setting the language environment while identifying the language environment of the client who accesses the information processing device; a command processing part 118 which inspects script included in an access request, and determines the existence of a command that requests multilanguage processing; and a language resource processing part 126 which receives a command to allow a database to be accessed in the language environment set in the language setting part when determining that the command processing part 118 requests the multilanguage processing. <P>COPYRIGHT: (C)2010,JPO&amp;INPIT

Description

本発明は、情報処理装置を多言語対応させる技術に関し、より詳細には、情報処理装置が受領した言語種類を判断して、当該言語種類の情報を提供する情報処理装置、データベース・システム、情報処理方法およびプログラムに関する。   More particularly, the present invention relates to an information processing apparatus, a database system, and information that determine information about a language type received by the information processing apparatus and provide information on the language type. The present invention relates to a processing method and a program.

インターネットといった広域ネットワークが普及し、またブロードバンド通信も普及した現在、情報を蓄積し、配信するサーバなどの情報処理装置には、複数の言語圏からアクセスされることを想定する必要がある。このため、ウェブ・サーバなどの情報処理装置を介してコンテンツを提供しようとする者は、コンテンツ要求の言語を識別し、当該言語に翻訳されたコンテンツを検索し、検索されたコンテンツを、要求元に返す処理を行っている。   Now that wide-area networks such as the Internet are widespread and broadband communications are also widespread, it is necessary to assume that information processing devices such as servers that store and distribute information are accessed from a plurality of language zones. Therefore, a person who intends to provide content via an information processing apparatus such as a web server identifies the language of the content request, searches for the content translated into the language, and retrieves the searched content for the request source. Processing to return to.

従来、コンテンツの検索のため、情報処理装置は、コンテンツ要求の言語を判断した後、URLリダイレクトを使用して当該言語のコンテンツを管理するデータベース・サーバにリダイレクトし、翻訳されたコンテンツの検索を実行させ、検索されたコンテンツを情報処理装置に返す。情報処理装置は、データベース・サーバから受領したコンテンツを、コンテンツ要求元に返す処理を実行することで、コンテンツ要求元が使用する言語に対応するコンテンツの送付を可能とする。   Conventionally, in order to search for content, the information processing apparatus, after determining the language of the content request, redirects to the database server that manages the content in the language using URL redirection and executes the search for the translated content The retrieved content is returned to the information processing apparatus. The information processing apparatus executes a process of returning the content received from the database server to the content request source, thereby enabling the content corresponding to the language used by the content request source to be sent.

このため、従来の多言語対応では、同一のコンテンツについて、異なる言語のウェブ・ページを作成し、それぞれのウェブ・ページごとに、異なる言語で翻訳された複数の異言語コンテンツを生成し、各言語ごとに索引付けを行って、分離したデータベースを構成させる必要があった。この結果、データベース・ベンダや情報処理装置のベンダは、同一のコンテンツについて、データ内容的には重複する複数のデータベースを構成し、さらに索引付けを行うことが必要とされていた。   For this reason, in conventional multilingual support, web pages of different languages are created for the same content, and a plurality of different language contents translated in different languages are generated for each web page. It was necessary to index each and configure a separate database. As a result, database vendors and vendors of information processing apparatuses are required to configure a plurality of databases that overlap in terms of data contents and to perform indexing for the same content.

また、例えば、特定のアプリケーション・プログラムのヘルプ表示などの場合のように、時系列的に追加させない静的コンテンツについてみれば、多言語処理を実行するためそれぞれの言語に翻訳されたヘルプ・メッセージなどのリソース・ファイルを用意しておくことができる。この目的で、例えば、情報処理装置が、例えば、Java(登録商標)のResourceBundleなどの機能を実装し、ユーザが使用している言語体系に対応するリソース・ファイルを抽出し、表示させる。   Also, for example, static messages that are not added in chronological order as in the case of help display for a specific application program, etc., help messages translated into each language to execute multilingual processing Resource files can be prepared. For this purpose, for example, an information processing apparatus implements a function such as a ResourceBundle of Java (registered trademark), and extracts and displays a resource file corresponding to the language system used by the user.

一方、ウェブ・サーバなど、ネットワーク上でコンテンツを提供する情報処理装置では、近年、フォーラムやブログなど、ユーザ間またはユーザと情報処理装置との間のトランザクションに応じてコンテンツが更新される動的コンテンツの利用割合も増大している。また、インターネットの普及に伴ってウェブ・コンテンツとしてデータベースにアップロードされるコンテンツの種類や数も急激に増大している。   On the other hand, in information processing apparatuses that provide content on a network such as a web server, in recent years, dynamic contents such as forums and blogs whose contents are updated according to transactions between users or between users and information processing apparatuses The utilization ratio of is also increasing. In addition, with the spread of the Internet, the types and number of contents uploaded to a database as web contents are rapidly increasing.

このようなコンテンツに対しては予めリソース・ファイルを予測することは困難であり、より効率的な言語対応処理が必要とされる。また、ウェブ・サーバなどウェブ・サービスを前提としてはいなくとも、例えば多国籍企業で複数の言語を使用する従業員を管理する場合にも、同様に複数の言語で記述されたデータベースを再構築する必要があるので、スキーマの変更やデータの冗長度の増加およびデータ同期化の問題が生じる。   For such contents, it is difficult to predict resource files in advance, and more efficient language handling processing is required. Even if a web server or other web service is not assumed, for example, when managing employees who use multiple languages in a multinational company, the database written in multiple languages is similarly rebuilt. The need arises for schema changes, increased data redundancy, and data synchronization issues.

この理由は、従来の多言語対応処理では、英語、日本語、中国語、ドイツ語、フランス語、イタリア語などの言語ごとに同一のコンテンツを提供するため異なる言語にコンテンツを翻訳し、各言語ごとにデータベース化し、また索引付け処理を実行する必要がある。このため、情報処理装置が対応するべき言語種類が増えることは、データ冗長度の増加を伴い、またそれぞれの索引付け処理も必要とされ、さらに各データベース間のデータ同期処理も必要となる。このため、ネットワークを介して転送されるコンテンツの量の増大と相俟って、従来の多言語対応処理は、情報処理装置の処理負荷を高める原因となっていた。一方、上述したデータの冗長性を排除する目的で、同一のデータベースで、多言語の情報を管理する従来技術も存在する。   This is because the conventional multilingual processing translates content into different languages to provide the same content for each language such as English, Japanese, Chinese, German, French, Italian, etc. Need to be databased and indexed. For this reason, an increase in the number of language types that the information processing apparatus should support is accompanied by an increase in data redundancy, and each indexing process is also required, and a data synchronization process between the databases is also required. For this reason, coupled with an increase in the amount of content transferred via the network, conventional multilingual processing has been a cause of increasing the processing load on the information processing apparatus. On the other hand, there is a conventional technique for managing multilingual information in the same database in order to eliminate the above-described data redundancy.

図27には、多言語対応のために利用されている従来のデータベースのデータ構造を示す。図27に示した従来例は、多国籍企業における社員データベースのデータ構造を示しており複数の言語を、単一のデータベースで管理する場合の従来例である。図27(a)のデータ構造は、社員番号に対して英語表記「John」が与えられており、それぞれ組織コード、電話番号などの連絡先情報などが対応付けられている。   FIG. 27 shows a data structure of a conventional database used for multilingual correspondence. The conventional example shown in FIG. 27 shows the data structure of an employee database in a multinational company, and is a conventional example when a plurality of languages are managed by a single database. In the data structure of FIG. 27 (a), an English notation “John” is given to an employee number, and contact information such as an organization code and a telephone number are associated with each other.

図27(a)に示す単一のデータベースで、多言語で記述された同一情報を登録したデータ構造を、図27(b)に示す。図27(b)に示すように同一の社員番号で識別される従業員について、英語で「John」を登録するレコードおよび日本語の翻訳である「ジョン」を登録するレコードが別々に生成され、各レコードについて、言語を指定する言語識別値が、「en」または「ja」として登録されている。   FIG. 27B shows a data structure in which the same information described in multiple languages is registered in the single database shown in FIG. As shown in FIG. 27B, for the employees identified by the same employee number, a record for registering “John” in English and a record for registering “John”, which is a translation in Japanese, are generated separately. For each record, the language identification value that specifies the language is registered as “en” or “ja”.

図27(b)で示すように、従業員を識別するため、図27(a)でプライマリー・キーとして使用していた社員番号では、レコードを固有に識別することができなくなっていることがわかる。このため、同一のデータベースで複数の言語に対応する同一コンテンツを参照させるためには、図27(b)に示した従来例では、プライマリー・キーを、{社員番号+言語}に拡張しなければならないことがわかる。この結果、このテーブルをアクセスするアプリケーションの修正が必要となる。また、アプリケーションが望む言語のデータがない場合、どうするかといった処理も実装する必要があり、データベースの設計コストの他にアプリケーションの設計・開発・メンテナンスコストも増大する。   As shown in FIG. 27 (b), the employee number used as the primary key in FIG. 27 (a) to identify the employee can no longer uniquely identify the record. . For this reason, in order to refer to the same content corresponding to a plurality of languages in the same database, in the conventional example shown in FIG. 27B, the primary key must be expanded to {employee number + language}. I understand that it doesn't become. As a result, the application that accesses this table needs to be corrected. In addition, when there is no data in the language desired by the application, it is necessary to implement processing such as what to do, which increases the design / development / maintenance cost of the application in addition to the design cost of the database.

加えて、データベースを単一にしたにも関わらず、同一コンテンツを登録するレコード数は対応するべき言語の分増加し、結局の所、複数のデータベースを形成する場合と大差ない冗長性を与えることになる。そして、索引付けやSQLなどの検索文も、検索要求やコンテンツ要求の言語に対応して行わなければならないという処理オーバーヘッドの増大も伴うことになる。さらに検索アプリケーションまたはウェブ・アプリケーション側で、対応する言語の登録がされていなかった場合にどのように対応するかについて、データベースとは独立して対応処理を実装させておく必要があった。   In addition, despite the use of a single database, the number of records that register the same content is increased by the number of languages to be supported, and in the end, it gives redundancy that is not much different from when multiple databases are formed. become. In addition, search sentences such as indexing and SQL are also accompanied by an increase in processing overhead that must be performed in accordance with the language of the search request or content request. Furthermore, it has been necessary to implement a corresponding process independently of the database as to how the search application or the web application will respond when the corresponding language is not registered.

また、図27(c)で示すように、データの冗長性を排除するため、多言語で記述されるフィールドを、社員番号といったプライマリー・キーで紐付けした別のテーブルで管理することも行われている。この場合でも、結局の所、テーブルが複数化すること、各テーブルをプライマリー・キーを使用してジョインさせる必要があるため、データベースの設計コスト、アプリケーションの設計・開発・メンテナンスコストが増大する点では、図27(b)について説明した従来例と同様である。   Further, as shown in FIG. 27C, in order to eliminate data redundancy, a field described in multiple languages may be managed by another table linked with a primary key such as an employee number. ing. Even in this case, after all, it is necessary to join multiple tables and join each table using the primary key, which increases the database design cost and application design / development / maintenance cost. This is the same as the conventional example described with reference to FIG.

これまで、各国の言語に対応する言語サービスを提供する技術が提案されており、例えば、特開2003−44474号公報(特許文献1)では、特定のクライアントおよびユーザ情報に関連付けられた言語情報を保存する動的な翻訳サービスの利用を通じてコンテンツ部の動的な言語翻訳を提供するため、動的な翻訳サービスはクライアントおよびユーザ情報に基づいて言語を確定し、コンテンツ部のコンテンツ要素を含むコンテンツ部のスケルトンを確定し、各スケルトンコンテンツ要素の保存された翻訳テーブルを利用するか、または各スケルトンコンテンツ要素の動的な自然言語翻訳を利用して、スケルトンコンテンツ要素がクライアントおよびユーザ情報に基づいて確定された言語に翻訳される。翻訳されたスケルトンコンテンツ要素は続いてコンテンツ部に統合するシステムが記載されている。   Until now, a technology for providing a language service corresponding to the language of each country has been proposed. For example, in Japanese Patent Laid-Open No. 2003-44474 (Patent Document 1), language information associated with a specific client and user information is changed. In order to provide dynamic language translation of a content part through the use of a dynamic translation service to be stored, the dynamic translation service determines a language based on client and user information and includes a content part of the content part. Skeleton content elements are determined based on client and user information using either a stored translation table for each skeleton content element or a dynamic natural language translation of each skeleton content element Translated into the selected language. A system is described in which translated skeleton content elements are subsequently integrated into the content portion.

特許文献1は、クライアントの言語環境を識別し、クライアントの言語環境に対応した言語に翻訳し、コンテンツに統合する点を開示するが、翻訳されたコンテンツをどのように管理し、またコンテンツの追加、修正に対応して翻訳語間の同期を行うかについては開示するものではない。   Patent Document 1 discloses that a client language environment is identified, translated into a language corresponding to the client language environment, and integrated into the content. However, how the translated content is managed and content is added. It is not disclosed whether to synchronize between translated words in response to the correction.

また、特開平5−242139号公報(特許文献2)では、表示出力したいメッセージからなる組みをカテゴリ別と表示する国語の数だけ格納させ、サブコマンドの起動に伴ってメッセージのカテゴリ指定と出力したいメッセージの国語指定を参照すると共に、辞書を参照して記憶手段上に指定の国語のメッセージデータベースを生成する表示制御システムを開示する。特許文献2は、データベースを使用するアプリケーション側で、言語の翻訳を実行する点について開示するものの、各国語に対応したコンテンツを如何にして管理するかについて何ら開示するものではなく、各国語でのコンテンツの同期を効率化し、かつデータ冗長性を改善しながら効率的な各国言語対応を可能とするものではない。
特開2003−44474号公報 特開平5−242139号公報
In Japanese Patent Laid-Open No. 5-242139 (Patent Document 2), a set of messages to be displayed and output is stored for each category and the number of national languages to be displayed, and the category designation of the message is output as the subcommand is activated. Disclosed is a display control system that refers to the national language designation of a message and generates a message database of the designated national language on a storage means by referring to a dictionary. Patent document 2 discloses the point of executing language translation on the application side that uses the database, but does not disclose how to manage the content corresponding to each language. It does not enable efficient national language support while streamlining content synchronization and improving data redundancy.
JP 2003-44474 A JP-A-5-242139

上述したように、これまで、対応するべき言語種類が増大しても、データベースの主要なスキーマの変更を伴うことなく、データレコードの冗長性を排除し、データ同期化などのメンテナンス性を向上させ、さらに対応言語なしの処理を、より上位のアプリケーションとは独立して対応することができる、情報処理装置、データベース・システム、情報処理方法およびプログラムが必要とされていた。   As mentioned above, up to now, even if the number of language types to be supported increases, it eliminates data record redundancy and improves maintainability such as data synchronization without changing the main schema of the database. Furthermore, an information processing apparatus, a database system, an information processing method, and a program capable of handling a process without a corresponding language independently of a higher-level application are required.

上述した従来技術は、同一のコンテンツであるにも関わらず、言語の異なる異言語コンテンツを登録するため、独立したレコードを生成し、単一または分離したデータベースに登録する技術思想を採用することに起因する問題点である。上記従来技術の問題点は、本発明に従い、複数の言語に対応する複数のテーブルやレコードを用意することなく、複数の言語を単一のデータベース上で管理することが可能な情報処理装置、データベース・システム、情報処理方法およびプログラムを提供することにより解決される。   In order to register different language contents with different languages even though they are the same contents, the above-described conventional technique adopts a technical idea of generating independent records and registering them in a single or separate database. This is a problem. According to the present invention, the above-described problems of the prior art are an information processing apparatus and database capable of managing a plurality of languages on a single database without preparing a plurality of tables and records corresponding to the plurality of languages. It is solved by providing a system, an information processing method and a program.

本発明では、上記目的を達成するために、情報処理装置を、情報処理装置にアクセスするクライアントの言語環境を識別し、言語環境を設定する言語設定部に、クライアントの言語環境を指定する言語識別値を設定するクライアント接続処理部を含んで構成する。   In the present invention, in order to achieve the above object, the information processing apparatus identifies the language environment of the client accessing the information processing apparatus, and specifies the language environment of the client in the language setting unit that sets the language environment. A client connection processing unit for setting a value is included.

情報処理装置110は、クライアントからの接続を受け付けるクライアント接続処理部と、SQL文などのコマンドを受け付けるコマンド処理部と、コマンドが処理する言語環境の変更を要求する場合にその処理を行うレジスタ処理部と、コマンドがテーブルの作成などの操作やテーブルに対するデータの挿入・更新・削除・照会を行う要求の場合にその処理を行うテーブル処理部と、複数のテーブルのカラムから複数言語の値が管理されたリソース・テーブルにアクセスすることができ、コマンドがそのリソース・テーブルに対する操作を要求した場合にその処理を行う言語リソース処理部を実装する。本特許は、既存のデータベース・システムを拡張することで実現することができ、クライアントから受け付けるその他のコマンドは、従来どおりの処理を行う。   The information processing apparatus 110 includes a client connection processing unit that receives a connection from a client, a command processing unit that receives a command such as an SQL statement, and a register processing unit that performs processing when a change of the language environment processed by the command is requested When a command is a request to perform operations such as creating a table or inserting / updating / deleting / inquiring data on a table, values in multiple languages are managed from the table processing unit that performs the processing and columns of multiple tables. Implements a language resource processing unit that can access the resource table and performs processing when a command requests an operation on the resource table. This patent can be realized by extending an existing database system, and other commands received from the client are processed as usual.

本発明では、複数言語の値を保存するためにテーブルのカラムのデータ・タイプとしてリソース・カラムを実装し、そのカラムを使用することで、複数言語の値を1つのカラムで管理することができる。また、複数のカラムが同一のリソースを参照できるように、リソースのみを別途管理して、それを複数のカラムから参照することもできる。リソースとは、意味付けされた複数言語の値の集合で、例えば、月の名前を複数言語で保持するものや、市の名前を複数言語で保持するものなどである。別途管理されるリソースが保持されるテーブルをリソース・テーブルと呼ぶ。この利用形態としては、社員情報テーブルの勤務地としてどの市に勤務しているかのカラムを保持させ、かつ、顧客情報テーブルの居住地としてどの市に住んでいるかのカラムを保持させた場合、各言語で市の名前を用意したリソースを定義し、両方のカラムがそのリソースを参照することができる。   In the present invention, a resource column is implemented as a data type of a table column in order to store values in multiple languages, and the values in multiple languages can be managed by one column by using the column. . Further, it is also possible to separately manage only resources so that a plurality of columns can refer to the same resource, and refer to it from the plurality of columns. A resource is a set of values in a plurality of languages that are given meanings, for example, one that holds the name of the month in multiple languages, one that holds the name of a city in multiple languages, and the like. A table holding separately managed resources is called a resource table. As this usage form, if you keep a column of which city you work as the work location of the employee information table and keep a column of which city you live as the residence of the customer information table, You can define a resource with a city name in the language, and both columns can reference that resource.

この結果、同一の値についての異なる言語で記述された値が単一のテーブルの同一カラムに登録することができ、データベースの設計コストやアプリケーションの開発・設計・メンテナンスコストの増大を抑えることができる。   As a result, values written in different languages for the same value can be registered in the same column of a single table, and the increase in database design costs and application development / design / maintenance costs can be suppressed. .

レジスタ処理部は、接続クライアントごとに各種変数を保持する。その変数として、2つの言語識別レジスタを実装する。以下、2つの言語識別レジスタを、言語識別レジスタCHARSETとデフォルト言語識別レジスタDEFAULT_CHARSETとして参照する。言語識別レジスタの値CHARSETおよびDEFAULT_CHARSETは、接続クライアントごとに保持される。言語識別レジスタの値CHARSETの値は、クライアントがデータベース・サーバに処理してほしいデフォルトの言語をセットする。クライアントがデータベースに接続すると、クライアントの言語環境がCHARSETの値として設定される。その後、変更したい場合は、クライアントからSQL本実施形態で導入する、言語変更コマンドであり、SET
CHARSET‘言語識別値’で変更することができる。
The register processing unit holds various variables for each connected client. Two language identification registers are implemented as the variables. Hereinafter, the two language identification registers are referred to as a language identification register CHARSET and a default language identification register DEFAULT_CHARSET. The language identification register values CHARSET and DEFAULT_CHARSET are maintained for each connected client. The value of the language identification register CHARSET sets the default language that the client wants the database server to process. When the client connects to the database, the client language environment is set as the value of CHARSET. After that, if you want to change, SQL is the language change command introduced from the client in this embodiment, SET
It can be changed with CHARSET 'language identification value'.

クライアントから送信されるコマンドには、本発明では、処理してほしい言語(言語識別値)を含めることができ、含まれていた場合は、その言語についての処理を行う。含まれていない場合は、CHARSETに設定されている言語についての処理を行う。したがって、各種アプリケーションは意識することなく自分の言語に合わせた処理を行うことができ、また、管理者がデータベースに接続して、各国語のデータを操作することもできる。   In the present invention, the command transmitted from the client can include the language (language identification value) that is desired to be processed, and if included, the processing for that language is performed. If it is not included, the language set in CHARSET is processed. Therefore, various applications can perform processing according to their own language without being aware of it, and an administrator can connect to a database and manipulate data in each language.

言語識別レジスタに実装されるDEFAULT_CHARSETは、要求する言語のデータが保存されていない場合に代替するための言語の値を設定するために利用する。利用形態としては2通りある。1つは、データを保存する際に、その保存する言語がDEFAULT_CHARSETに登録された値と同じであれば、デフォルト値としても保存し、参照する際、該当する言語のデータがない場合、保存されているデフォルト値を取得する方法である。例えばDEFAULT_CHARSETが英語に設定されており、英語のデータを挿入した場合、そのデータはデフォルト値としても保存される。   The DEFAULT_CHARSET implemented in the language identification register is used to set a language value for substitution when the requested language data is not saved. There are two types of usage. First, when saving data, if the language to be saved is the same as the value registered in DEFAULT_CHARSET, it is also saved as the default value. When referring, it is saved if there is no data in the corresponding language. Is a way to get the default value. For example, when DEFAULT_CHARSET is set to English and English data is inserted, the data is saved as a default value.

もう1つの方法は、データを参照する際に該当する言語のデータがない場合、言語識別レジスタに確保されたDEFAULT_CHARSETで設定されている言語のデータを取得する方法である。以下では、前者に基づいて説明する。   The other method is a method of acquiring data in the language set by DEFAULT_CHARSET secured in the language identification register when there is no data in the corresponding language when referring to the data. Below, it demonstrates based on the former.

さらに本発明では、クライアントごとに異なるクライアント言語環境を提供するので、複数のクライアントの並列的なアクセスにおいても、個別的なアクセスを可能とする。   Furthermore, in the present invention, since a different client language environment is provided for each client, individual access is possible even in parallel access by a plurality of clients.

以上の構成を採用することにより、本実施形態によれば、多言語に対応するためのコンテンツを管理するデータベースのデータ冗長性をなくし、かつスキーマを単純にしつつ、クライアントに対して言語環境を意識することなくデータベースへのアクセスを可能とする、情報処理装置、データベース・システム、情報処理方法およびプログラムが提供できる。   By adopting the above configuration, according to the present embodiment, the data environment of the database for managing the contents corresponding to multiple languages is eliminated, the schema is simplified, and the client is aware of the language environment. An information processing apparatus, a database system, an information processing method, and a program that enable access to a database without being performed can be provided.

以下、本発明について、実施形態をもって説明するが、本発明は後述する実施形態に限定されるものではない。図1は、本実施形態のデータベース・システム100の実施形態を示す。データベース・システム100は、リレーショナル・データベース(以下、RDBとして参照する。)を実装する情報処理装置110と、RDBにより作成されたテーブルを格納するテーブル格納部130と、本実施形態により多言語対応するためのデータ構造を有するテーブルとして構成された言語リソースを格納する言語リソース・テーブル格納部132とを含んで構成されている。   Hereinafter, although this invention is demonstrated with embodiment, this invention is not limited to embodiment mentioned later. FIG. 1 shows an embodiment of a database system 100 of the present embodiment. The database system 100 is multilingual compatible with the information processing apparatus 110 that implements a relational database (hereinafter referred to as RDB), a table storage unit 130 that stores a table created by the RDB, and the present embodiment. And a language resource table storage unit 132 that stores language resources configured as a table having a data structure.

情報処理装置110には、インターネット、LANなどを適宜含むネットワーク112が接続されていて、ネットワーク112を介してクライアント・コンピュータ(図示せず。以下、単にクライアントとして参照する。)からのアクセス要求を受領し、テーブルの作成、編集、検索などのサービスを提供する。なお、テーブル格納部130と、言語リソース・テーブル格納部132およびこれらに対応する後述する各処理部は、図1では機能を説明する便宜上分離した機能モジュールとして記述するものであり、単一のデータベースの機能モジュールとして統合した実装形式を採用することもできる。   The information processing apparatus 110 is connected to a network 112 including the Internet and a LAN as appropriate, and receives an access request from a client computer (not shown; hereinafter simply referred to as a client) via the network 112. And provide services such as table creation, editing, and search. Note that the table storage unit 130, the language resource / table storage unit 132, and the corresponding processing units described later are described as separate functional modules in FIG. It is also possible to adopt an integrated mounting format as the functional module.

言語リソース・テーブル格納部132は、データの各属性値などを格納するリソース情報格納部とを含んで構成される。また、言語リソース・テーブル格納部132は、リソース参照情報格納部を含んで構成されており、リソース参照情報格納部は、データベース・システム100が現時点で参照しているリソース・カラムの情報を管理し、排他制御、履歴管理などのために利用される。   The language resource table storage unit 132 includes a resource information storage unit that stores each attribute value of data. The language resource table storage unit 132 includes a resource reference information storage unit, and the resource reference information storage unit manages information on resource columns that the database system 100 currently refers to. Used for exclusive control, history management, etc.

情報処理装置110は、図1に示した実施形態では、サーバとして構成されている。情報処理装置110がサーバとして実装される場合、情報処理装置110は、CORBA(Common Object Resource Broker Architecture)などの分散コンピューティング環境を提供する専用サーバとして構成することもできるし、HTTPプロトコルを使用してファイル転送・検索などのサービスを実行するウェブ・サーバとして実装することもできる。情報処理装置110は、専用サーバとして実装する場合、専用のクライアント・ソフトウェアが提供するAPIやユーザ・インタフェースを使用して情報処理装置110にアクセスする。また、情報処理装置110がウェブ・サーバとして実装される場合には、クライアントは、Internet Explorer(登録商標)、Firefox(登録商標)、Opera(登録商標)などのウェブ・ブラウザを実装し、情報処理装置110へのアクセスを可能とする。   In the embodiment shown in FIG. 1, the information processing apparatus 110 is configured as a server. When the information processing apparatus 110 is implemented as a server, the information processing apparatus 110 can be configured as a dedicated server that provides a distributed computing environment such as CORBA (Common Object Resource Broker Architecture), or uses the HTTP protocol. It can also be implemented as a web server that executes services such as file transfer and search. When implemented as a dedicated server, the information processing apparatus 110 accesses the information processing apparatus 110 using an API or a user interface provided by dedicated client software. When the information processing apparatus 110 is implemented as a web server, the client implements a web browser such as Internet Explorer (registered trademark), Firefox (registered trademark), Opera (registered trademark), and performs information processing. Allows access to device 110.

また、情報処理装置110のデータベース処理モジュールにアクセする目的で、クライアントは、JDBC(Java(登録商標)Database
Connectivity)やODBC(Open Database Connectivity)などのAPIを、アプリケーション・レベルでのアクセス・プロトコルとして実装する。クライアントは、情報処理装置110のデータベース・アプリケーションにアクセスする場合、これらのAPIを使用して情報処理装置110に対するデータベース・アクセスが可能とされている。
In addition, for the purpose of accessing the database processing module of the information processing apparatus 110, the client uses JDBC (Java (registered trademark) Database).
Implement APIs such as Connectivity and ODBC (Open Database Connectivity) as access protocols at the application level. When a client accesses a database application of the information processing apparatus 110, the client can access the information processing apparatus 110 using these APIs.

なお、情報処理装置110には、ローカルのキーボード、マウス、ディスプレイ装置などが、USB、XGAなどのバスを介して接続されていて、情報処理装置110の管理者などが、情報処理装置110にローカルにアクセスすることができる構成とされていてもよい。   Note that a local keyboard, mouse, display device, and the like are connected to the information processing apparatus 110 via a bus such as USB and XGA, and an administrator of the information processing apparatus 110 is locally connected to the information processing apparatus 110. It may be configured such that it can be accessed.

上述した情報処理装置110は、PENTIUM(登録商標)、XEON(登録商標)、CELERON(登録商標)、ATHRON(登録商標)、その他のPENTIUM(登録商標)互換チップといったCISCアーキテクチャのマイクロプロセッサ、または、POWER PC(登録商標)などのRISCアーキテクチャのプロセッサを、シングルコアまたはマルチコアの形式で実装することができる。   The information processing apparatus 110 described above may be a CISC architecture microprocessor such as PENTIUM (registered trademark), XEON (registered trademark), CELERON (registered trademark), ATHRON (registered trademark), other PENTIUM (registered trademark) compatible chips, or RISC architecture processors such as POWER PC (R) can be implemented in single-core or multi-core form.

また、情報処理装置110は、WINDOWS(登録商標)200X、UNIX(登録商標)、LINUX(登録商標)などのオペレーティング・システムにより制御され、C、C++、JAVA(登録商標)、JAVA(登録商標)BEANS、PERL、RUBYなどのプログラミング言語を実装し、各種プログラムをRAMなどの実行空間に読み込んでプロセッサがプログラムを実行させることによって、より詳細には後述する各機能部を、情報処理装置110上に実現する。なお、クライアントは、パーソナルコンピュータ、ワークステーション、PDA、携帯電話などから構成され、適切なOSの下で、情報処理装置110にアクセスし、検索や新規テーブルの作成などを行う。   In addition, the information processing apparatus 110 is controlled by an operating system such as WINDOWS (registered trademark) 200X, UNIX (registered trademark), LINUX (registered trademark), or the like, and includes C, C ++, JAVA (registered trademark), and JAVA (registered trademark). Implementing programming languages such as BEANS, PERL, RUBY, etc., loading various programs into an execution space such as a RAM, and causing the processor to execute the programs. Realize. The client is composed of a personal computer, a workstation, a PDA, a mobile phone, and the like, and accesses the information processing apparatus 110 under an appropriate OS to perform search, create a new table, and the like.

以下、情報処理装置110の各機能部について説明する。情報処理装置110の各処理部は、情報処理装置110が、本実施形態のプログラムおよび従来のデータベース・アプリケーションを、RAMなどの実行空間内に読み込んで展開し、プロセッサがプログラムを実行することにより、情報処理装置110を、各処理部として機能する機能手段として実現させている。   Hereinafter, each functional unit of the information processing apparatus 110 will be described. Each processing unit of the information processing apparatus 110 is configured such that the information processing apparatus 110 reads and expands the program of the present embodiment and the conventional database application into an execution space such as a RAM, and the processor executes the program. The information processing apparatus 110 is realized as a functional unit that functions as each processing unit.

情報処理装置110は、ネットワーク・アダプタ114と、クライアント接続処理部116と、コマンド処理部118とを含んで実装される。ネットワーク・アダプタ114は、ネットワーク112を介して送付されるRDBへのアクセス要求を受領し、より上位プロトコルを使用する各機能部へとアクセス要求の内容を渡している。なお、本実施形態において、アクセス要求には、RDBに対するテーブル作成、編集の要求の他、RDBを検索する要求を含む。クライアント接続処理部116は、本実施形態において、クライアントが使用する言語環境を判断し、アクセス要求に対応した処理を実行させる。クライアント接続処理部116は、この目的で言語設定部120を実装する。言語設定部120は、より詳細には、レジスタ処理部120aと、言語識別レジスタ120bとを管理する。レジスタ処理部120aは、言語設定部120が管理するメモリ領域を編集する機能を有しており、クライアントに対応して、言語識別レジスタ120bに対し現在の言語設定を設定する。   The information processing apparatus 110 includes a network adapter 114, a client connection processing unit 116, and a command processing unit 118. The network adapter 114 receives an access request to the RDB sent via the network 112 and passes the content of the access request to each function unit that uses a higher-level protocol. In the present embodiment, the access request includes a request for searching the RDB in addition to a table creation / editing request for the RDB. In this embodiment, the client connection processing unit 116 determines the language environment used by the client, and executes processing corresponding to the access request. The client connection processing unit 116 implements the language setting unit 120 for this purpose. More specifically, the language setting unit 120 manages the register processing unit 120a and the language identification register 120b. The register processing unit 120a has a function of editing a memory area managed by the language setting unit 120, and sets the current language setting to the language identification register 120b corresponding to the client.

クライアント接続処理部116は、クライアントがデータベースに接続すると、クライアントから送信されるクライアントが使用している言語情報(以下、言語識別値として参照する。)を、レジスタ処理部120aが管理している言語識別レジスタ120bのうち、言語識別レジスタのCHARSETの値に設定するようにレジスタ処理部120aに依頼する。レジスタ処理部120aは、クライアントが使用している言語を言語識別レジスタ120bの言語識別レジスタの値としてCHARSETに設定する。言語識別レジスタ120bには、デフォルト言語識別レジスタの値としてDEFAULT_CHARSETも登録されており、DEFAULT_CHARSETの値は、英語にするなど、予め決められた値を設定しておくことができる。DEFAULT_CHARSETのデフォルト値については、特定の用途に対応して適宜設定することができる。   When the client connects to the database, the client connection processing unit 116 uses the language information (hereinafter referred to as a language identification value) used by the client transmitted from the client to be managed by the register processing unit 120a. In the identification register 120b, the register processing unit 120a is requested to set the value of CHARSET in the language identification register. The register processing unit 120a sets the language used by the client to CHARSET as the value of the language identification register of the language identification register 120b. In the language identification register 120b, DEFAULT_CHARSET is also registered as the value of the default language identification register, and a predetermined value such as English can be set as the value of DEFAULT_CHARSET. The default value of DEFAULT_CHARSET can be set as appropriate for a specific application.

クライアントがデータベースに接続すると、クライアントはコマンドを発行することができる。コマンドは、本実施形態では、SQL文として構成されている。コマンド処理部118は、クライアントから発行されるコマンドを受け付け、コマンドの種類に応じて、処理を担当する処理部に処理を依頼する。   When the client connects to the database, the client can issue commands. In this embodiment, the command is configured as an SQL statement. The command processing unit 118 receives a command issued from the client, and requests the processing unit in charge of processing according to the type of command.

コマンドには、処理してほしい言語を言語識別値として含めることができ、処理を要求する言語の言語識別値が含まれている場合、情報処理装置110は、指定された言語についての処理を行う。また、処理を指定する言語識別値が含まれていない場合、言語識別レジスタ120bのCHARSETの値を言語識別値として、その言語についての処理を行う。   The command can include the language to be processed as a language identification value. When the language identification value of the language for which processing is requested is included, the information processing apparatus 110 performs processing for the specified language. . If the language identification value for specifying the process is not included, the CHARSET value of the language identification register 120b is used as the language identification value, and the process for the language is performed.

言語識別レジスタ120bは、情報処理装置110が管理するメモリ領域に確保されており、言語環境を識別するための機能を提供する。言語識別レジスタ120bは、種々の実装形式で情報処理装置110に構成することができるが、例えば、リレーショナル・レータベースとしてDB2(DB2は、インターナショナル・ビジネスマシーンズ・コーポレーションの登録商標である。)の場合には、特殊レジスタと呼ばれる変数群にこの値を表す変数を割り当てて実装することができる。   The language identification register 120b is secured in a memory area managed by the information processing apparatus 110, and provides a function for identifying a language environment. The language identification register 120b can be configured in the information processing apparatus 110 in various mounting formats. For example, in the case of DB2 (DB2 is a registered trademark of International Business Machines Corporation) as a relational translator base. Can be implemented by assigning a variable representing this value to a variable group called a special register.

言語識別レジスタ120bは、本実施形態の言語設定部として機能し、例えばクライアントまたはシステム管理者からの要求に対応して、「SET DEFAULT_CHARSET ‘fr’」などのコマンドにより適宜設定を変更することができる。   The language identification register 120b functions as a language setting unit of the present embodiment, and can appropriately change the setting by a command such as “SET DEFAULT_CHARSET 'fr'” in response to a request from a client or a system administrator, for example. .

なお、データベースに接続するクライアントは、データベースに接続時、クライアントが使用する言語識別値を送付するが、これはクライアントが使用するオペレーティング・システムなどから言語情報を取得し、その言語情報と下記表1の言語識別値との対応関係を適切な不揮発性メモリに保存しておき、該当する言語識別値をデータベースに送付する。あるいは、クライアントが言語情報をサーバに送付し、サーバ側でその言語情報と下記表1の言語識別値との対応関係を適切な不揮発性メモリに保存しておき、該当する言語識別値を取得してもよい。   The client connected to the database sends the language identification value used by the client when connecting to the database. This is because the language information is obtained from the operating system used by the client, and the language information and Table 1 below are obtained. The correspondence relationship with the language identification value is stored in an appropriate non-volatile memory, and the corresponding language identification value is sent to the database. Alternatively, the client sends the language information to the server, and the server stores the correspondence between the language information and the language identification value in Table 1 below in an appropriate non-volatile memory, and acquires the corresponding language identification value. May be.

Figure 0005336827
Figure 0005336827

コマンド処理部118は、受信したコマンドを解析し、コマンドの種類に応じて、テーブル処理部124または言語リソース処理部126に処理を依頼する。例えば、本実施形態で、受領したSQLコマンドが言語を指定するコマンドであるSET CHARSET文を含んでいれば、言語設定部120に、SET文の引数とされた言語識別値を、CHARSETに登録するように依頼する。一方、コマンドがテーブルに対する操作を指令する場合、テーブル処理部124に処理を依頼する。さらに、コマンドがリソース・テーブルに対する操作であれば、言語リソース処理部126に処理を依頼する。   The command processing unit 118 analyzes the received command and requests the table processing unit 124 or the language resource processing unit 126 to perform processing according to the type of command. For example, in this embodiment, if the received SQL command includes a SET CHARSET statement that is a command for specifying a language, the language identification value that is an argument of the SET statement is registered in the language setting unit 120 in the CHARSET. To ask. On the other hand, when the command instructs an operation on the table, the table processing unit 124 is requested to perform the process. Further, if the command is an operation on the resource table, the language resource processing unit 126 is requested to perform processing.

レジスタ処理部120aは、接続クライアントごとに保持される各種変数を管理し、クライアントから「SET レジスタ名 値」文を受信すると、言語識別レジスタ120bの指定されたレジスタ名の値を指定された値に変更する。   When the register processing unit 120a manages various variables held for each connected client and receives a “SET register name value” statement from the client, the register processing unit 120a changes the value of the specified register name in the language identification register 120b to the specified value. change.

テーブル処理部124は、クライアントからテーブルの作成・変更・除去コマンドやテーブルに対するデータの挿入・更新・削除・照会コマンドなどを受け付ける。テーブル処理部124は、本実施形態で実装された機能が使用できるようにする拡張コマンドを実装する。より詳細には、テーブル処理部124は、テーブル作成・更新・除去部124aと、データ挿入部124cと、データ更新部124bと、データ削除部124dとを含んで構成することができる。また、テーブル処理部124は、データ照会部124eを含んで実装されており、テーブル格納部130に格納された本実施形態のリソース・カラムを含むテーブルの検索を可能とする。照会についても、本実施形態では、SQL文のSELECTコマンドを適用することによって行なうことができる。   The table processing unit 124 accepts a table creation / change / removal command, a data insertion / update / deletion / query command, and the like from the client. The table processing unit 124 implements an extension command that enables the functions implemented in the present embodiment to be used. More specifically, the table processing unit 124 can include a table creation / update / removal unit 124a, a data insertion unit 124c, a data update unit 124b, and a data deletion unit 124d. The table processing unit 124 is implemented including a data inquiry unit 124e, and enables a table including the resource column of the present embodiment stored in the table storage unit 130 to be searched. Inquiries can also be made by applying a SELECT command of an SQL statement in this embodiment.

テーブル処理部124は、各処理部を呼び出して、本実施形態で実装されるリソース・カラムやリソース・テーブルのデータを修正し、テーブル処理部124が実行するデータ編集処理およびデータ照会処理は、リソース・カラムやリソース・テーブルを対象とする編集、照会処理を可能とすることを除き、従来の機能を使用して実装することができる。   The table processing unit 124 calls each processing unit, corrects the data in the resource column and resource table implemented in the present embodiment, and the data editing process and the data query process executed by the table processing unit 124 -It can be implemented using conventional functions, except that it allows editing and query processing for columns and resource tables.

当該拡張コマンドでは、例えば、テーブルの作成コマンドに、そのカラムとして、本実施形態で実装されたリソース・カラムを指定するコードを含ませて実装することができ、それぞれの処理は、リソース・カラムに記述された多言語データについてテーブル作成・更新・除去およびデータ照会を実行する。リソース・カラムとは、本実施形態で実装される、多言語表記されたデータを含むカラムを意味する。リソース・カラムにより、複数言語の値が管理される。本実施形態では、XMLを使用して複数言語の値を管理しており、DOMまたはSAXなどを含んで実装されるXMLパーザなどを含むことができる。構造化言語としてのXMLの使用は、特定の実施形態であり、構造化文書は、どのような形態で管理されてもよい。   In the extended command, for example, the table creation command can be implemented by including the code that specifies the resource column implemented in the present embodiment as the column, and each process is performed in the resource column. Perform table creation / update / removal and data query on the described multilingual data. The resource column means a column including data expressed in multiple languages, which is implemented in the present embodiment. Resource columns manage values in multiple languages. In the present embodiment, values in a plurality of languages are managed using XML, and an XML parser implemented including DOM or SAX can be included. The use of XML as a structured language is a specific embodiment, and structured documents may be managed in any form.

言語リソース処理部126は、クライアントから本特許で実装されたリソース・テーブルの作成・除去コマンドや、リソース・テーブルに対するデータの挿入・更新・削除コマンドなどを受け付ける。言語リソース処理部126は、この目的のため、より詳細には、リソース・テーブル作成・除去部126aと、リソース・データ挿入部126cと、リソース・データ更新部126bと、リソース・データ削除部126dとを含んで構成することができる。   The language resource processing unit 126 receives, from a client, a resource table creation / removal command implemented in this patent, a data insertion / update / deletion command for the resource table, and the like. For this purpose, the language resource processing unit 126, in more detail, includes a resource table creation / removal unit 126a, a resource / data insertion unit 126c, a resource / data update unit 126b, and a resource / data deletion unit 126d. Can be configured.

テーブル作成・変更・除去部126aは、リソース・カラムを保持するテーブルの作成や、リソース・カラムをテーブルに追加する処理を実行する。データ挿入部126c、データ更新部126b、データ削除部126dは、それぞれ、リソース・カラムに複数言語へのデータの挿入、データの更新、データの削除を実行する。   The table creation / modification / removal unit 126a executes processing for creating a table that holds resource columns and adding a resource column to the table. The data insertion unit 126c, the data update unit 126b, and the data deletion unit 126d respectively execute data insertion, data update, and data deletion in a plurality of languages in the resource column.

より詳細に各処理部の機能を説明すると、リソース・テーブル作成・除去部126aは、リソース・カラムとは独立して、複数言語の値を保持するためのリソース・テーブルを作成したり、除去することができる。このリソース・テーブルは、リソース・カラムから参照することができる。リソース・テーブルは、それぞれカテゴリ名で識別することができ、リソース・カラムの定義ではカテゴリ名を指定することができ、それによりリソース・カラムとリソース・テーブルを関連付けされている。   The function of each processing unit will be described in more detail. The resource table creation / removal unit 126a creates or removes a resource table for holding values in multiple languages independently of the resource column. be able to. This resource table can be referenced from the resource column. Each resource table can be identified by a category name, and the category name can be specified in the definition of the resource column, thereby associating the resource column with the resource table.

データ挿入部126cは、より具体的には、リソース・カラムにある言語の値を挿入する処理を実行する。この時に追加されたデータの言語識別値が言語識別レジスタDEFAULT_CHARSETと同じ場合、デフォルトの値としてもそのデータが格納される。また、データ更新部126bは、リソース・カラムにある言語の値を挿入・変更・削除する処理などを行う。この時追加したデータの言語識別値が言語識別レジスタDEFAULT_CHARSETと同じ場合、デフォルトの値も同様に処理される。   More specifically, the data insertion unit 126c executes a process of inserting a language value in the resource column. If the language identification value of the data added at this time is the same as the language identification register DEFAULT_CHARSET, the data is also stored as a default value. In addition, the data update unit 126b performs processing for inserting, changing, and deleting a language value in the resource column. If the language identification value of the added data is the same as the language identification register DEFAULT_CHARSET, the default value is processed in the same way.

データ削除部126dは、リソース・カラムのデータを含めたレコードを削除する処理を行う。リソース・データ挿入部は、挿入するべきデータを、リソース・テーブルの適切な領域に追加する処理を実行させる。この時追加したデータの言語識別値が言語識別レジスタDEFAULT_CHARSETと同じ場合、デフォルトの値としてもそのデータが格納される。   The data deletion unit 126d performs processing for deleting a record including the data in the resource column. The resource data insertion unit executes processing for adding data to be inserted to an appropriate area of the resource table. If the language identification value of the added data is the same as the language identification register DEFAULT_CHARSET, the data is stored as a default value.

また、図1には、レジスタ処理部120aが設定する言語識別レジスタ120bのデータ構造140を示す。言語識別レジスタ120bには、クライアントが要求する言語の値がない場合に使用するデフォルトの言語を指定する言語識別値を設定する、デフォルト言語識別レジスタのためのアドレス領域142と、クライアントが要求するデフォルトの言語識別値を登録する言語識別レジスタのためのアドレス領域144とを含んで構成される。   FIG. 1 shows a data structure 140 of the language identification register 120b set by the register processing unit 120a. In the language identification register 120b, an address area 142 for a default language identification register for setting a language identification value for specifying a default language to be used when there is no language value requested by the client, and a default requested by the client. And an address area 144 for a language identification register for registering the language identification value.

特定の実施形態では、アドレス領域142は、デフォルト言語識別レジスタとして、値DEFAULT_CHARSETを登録するものとして参照され、情報処理装置110がデフォルト設定で使用する言語が、情報処理装置110の起動時の初期設定などで設定される。なお、本実施形態では、例えば管理者からの指令に基づいて、デフォルト設定の言語も変更することができる。また、アドレス領域144は、言語識別レジスタとして、値CHARSETを登録するものとして参照され、接続クライアントのオペレーティング・システムの言語が初期設定さる。これらの言語識別レジスタは、接続クライアント毎に保持され、接続クライアントからSET文を指令することで変更することができ、切断すると解放される。   In a specific embodiment, the address area 142 is referred to as registering the value DEFAULT_CHARSET as the default language identification register, and the language used by the information processing apparatus 110 in the default setting is the initial setting when the information processing apparatus 110 is started up. Etc. are set. In the present embodiment, the default language can also be changed based on, for example, a command from the administrator. The address area 144 is referred to as a language identification register for registering the value CHARSET, and the language of the operating system of the connected client is initialized. These language identification registers are held for each connected client, can be changed by issuing a SET statement from the connected client, and are released when disconnected.

各コマンドには言語識別値を含めることができ、コマンドに言語識別値が指定されていた場合、そのコマンドの処理は、指定された言語識別値の言語環境で処理される。指定さなかった場合、CHARSETの言語環境で処理される。CHARSETの値は、クライアントからの明示的な言語設定のコマンド“SET CHARSET‘CHARSET名’”で変更することができる。   Each command can include a language identification value. When a language identification value is specified in the command, processing of the command is processed in the language environment of the specified language identification value. If not specified, it is processed in the language environment of CHARSET. The value of CHARSET can be changed by an explicit language setting command “SET CHARSET‘ CHARSET name ’” from the client.

リソース・データ更新部126bは、リソース・テーブルに、すでに登録されたデータを更新する処理を実行させ、リソース・データ削除部126dは、リソース・テーブルに登録されたデータを削除する処理を実行させる。リソース・テーブルとは、本実施形態の多言語リソース・データを格納するテーブル構造を意味し、複数のリソース・カラムから参照することができる。リソース・カラムは、特定のテーブルのカラムとして他の属性を有するカラムとともにテーブルとして構成することができ、リソース・テーブルを参照することもできるし、他の実施形態では、リソース・カラムに本実施形態の多言語リソース・データを格納することもできる。   The resource data update unit 126b causes the resource table to execute processing for updating data already registered, and the resource data deletion unit 126d causes the data table registered in the resource table to be deleted. The resource table means a table structure for storing multilingual resource data according to this embodiment, and can be referenced from a plurality of resource columns. The resource column can be configured as a table together with a column having other attributes as a column of a specific table, and the resource table can be referred to. In other embodiments, the resource column can be referred to as the resource column. Multilingual resource data can also be stored.

テーブル処理部124で処理されたリソース・カラムの定義(カテゴリ名などの定義情報)や、そのデータは、テーブル格納部130に格納され、テーブル処理部124からアクセスされる。   The resource column definition (definition information such as category name) processed by the table processing unit 124 and its data are stored in the table storage unit 130 and accessed from the table processing unit 124.

言語リソース処理部126で処理されたリソース・テーブルの定義(カテゴリ名などの定義情報)や、そのデータは、リソース情報格納部132で格納され、言語リソース処理部126からアクセスされる。テーブル処理部124でカテゴリ名付きのリソース・カラムを処理する場合、各言語の値は、リソース情報格納部の、そのカテゴリのリソース・テーブルに格納されるので、テーブル処理部124からもアクセス可能とされている。   The resource table definition processed by the language resource processing unit 126 (definition information such as category name) and its data are stored in the resource information storage unit 132 and accessed from the language resource processing unit 126. When the resource column with a category name is processed in the table processing unit 124, the value of each language is stored in the resource table of the category in the resource information storage unit, so that it can also be accessed from the table processing unit 124. Has been.

言語リソース・テーブル格納部132のリソース参照情報格納部は、どのテーブルのどのカラムがどのカテゴリのリソース・テーブルを使用しているかが格納されており、テーブル処理部で、テーブルの作成・変更・除去を行った際、カテゴリ名付きのリソース・カラムが定義されていたら、その情報に基づき、リソース参照情報格納部の情報が更新される。その他、図に示す情報処理装置100には、その他のSQLコマンドに関連する既存のRDB処理を実行するための他処理部128が設けられている。   The resource reference information storage unit of the language resource table storage unit 132 stores which column of which table uses which category of resource table, and the table processing unit creates, changes, and removes the table. If a resource column with a category name is defined at the time, the information in the resource reference information storage unit is updated based on the information. In addition, the information processing apparatus 100 shown in the figure is provided with another processing unit 128 for executing existing RDB processing related to other SQL commands.

図2は、クライアントが本実施形態の情報処理装置110に接続してから接続を切断するまでのシーケンスの実施形態を示す。情報処理装置110は、その起動と同時にコマンド「db_start」210などを発行してRDBを起動し、RDBの終了コマンド220を受領して情報処理装置110のRDB処理が終了するまでクライアントからのアクセス要求を処理する。例えば、クライアント1が情報処理装置110が管理するデータベースに接続すると、クライアント1から接続時に送信される言語識別値を言語識別レジスタの値CHARSETに設定する。デフォルト言語識別レジスタの値DEFAULT_CHARSETは、予め設定された値、例えば英語などが設定されている。これらのレジスタは、接続クライアントごとに保持されて、クライアントごとの言語環境を提供する。   FIG. 2 shows an embodiment of a sequence from when the client connects to the information processing apparatus 110 according to this embodiment to when the connection is disconnected. The information processing apparatus 110 issues a command “db_start” 210 or the like at the same time as the activation thereof, activates the RDB, receives an RDB end command 220, and receives an access request from the client until the RDB processing of the information processing apparatus 110 is completed. Process. For example, when the client 1 connects to a database managed by the information processing apparatus 110, the language identification value transmitted from the client 1 at the time of connection is set to the value CHARSET of the language identification register. The default language identification register value DEFAULT_CHARSET is set to a preset value, for example, English. These registers are maintained for each connected client and provide a language environment for each client.

情報処理装置110は、クライアント1からのアクセス要求を処理しながら、さらにクライアント2からの接続要求およびコマンド(SQL文)240を受け付ける。コマンドがSET文を含む場合、レジスタ処理部120aに処理を依頼し、処理終了後、処理結果をクライアント240に返し、次のコマンドを受け付ける。同様の接続処理およびコマンド要求が、クライアント3およびクライアント4から行われ、情報処理装置110は、各クライアントごとにその処理に対応するサービスを実行させている。   The information processing apparatus 110 receives a connection request and a command (SQL sentence) 240 from the client 2 while processing an access request from the client 1. When the command includes a SET statement, the register processing unit 120a is requested to perform the processing. After the processing is completed, the processing result is returned to the client 240 and the next command is accepted. Similar connection processing and command requests are performed from the client 3 and the client 4, and the information processing apparatus 110 executes a service corresponding to the processing for each client.

コマンド230〜260がテーブルに対する操作であれば、テーブル処理部124に処理を依頼し、処理終了後、処理結果をクライアントに返し、次のコマンドを受け付ける。さらに、コマンドがリソース・テーブルに対する操作であれば、言語リソース処理部に処理を依頼し、処理終了後、処理結果をクライアントに返し、次のコマンドを受け付ける。クライアントから受領するコマンドが切断であれば、クライアントとの接続情報を破棄し、クライアントに処理を返した後、当該クライアントとの間のセッションを終了させる。また、本実施形態で採用するコマンド以外の既存のコマンドを受領した場合、従来どおりの処理を行い、処理終了後、処理結果をクライアントに返し、次のコマンドを受け付ける。   If the commands 230 to 260 are operations on the table, the table processing unit 124 is requested to perform the processing. After the processing is completed, the processing result is returned to the client, and the next command is accepted. Further, if the command is an operation on the resource table, the language resource processing unit is requested to perform processing, and after the processing is completed, the processing result is returned to the client and the next command is accepted. If the command received from the client is disconnected, the connection information with the client is discarded, the process is returned to the client, and the session with the client is terminated. When an existing command other than the command employed in this embodiment is received, the conventional processing is performed, and after the processing is completed, the processing result is returned to the client and the next command is accepted.

図3は、情報処理装置110下とクライアントがセッションを開始し、終了するまでの処理の概略的なフローチャートである。図3の処理はステップS300から開始し、ステップS301で、接続要求時に送付されるクライアントの言語を、CHARSETの値にセットし、DEFAULT_CHARSETには、説明する実施形態では、情報処理装置110に設定されたデフォルト言語環境である、英語を指定する言語識別値「en」の値を設定する。   FIG. 3 is a schematic flowchart of processing from when the information processing apparatus 110 and the client start a session until the client ends. The processing in FIG. 3 starts from step S300. In step S301, the client language sent at the time of the connection request is set to the value of CHARSET, and DEFAULT_CHARSET is set in the information processing apparatus 110 in the embodiment to be described. The language identification value “en” that specifies English, which is the default language environment, is set.

ステップS302では、クライアントからのコマンドを受領し、ステップS303では、コマンドにSETコマンドとその引数を受領したか否かを判断し、SETコマンドを受領したと判断した場合(yes)、処理をステップS307に進め、言語設定部120に処理を依頼し、レジスタ処理部120aおよび言語識別レジスタ120bを呼び出して、SETコマンドの引数として設定されたCHARSETの値を言語識別レジスタ120bに設定する。また、ステップS303で、SETコマンドを受領しないと判断した場合(no)、ステップS304で、テーブルに対する操作を指令するコマンドであるか否かを判断し、テーブルに対する操作を指令するコマンドと判断した場合(yes)、ステップS308でテーブル処理部124を起動して、処理を実行させる。   In step S302, a command from the client is received. In step S303, it is determined whether a SET command and its argument are received as a command. If it is determined that a SET command has been received (yes), the process is performed in step S307. Then, processing is requested to the language setting unit 120, the register processing unit 120a and the language identification register 120b are called, and the value of CHARSET set as an argument of the SET command is set in the language identification register 120b. If it is determined in step S303 that a SET command has not been received (no), it is determined in step S304 whether or not the command is for commanding an operation on the table, and if the command is for commanding an operation on the table. (Yes) The table processing unit 124 is activated in step S308 to execute processing.

また、ステップS304でテーブルに対する操作を指令しないと判断した場合(no)、ステップS305で、リソース・テーブルに対する操作であるか否かを判断する。ステップS305でリソース・テーブルに対する操作が要求されていると判断した場合(yes)、ステップS309で言語リソース処理部を起動して処理を実行させる。一方、ステップS305で、リソース・テーブルに対する操作も指令されていないと判断した場合(no)、ステップS306で、切断要求のコマンドであるか否かを判断し、切断要求ではないと判断した場合(no)、ステップS310で従来のRDB処理を実行させる。   If it is determined in step S304 that an operation for the table is not instructed (no), it is determined in step S305 whether the operation is for the resource table. If it is determined in step S305 that an operation for the resource table is requested (yes), the language resource processing unit is activated in step S309 to execute the process. On the other hand, if it is determined in step S305 that an operation for the resource table is not instructed (no), it is determined in step S306 whether the command is a disconnection request, and if it is not a disconnection request ( no), the conventional RDB processing is executed in step S310.

また、ステップS306で切断要求と判断された場合(yes)ステップS311で当該クライアントの間のセッションを切断し、処理を終了させる。また、ステップS307、S308、S309、およびステップS310の処理が終了した後、情報処理装置110は、処理をステップS302に戻し、クライアントからの新たなコマンドの要求を受領する。   If it is determined in step S306 that the request is to be disconnected (yes), the session between the clients is disconnected in step S311 and the process is terminated. In addition, after the processing of steps S307, S308, S309, and step S310 is completed, the information processing apparatus 110 returns the processing to step S302 and receives a request for a new command from the client.

図4は、本実施形態で、実装される、リソース・テーブルに対する処理を指令するコマンドと判断した場合に、図3のステップS305で呼び出されるリソース作成処理の詳細なフローチャートを示す。図4の処理は、ステップS400から開始し、ステップS401で、受領したコマンドがリソース・テーブル作成を指令しているか否かを判断し、リソース・テーブルの作成を指令するコマンドであると判断した場合(yes)、ステップS406で図6の処理を呼び出して処理を実行させ、処理後、ステップS411で当該コマンドに対応する処理を終了させる   FIG. 4 shows a detailed flowchart of the resource creation process called in step S305 of FIG. 3 when it is determined that the command is a command for instructing the process for the resource table to be implemented in the present embodiment. The process of FIG. 4 starts from step S400, and in step S401, it is determined whether the received command is a command for creating a resource table, and it is determined that the command is a command for creating a resource table. (Yes) In step S406, the process of FIG. 6 is called to execute the process, and after the process, the process corresponding to the command is ended in step S411.

ステップS401で、リソース・テーブル作成を指令していないと判断された場合(no)、ステップS402で、リソース・テーブル削除を指令するか否かを判断し、リソース・テーブル削除と判断した場合(yes)、ステップS407で、指定したリソース・テーブルを参照しているカラムがあれば、エラーを返す。なければ、そのリソース・テーブルを除去し、ステップS411で処理を終了させる。リソース・テーブルの削除は、例えば下記式(1)で指令することができる。   When it is determined in step S401 that the resource table creation is not instructed (no), in step S402, it is determined whether or not the resource table deletion is instructed, and when it is determined that the resource table is deleted (yes) In step S407, if there is a column that refers to the specified resource table, an error is returned. If not, the resource table is removed, and the process ends in step S411. The deletion of the resource table can be instructed by the following formula (1), for example.

Figure 0005336827
Figure 0005336827

また、ステップS402で、リソース・テーブル削除を指令するコマンドではないと判断した場合(no)、ステップS403で、リソース挿入を指令するコマンドであるか否かを判断し、リソース挿入と判断した場合(yes)、ステップS408で図8の処理を起動して、リソースの挿入を実行させ、ステップS411で処理を終了させる。   If it is determined in step S402 that the command is not a command to delete a resource table (no), it is determined in step S403 whether the command is a command to insert a resource, and if it is determined to be a resource insertion ( yes), the process of FIG. 8 is started in step S408, the resource is inserted, and the process is terminated in step S411.

ステップS403で、リソース挿入ではないと判断した場合(no)、ステップS404でリソース更新を指令するコマンドであるか否かを判断し、リソース更新を指令するコマンドであると判断した場合(yes)、ステップS409で、図11の処理を起動し、処理後、ステップS411で処理を終了する。さらにステップS405でリソース削除が要求されていると判断した場合(yes)、ステップS410で図12の処理を起動し、リソース・データの削除を実行し、ステップS405でリソース・データの削除処理でもないと判断した場合(no)ステップS411で、当該リソース・テーブルへの処理要求を終了させる。   In step S403, when it is determined that the resource is not inserted (no), in step S404, it is determined whether the command is for commanding resource update, and when it is determined that the command is for commanding resource update (yes), In step S409, the process of FIG. 11 is started. After the process, the process ends in step S411. Further, if it is determined in step S405 that resource deletion is requested (yes), the processing of FIG. 12 is started in step S410, resource data deletion is executed, and resource data deletion processing is not executed in step S405. (No) In step S411, the processing request to the resource table is terminated.

図5は、本実施形態で、テーブルに対する処理を実行するテーブル処理部124が実行する、図3のステップS304で呼び出される処理の詳細なフローチャートである。図5の処理は、ステップS500から開始し、ステップS501で、受領したコマンドがテーブル作成を指令しているか否かを判断し、テーブルの作成を指令するコマンドであると判断した場合(yes)、ステップS508で図7の処理を呼び出して処理を実行させ、ステップS516で当該コマンドに対応する処理を終了させる。   FIG. 5 is a detailed flowchart of the process called in step S304 of FIG. 3 executed by the table processing unit 124 that executes the process on the table in this embodiment. The process in FIG. 5 starts from step S500. In step S501, it is determined whether the received command instructs to create a table. If it is determined that the command is a command to create a table (yes), In step S508, the process of FIG. 7 is called to execute the process, and in step S516, the process corresponding to the command is terminated.

ステップS501で、リソース・テーブル作成を指令していないと判断された場合(no)、ステップS502で、テーブル変更を指令するか否かを判断し、テーブル変更と判断した場合(yes)、ステップS509でテーブルを変更する。なお、テーブルの変更で、リソース・カラムを追加する場合、テーブルの作成と同様な処理を行う。テーブルの変更処理において、リソース・カラムを追加する処理は、他のデータ・タイプのカラムを追加するのと同様に行うことができ、本実施形態で導入するリソース処理を指定するコードを含む、下記式(2)のコマンドを使用して実行することができる。   If it is determined in step S501 that the resource table creation is not instructed (no), it is determined in step S502 whether or not a table change is instructed. If it is determined that the table is changed (yes), step S509 is performed. Change the table with. In addition, when adding a resource column by changing the table, the same processing as the creation of the table is performed. In the table change process, the process of adding a resource column can be performed in the same manner as adding a column of another data type, and includes the code that specifies the resource process to be introduced in the present embodiment. It can be executed using the command of equation (2).

Figure 0005336827
Figure 0005336827

ステップS502で、テーブル変更ではないと判断した場合(no)、ステップS503で、テーブル除去を指令するコマンドか否かを判断し、テーブル除去を指令すると判断した場合(yes)ステップS510で、テーブルを除去する。カテゴリ付きリソース・カラムが定義されている場合、すべてのレコードのキーを順にチェックし、そのキーに対応するリソースの該当レコードの参照カウンタを1つ減らし、処理をステップS516に分岐させて、ステップS516で処理を終了する。   If it is determined in step S502 that the table is not changed (no), it is determined in step S503 whether it is a command for instructing table removal. If it is determined to instruct for table removal (yes), the table is updated in step S510. Remove. When the category-attached resource column is defined, the keys of all records are checked in order, the reference counter of the corresponding record of the resource corresponding to the key is decremented by 1, and the process is branched to step S516. End the process.

ステップS503で、テーブル除去ではないと判断した場合(no)、ステップS504でリソースの挿入を指令するコマンドか否かを判断し、リソースの挿入を指令すると判断した場合(yes)、ステップS512で、図14および図15の処理を起動し、該当するテーブルにデータを挿入し、データ挿入処理の後、ステップSS516で処理を終了させる。また、ステップS504で、データ挿入を指令するコマンドではないと判断した場合(no)、ステップS505で、データ更新を指令するコマンドであるか否かを判断し、データ更新と判断した場合(yes)、ステップS513で図16、図17の処理を起動して、データの更新処理を実行し、更新処理が終了した後、ステップS516で処理を終了させる。   If it is determined in step S503 that the table is not removed (no), it is determined in step S504 whether it is a command for instructing resource insertion, and if it is determined to instruct to insert a resource (yes), in step S512, 14 and 15 are activated, data is inserted into the corresponding table, and after the data insertion process, the process is terminated in step SS516. If it is determined in step S504 that the command is not a command to insert data (no), it is determined in step S505 whether the command is a command to update data, and if it is determined to be data update (yes). 16 and 17 are started in step S513, the data update process is executed, and after the update process ends, the process ends in step S516.

ステップS505で、データ更新ではないと判断した場合(no)、ステップS506でデータ削除を指令するコマンドであるか否かを判断し、データ削除を指令するコマンドであると判断した場合(yes)、ステップS514で、図18、図19の処理を起動してデータ削除を実行させ、処理後、ステップS516で処理を終了する。さらにステップS507でコマンドが検索を指令しているか否かを判断し、データ検索が要求されていると判断した場合(yes)、ステップS515で、データの検索を実行させた後、ステップS516で処理を終了させる。データの検索については、より詳細に後述する。また、ステップS507で検索処理でもないと判断した場合(no)、ステップS516で、当該リソース・テーブルへの処理要求を終了させる。   If it is determined in step S505 that the data is not updated (no), it is determined in step S506 whether the command is for commanding data deletion. If it is determined that the command is for commanding data deletion (yes), In step S514, the processing shown in FIGS. 18 and 19 is started to execute data deletion. After the processing, the processing ends in step S516. Further, in step S507, it is determined whether or not the command instructs the search. If it is determined that the data search is requested (yes), the data search is executed in step S515, and then the process is performed in step S516. End. The data search will be described in detail later. If it is determined in step S507 that it is not search processing (no), the processing request to the resource table is terminated in step S516.

図6は、本実施形態で、リソース・テーブルを作成する場合の概略的な処理のフローチャートである。図6の処理は、ステップS600から開始し、ステップS601で、リソース・データの作成を指令するコマンドを受領する。ステップS602で、リソース保存域を、多言語対応のXMLを保存するために確保し、ステップS603で、処理を終了させる。リソース保存域は、言語リソース情報を格納および検索可能とするために確保され、従来のデータベースのテーブルの機能を用いて格納してもよい。また、データベースの特定のスキーマをこの目的に利用してもよく、当該テーブル名をリソースのカテゴリ名としてもよい。以下、スキーマ名をRESOURCE、テーブル名をカテゴリ名とし、テーブルのカラムとして1つのXMLデータ・タイプを保持するカラムRESに言語リソース情報を保持した場合について説明する。リソース・テーブルの作成は、例えば下記式(3)で指令することができる。   FIG. 6 is a flowchart of a schematic process when creating a resource table in the present embodiment. The process in FIG. 6 starts from step S600, and in step S601, a command for instructing creation of resource data is received. In step S602, a resource storage area is secured for storing XML that supports multiple languages, and in step S603, the process ends. The resource storage area is reserved so that language resource information can be stored and searched, and may be stored using a conventional database table function. A specific schema of the database may be used for this purpose, and the table name may be used as the resource category name. Hereinafter, a case where the schema name is RESOURCE, the table name is a category name, and language resource information is held in a column RES that holds one XML data type as a table column will be described. The creation of the resource table can be commanded by the following formula (3), for example.

Figure 0005336827
Figure 0005336827

図7は、図5のステップS508で、情報処理装置110が実行するテーブル作成処理の詳細なフローチャートを示す。図7の処理は、ステップS700から開始し、ステップS701で、テーブル作成を指令するコマンドを受領する。ステップS702では、対象とするカラムの第1番目の定義を検査し、ステップS703で、コマンドが、当該カラムについてリソース・カラムでのテーブル作成を指令しているか否かを判断する。   FIG. 7 shows a detailed flowchart of the table creation process executed by the information processing apparatus 110 in step S508 of FIG. The process in FIG. 7 starts from step S700, and in step S701, a command for instructing table creation is received. In step S702, the first definition of the target column is checked, and in step S703, it is determined whether or not the command instructs creation of a table in the resource column for the column.

本実施形態で、SQL文を使用するスクリプトを作成する場合、リソース・カラムを保持するテーブルを作成するスクリプトは、下記式(4)や(5)で記述することができる。   In the present embodiment, when creating a script that uses an SQL statement, a script for creating a table that holds resource columns can be described by the following expressions (4) and (5).

Figure 0005336827
Figure 0005336827

なお、上記式(4A)は、リソースを他のテーブルと共有するために、テーブルとは別途管理する実施形態で、‘MTH’はリソースを識別するためのカテゴリ名である。リソースを別途管理する場合、下記式(5)で示されるように、リソース・テーブルのカテゴリ名を指定してリソース保管領域とそのデータを事前に確保することもできる。また、別途管理されたリソースをどのテーブルのどのカラムが参照しているかを保持し、参照情報格納部に格納される。これはデータベースのテーブルの機能を利用して保持してもよい。以下、テーブルのスキーマ名がRESREF、テーブル名がREFERENCEで、テーブルのカラムとして1つのXMLデータ・タイプを保持するカラムREFにリソース参照情報を保持した場合について説明する。以下、テーブルT1を、暦月の名称および当該暦月の日数を多言語に対応して登録するリソース・テーブルであるものとして説明する。   The above formula (4A) is an embodiment in which the resource is shared with other tables and is managed separately from the table, and 'MTH' is a category name for identifying the resource. When resources are managed separately, a resource storage area and its data can be secured in advance by specifying the category name of the resource table, as shown in the following formula (5). Further, which column of which table refers to a separately managed resource is stored and stored in the reference information storage unit. This may be retained using the database table function. A case will be described below where the table schema name is RESREF, the table name is REFERENCE, and resource reference information is held in a column REF that holds one XML data type as a table column. Hereinafter, the table T1 will be described assuming that it is a resource table that registers the name of the calendar month and the number of days in the calendar month corresponding to multiple languages.

Figure 0005336827
Figure 0005336827

ステップS703の判断で作成するカラムがリソース・カラムではなく、従来のデータ・タイプのカラムの作成を指令していると判断した場合(no)、ステップS704で、従来方法を使用してカラム情報の保存およびデータ保存域を確保し、ステップS706で、すべてのカラムの定義を検査したか否かを判断し、ステップS706で、作成するべきカラムの処理が終了したと判断した場合(yes)、ステップS712で、処理を終了させる。また、ステップS706で、検査するべきカラムが残されていると判断した場合(no)、ステップS705で、次のカラムの検査を行い、再度ステップS703の判断を、対象カラムがなくなるまで継続する。   If it is determined in step S703 that the column to be created is not a resource column but an instruction to create a column of a conventional data type (no), in step S704, the column information is stored using the conventional method. If storage and data storage areas are secured, it is determined in step S706 whether all column definitions have been checked, and if it is determined in step S706 that the processing of the column to be created has been completed (yes), step In S712, the process is terminated. If it is determined in step S706 that there is a column to be inspected (no), the next column is inspected in step S705, and the determination in step S703 is continued again until there is no target column.

一方、ステップS703で、リソース・カラムの作成を指令するコマンドであると判断した場合(yes)ステップS707で、カラム定義情報として、従来のカラム定義情報に加え、カテゴリ名を保持する。カテゴリ名がない場合は、カテゴリ名にNULLをセットする。ステップS708で、カラムのデータ(XML)保存域を確保し、ステップS709で、カテゴリ名に有意な値が設定されている場合には(yes)、ステップS710で、当該カテゴリ名のリソースがすでに作成済みであるか否かを判断し、有意な値ではないNULLが登録されている場合(no)には、ステップS706に処理を分岐させ、さらに処理するべきカラムが残されているか否かの判断を行う。   On the other hand, if it is determined in step S703 that the command is a command for creating a resource column (yes), in step S707, a category name is held as column definition information in addition to the conventional column definition information. If there is no category name, set the category name to NULL. In step S708, a column data (XML) storage area is secured. If a significant value is set for the category name in step S709 (yes), a resource of the category name has already been created in step S710. If NULL that is not a significant value is registered (no), the process branches to step S706 to determine whether or not a column to be processed remains. I do.

一方、ステップS710で、当該カテゴリ名にリソースがすでに作成済みである場合(yes)、ステップS709で、さらに処理するべきカラムが残されているか否かについて判断し、当該判断に結果に応じて、テーブル作成終了またはさらなる検査を継続させる。また、ステップS710で、当該カテゴリのリソースが作成済みでない場合(no)、ステップS711で、当該カテゴリのリソース・テーブルを作成し、そのデータ(XML)保存域を確保し、ステップS706に処理を分岐させ、処理を反復させる。   On the other hand, if a resource has already been created for the category name in step S710 (yes), in step S709, it is determined whether or not a column to be further processed is left. Finish table creation or continue further inspection. If the category resource has not been created in step S710 (no), the category resource table is created in step S711, the data (XML) storage area is secured, and the process branches to step S706. And repeat the process.

図8は、図4のステップS408の処理の詳細なフローチャートを示す。挿入するデータは、リソースの値とその値を識別するためのキーを指定することができる。図8の処理は、言語リソース処理部126のリソース・データ挿入部が実行する処理である。図8の処理は、ステップS800から開始し、リソース・テーブルに構造化文書の挿入を指令するコマンドを受領して起動され、ステップS801で、コマンドに記述された各値(リソース名、キー名、値言語識別値(指定されている場合)を取得する。指定されていないなら、言語識別レジスタに設定されたCHARSETの値を使用する。構造化文書の追加を指令するコマンドは、種々の形式を採用することができるが、本実施形態における特定の態様では、下記式(6)としてコマンドを定義することができる。   FIG. 8 shows a detailed flowchart of the process of step S408 in FIG. The data to be inserted can specify a resource value and a key for identifying the value. The process of FIG. 8 is a process executed by the resource / data insertion unit of the language resource processing unit 126. The processing in FIG. 8 starts from step S800 and is activated upon receipt of a command for instructing insertion of a structured document into the resource table. In step S801, each value (resource name, key name, Gets the value language identification value (if specified), if not specified, uses the value of CHARSET set in the language identification register.The command to add a structured document takes various forms Although it can employ | adopt, in the specific aspect in this embodiment, a command can be defined as following formula (6).

Figure 0005336827
Figure 0005336827

上記式(6)では、RESOURCEの後に続くMTHはリソースのカテゴリ名、1カラム目のデータ’Jan’はキー、2カラム目のデータ‘1月’は値を表す。キーは、同一カテゴリ内の値を識別するために利用する。なお、ステップS801では、CHARSET
‘言語識別値’はオプションとして省略可能で、省略した場合、言語識別レジスタ122のCHARSETの値を言語識別値として使用する。言語識別値は、当該アクセス要求が要求する言語環境を指定するコードである。
In the above formula (6), MTH following RESOURCE represents the category name of the resource, data “Jan” in the first column is a key, and data “January” in the second column represents a value. The key is used to identify values within the same category. In step S801, CHARSET
'Language identification value' can be omitted as an option. If omitted, the value of CHARSET in the language identification register 122 is used as the language identification value. The language identification value is a code that specifies the language environment requested by the access request.

ステップS802では、キーがリソース・テーブルに既登録か否かを判断する。ステップS802の判断で、キーが既登録ではないと判断した場合(no)、ステップS803で、キーと、指定された言語識別値でのデータをリソース・テーブルに挿入する。この際、言語識別値がデフォルト言語識別レジスタに設定されたDEFAULT_CHARSETと同じ場合、デフォルトの値としてもデータを登録する。   In step S802, it is determined whether the key is already registered in the resource table. If it is determined in step S802 that the key is not already registered (no), in step S803, the key and data with the specified language identification value are inserted into the resource table. At this time, if the language identification value is the same as DEFAULT_CHARSET set in the default language identification register, data is also registered as the default value.

一方、ステップS802の判断で、キーが既登録であると判断された場合(yes)、ステップS804に処理を分岐させ、言語指定値に該当するデータが定義されているか否かを判断する。ステップS804ですでにデータが登録されていると判断された場合(yes)、ステップS806で対応する言語のデータが既登録であることをクライアントに通知するエラーメッセージを発行し、ステップS807で処理を終了する。また、ステップS804で、言語指定値に該当するデータが登録されていない場合(no)、ステップS805で、該当するレコードの子要素として、指定された言語識別値でデータを登録する。さらに言語識別値がデフォルト言語識別レジスタに設定されたDEFAULT_CHARSETと同じ場合、デフォルトの値としてもデータを登録し、処理をステップS807に戻し、終了する。   On the other hand, if it is determined in step S802 that the key is already registered (yes), the process branches to step S804 to determine whether data corresponding to the language designation value is defined. If it is determined in step S804 that the data has already been registered (yes), an error message is issued to notify the client that the data in the corresponding language is already registered in step S806, and the process is performed in step S807. finish. If no data corresponding to the language designation value is registered in step S804 (no), data is registered with the designated language identification value as a child element of the corresponding record in step S805. Further, if the language identification value is the same as DEFAULT_CHARSET set in the default language identification register, the data is registered as the default value, and the process returns to step S807 to end.

図9は、本実施形態に従い、リソース・テーブルに挿入されたデータ構造の実施形態を示す。データ構造910に示すように、各レコードのリソース・カラムは、言語環境の相違に対応するデータごとにvalueタグで識別され、さらに1つのレコードが、1つのキーに関する情報を保持し、resourceタグのkey属性で識別されて、階層構造を与えるようにして登録されている。また、データ構造910に示すように、クライアントにより指定された言語識別値は、charset=charset名(デフォルト値はdefault)で設定されている(charset名に言語識別値が設定される)。追加されるリソース・データは、<resource>タグで指定される構造化文書910のノードにおける子ノード912として追加される。また、値refcountは、参照カウンタで、リソース・テーブルの該当キーを参照しているテーブルのカラムのデータ数に相当する。参照カウンタの値の設定処理については、より詳細に後述する。   FIG. 9 shows an embodiment of a data structure inserted into the resource table according to this embodiment. As shown in the data structure 910, the resource column of each record is identified by a value tag for each data corresponding to a language environment difference, and one record holds information about one key, It is identified by the key attribute and registered to give a hierarchical structure. Further, as shown in the data structure 910, the language identification value designated by the client is set as charset = charset name (default value is default) (the language identification value is set in the charset name). The added resource data is added as a child node 912 in the node of the structured document 910 specified by the <resource> tag. The value refcount is a reference counter and corresponds to the number of data in the column of the table that refers to the corresponding key of the resource table. The reference counter value setting process will be described in more detail later.

本実施形態では、図9に示すように、構造化文書が管理するべき値は、月などの単純な値ではなく、例えは、テーブルT2のカラムとして、NAME VARCHAR (10), DESCRIPTION RESOURCE (‘DESC’)を定義する場合、NAMEカラムに、“IBM”を登録しておき、DESCRIPTIONリソース・カラムには、英語とデフォルト用に “IBM stands for International Business Machines”などを登録することができる。   In this embodiment, as shown in FIG. 9, the value to be managed by the structured document is not a simple value such as month, but for example, as a column of the table T2, NAME VARCHAR (10), DESCRIPTION RESOURCE (' When defining DESC '), “IBM” can be registered in the NAME column, and “IBM stands for International Business Machines” can be registered in the DESCRIPTION resource column for English and default.

そして、DESCRIPTIONの対応する日本語データは、“IBMは、インターナショナル・ビジネス・マシーンズの略です”などの値をテーブルの更新処理や該当カテゴリのリソースに対する挿入処理により、子要素として登録することができる。さらに他の実施形態では、DESCRIPTIONの他、例えばブログのコンテンツ、またはその他ウェブのコンテンツとして提供するべきデータについても、それぞれ同一の翻訳値または翻訳文を同一のレコード内に登録しておくことで、多言語対応が可能となる。   The corresponding Japanese data of DESCRIPTION can be registered as a child element by updating the table or inserting the resource into the corresponding category, such as “IBM is an abbreviation for International Business Machines”. . In yet another embodiment, in addition to DESCRIPTION, for example, blog content, or other data to be provided as web content, the same translated value or translated sentence is registered in the same record. Multilingual support is possible.

図10は、本実施形態のリソース・テーブルに登録されたデータの更新処理のフローチャートを示す。リソース・テーブルに登録されたデータの更新処理は、「UPDATE RESOURCE]スクリプトを使用して行われる処理である。図10の処理は、クライアントからリソース・テーブルの構造化文書の更新を指令するUPDATE
RESOURCE文を受信することによって、ステップS1000で、リソース・データ更新部126bが呼び出されて開始する。説明する実施形態では、更新を指令するコマンドは、値の書換えを指令するものであり、下記式(7)で与えることができる。
FIG. 10 shows a flowchart of update processing of data registered in the resource table of this embodiment. The process of updating the data registered in the resource table is a process performed using the “UPDATE RESOURCE] script. The process in FIG. 10 is an UPDATE command for updating the structured document in the resource table from the client.
By receiving the RESOURCE statement, the resource / data update unit 126b is called and started in step S1000. In the embodiment to be described, the command for instructing update is for instructing rewriting of the value, and can be given by the following equation (7).

Figure 0005336827
Figure 0005336827

ステップS1001では、スクリプトに記述された各値(リソース名、キー名、値、言語識別値(指定されている場合)を取得する。CHARSET ‘言語識別値’は省略可能で、省略した場合、言語識別レジスタ120bのCHARSETの値を言語識別値として使用する。ステップS1002で、キー値および言語識別値に一致するデータを検索する。ステップS1003では、該当するデータが存在するか否かを判断し、該当するデータが存在しない場合(no)、ステップS1005で、クライアント230にエラーを返し、ステップS1006で処理を終了させる。   In step S1001, each value (resource name, key name, value, and language identification value (if specified) described in the script is acquired. CHARSET 'language identification value' can be omitted. The value of CHARSET in the identification register 120b is used as the language identification value, and in step S1002, data matching the key value and the language identification value is searched for, in step S1003, it is determined whether or not the corresponding data exists, If the corresponding data does not exist (no), an error is returned to the client 230 in step S1005, and the process is terminated in step S1006.

一方、ステップS1003で、該当するデータが存在すると判断した場合(yes)、ステップS1004で該当するデータの値をコマンドで指定されたデータで書換える。書換え後の値がNULLである場合、対応するデータを削除する。言語識別値とデフォルト言語識別レジスタのDEFAULT_CHARSETの値とが一致する場合、デフォルトの値も更新し、ステップS1006で処理を終了する。図10の処理によって、一旦作成したデータを、クライアントからの指令に対応して書換えが可能となり、不要なデータの削除や値の更新などを行うことができる。   On the other hand, if it is determined in step S1003 that the corresponding data exists (yes), the value of the corresponding data is rewritten with the data specified by the command in step S1004. If the value after rewriting is NULL, the corresponding data is deleted. If the language identification value matches the value of DEFAULT_CHARSET in the default language identification register, the default value is also updated, and the process ends in step S1006. With the processing in FIG. 10, once created data can be rewritten in response to a command from the client, and unnecessary data can be deleted, values can be updated, and the like.

図11は、本実施形態に書換え処理の実施形態1110を、スクリプトおよび構造化文書で記述されたデータを使用して説明する図である。クライアント230から送付される書換えを指令するスクリプト1111は、「UPDATE RESOURCE カテゴリ名 SET VALUE=‘value’ WHERE KEY=‘key’CHARSET‘言語識別値’」である。クライアントから送信されるコマンドが「UPDATE RESOURCE」で始まる場合、リソース・カラムの値を書換えが指令されたと判断し、書換え処理を開始する。   FIG. 11 is a diagram for explaining the rewrite processing embodiment 1110 according to this embodiment using data described in a script and a structured document. The script 1111 for instructing rewriting sent from the client 230 is “UPDATE RESOURCE category name SET VALUE =‘ value ’WHERE KEY =‘ key ’CHARSET’ language identification value ’”. When the command sent from the client starts with “UPDATE RESOURCE”, it is determined that rewriting of the value of the resource column is instructed, and the rewriting process is started.

より具体的には、既存のデータ1130の書換えのため、書換えを指令するスクリプト1120が、「UPDATE
RESOURCE MTH SET VALUE=‘睦月’ WHERE KEY=‘Jan’CHARSET‘ja’」を受領したものとして説明する。情報処理装置111は、まず、カテゴリ名MTH、キー値、言語識別値を照合し、対応するデータ1130を取得し、スクリプト1120で指定されたvalue=睦月で、データ1130の該当する値を、「睦月」に書換えたデータ1140として登録する。
More specifically, in order to rewrite the existing data 1130, the script 1120 for instructing rewriting is “UPDATE”
It is assumed that RESOURCE MTH SET VALUE = '睦 月' WHERE KEY = 'Jan'CHARSET'ja' is received. First, the information processing apparatus 111 collates the category name MTH, the key value, and the language identification value, acquires the corresponding data 1130, and sets the corresponding value of the data 1130 as “value = 睦 月” specified by the script 1120. It is registered as data 1140 rewritten to “Yutsuki”.

図12は、本実施形態のリソース・テーブルに登録されたデータの削除処理のフローチャートを示す。リソース・テーブルに登録されたデータの削除処理は、本実施形態では「DELETE FROM RESOURCE」で始まるコマンドを受信した場合に行われる処理である。図12の処理は、クライアントからDELETE FROM RESOURCE文を受信することによって、ステップS1200で、リソース・データ削除部126呼ばれ、処理を開始する。本実施形態では、リソース・テーブルの構造化文書の削除を指令するコマンドおよびその引数は、下記式(8)のコマンドで与えることができる。   FIG. 12 shows a flowchart of processing for deleting data registered in the resource table of this embodiment. The deletion process of data registered in the resource table is a process performed when a command starting with “DELETE FROM RESOURCE” is received in this embodiment. The process of FIG. 12 is called by the resource / data deletion unit 126 in step S1200 upon receiving a DELETE FROM RESOURCE statement from the client, and starts the process. In this embodiment, a command for instructing deletion of a structured document in the resource table and its argument can be given by a command of the following formula (8).

Figure 0005336827
Figure 0005336827

ステップS1201では、スクリプトに記述された各値(リソース名、キー名、値、言語識別値(指定されている場合)を取得する。CHARSET ‘言語識別値’は省略可能で、省略した場合、言語識別レジスタ120bのCHARSETの値を言語識別値として使用する。ステップS1202では、該当するデータを取得し、ステップS1203で該当するデータが存在しないと判断された場合(no)、ステップS1204で、クライアントにエラーを返し、ステップS1208で処理を終了させる。   In step S1201, each value (resource name, key name, value, and language identification value (if specified) described in the script is acquired. CHARSET 'language identification value' can be omitted. The value of CHARSET in the identification register 120b is used as a language identification value In step S1202, the corresponding data is acquired, and if it is determined in step S1203 that the corresponding data does not exist (no), in step S1204, the client is notified. An error is returned, and the process ends in step S1208.

一方、ステップS1203で、該当するデータが存在すると判断した場合(yes)、ステップS1205で参照カウンタの値が0か否かを検査し、その参照カウンタが0であれば、ステップS1206で該当するデータの値をキー単位ですべて削除する。削除後、その結果をクライアントに返し、ステップS1208で処理を終了する。参照カウンタが0でない場合(no)、ステップS1207でクライアントにエラーを返し、ステップS1208で処理を終了させる。図12の処理によって、一旦作成したデータを、クライアントからの指令に対応して削除することが可能となる。   On the other hand, if it is determined in step S1203 that the corresponding data exists (yes), it is checked in step S1205 whether the value of the reference counter is 0. If the reference counter is 0, the corresponding data is determined in step S1206. Delete all values in key units. After deletion, the result is returned to the client, and the process ends in step S1208. If the reference counter is not 0 (no), an error is returned to the client in step S1207, and the process is terminated in step S1208. The processing shown in FIG. 12 makes it possible to delete data once created in response to a command from the client.

次に、リソース・テーブルを除去するコマンドは、下記式(9)として実装することができる。   Next, the command for removing the resource table can be implemented as the following equation (9).

Figure 0005336827
Figure 0005336827

リソース・テーブルの削除は、リソース参照情報を参照し、指定したリソース・テーブルを参照しているカラムがあれば、エラーを返す。一方、指定したリソース・テーブルを参照しているカラムがなければ、そのリソース・テーブルを除去することにより実行することができる。   To delete a resource table, refer to the resource reference information and return an error if there is a column referring to the specified resource table. On the other hand, if there is no column that refers to the specified resource table, it can be executed by removing the resource table.

以上、リソース・カラムを保持するテーブルの作成、リソース・テーブルの作成、挿入、更新、削除処理について説明した。以下、さらに、リソース・カラムを保持するテーブルに対して、データを挿入、更新、削除する処理、および、各種データを参照する処理について説明する。   In the above, the creation of the table holding the resource column, the creation, insertion, update, and deletion processing of the resource table have been described. Hereinafter, a process for inserting, updating, and deleting data and a process for referring to various data will be described with respect to a table holding resource columns.

図13は、本実施形態の情報処理装置110において、リソース・カラムを保持するテーブルにデータを挿入するデータ挿入部124cが実行する処理のフローチャートを示す。当該コマンドは、種々の形式を採用することができるが、本実施形態における特定の形態では、下記式(10)としてコマンドを定義することができる。   FIG. 13 is a flowchart of processing executed by the data insertion unit 124c that inserts data into a table holding resource columns in the information processing apparatus 110 according to the present embodiment. The command can take various forms, but in a specific form in the present embodiment, the command can be defined as the following formula (10).

Figure 0005336827
Figure 0005336827

上記式(10)は、Syntaxの変更例を示したものであり、CHARSET ‘言語識別値’は省略可能で、省略した場合、言語識別レジスタ120bのCHARSETの値を言語識別値として使用する。式(10)で示すように、リソース・カラムのデータの挿入方法として、値そのものを指定する以外にRESOURCE_SET()やRESOURCE_REF()といった関数を利用することができる。コマンド“RESOURCE_SET()”は、第1引数にキー名を、第2引数に値を設定することができ、各引数に基づいてデータが保存される。コマンド“RESOURCE_REF()”は、第1引数にキー名を設定することができ、そのキーの値を参照することを意味する。キーの値は、別途、上述したINSERT
INTO RESOURCE文で予め挿入しておくことができ、その値を参照する際にRESOURCE_REF()を利用することができる。
Expression (10) above shows an example of changing the Syntax. The CHARSET 'language identification value' can be omitted, and if omitted, the value of CHARSET in the language identification register 120b is used as the language identification value. As shown in Expression (10), as a method for inserting data in the resource column, functions such as RESOURCE_SET () and RESOURCE_REF () can be used in addition to specifying the value itself. The command “RESOURCE_SET ()” can set a key name as a first argument and a value as a second argument, and data is saved based on each argument. The command “RESOURCE_REF ()” can set a key name in the first argument and means to refer to the value of the key. The key value is the INSERT
It can be inserted in advance with the INTO RESOURCE statement, and RESOURCE_REF () can be used to refer to the value.

リソース・データの挿入処理は、ステップS1300で、挿入を指令するコマンドを受領してリソース・データ挿入部126cが呼び出されることにより開始する。ステップS1301でコマンド中に設定されている、テーブル名、各カラムのデータ、言語識別値(設定されている場合)を取得する。そして、ステップS1302で、1番目のカラムの定義と値を取り出す。   In step S1300, the resource data insertion process is started by receiving a command for instructing insertion and calling the resource data insertion unit 126c. In step S1301, the table name, the data of each column, and the language identification value (if set) set in the command are acquired. In step S1302, the definition and value of the first column are extracted.

上述したように、オプション的にCHARSET ‘言語識別値’は省略可能で、省略した場合、言語識別レジスタ120bのCHARSETの値を言語識別値として使用する。各カラムのデータを1カラム目から処理する。ステップS1303で処理対象のカラムが、リソース・カラムか否かを判断し、処理対象のカラムがリソース・カラムでない場合(no)、ステップS1304で、従来通りの処理を実行するテーブル処理部を呼び出して既存の処理を使用してテーブルに対する処理を実行させ、ステップS1307でさらに処理するカラムが存在するか否かを判断する。ステップS1307の判断でさらに処理を行うべきカラムが存在する場合(yes)、処理をステップS1303に戻し、再度判断を繰り返す。また、ステップS1307で処理を行うべきカラムが残っていない場合(no)、ステップS1307で処理を終了する。   As described above, CHARSET 'language identification value' can be omitted as an option. When omitted, the value of CHARSET in the language identification register 120b is used as the language identification value. The data of each column is processed from the first column. In step S1303, it is determined whether or not the processing target column is a resource column. If the processing target column is not a resource column (no), in step S1304, a table processing unit that executes conventional processing is called. A process for the table is executed using the existing process, and it is determined in step S1307 whether there is a column to be further processed. If it is determined in step S1307 that there is a column to be further processed (yes), the process returns to step S1303 and the determination is repeated again. If no column to be processed remains in step S1307 (no), the process ends in step S1307.

ステップS1303で処理対象のカラムが、リソース・カラムであると判断された場合(yes)、ステップS1305で、カテゴリ指定値は、NULLであるか否かを判断する。ステップS1305で、カテゴリ指定値がNULLであれば(yes)、ステップS1306で該当するカラムに言語リソースを与える構造化文書を記述する。言語識別値とデフォルト言語識別レジスタの値が一致する場合、デフォルト設定の言語の値も挿入する。一方、カテゴリ名がNULLでない場合(no)、ポイントAから図14の処理に分岐する。   If it is determined in step S1303 that the processing target column is a resource column (yes), it is determined in step S1305 whether the category designation value is NULL. If the category specification value is NULL in step S1305 (yes), a structured document that gives a language resource to the corresponding column is described in step S1306. When the language identification value matches the value of the default language identification register, the default language value is also inserted. On the other hand, if the category name is not NULL (no), the process branches from point A to the process of FIG.

図14の処理は、ポイントAで図13の処理から制御を渡されて開始し、ステップS1401で、カテゴリ名を取得し、ステップS1402で値のみが指定されているか否かを判断し、値のみが指定されている場合(yes)、ステップS1403でキーを自動生成し、登録されていないキーを得る。そして、ステップS1404で、上記式(8)で説明したと同様の処理を行う。この際、該当するリソースのキーの参照カウンタを1に設定する。一方、ステップS1402で、コマンド内で、RESOURCE_SET()が使用されており、ステップS1406でキー以外の値も含まれると判断した場合(no)、キー名と値とを取得し、ステップS1407で該当するカテゴリのリソースに該当するキーがすでに登録されているか否かの判断を行う。キーがすでに登録されている場合(yes)、ステップS1410でエラーを返し処理を終了させる。   The process of FIG. 14 is started by passing control from the process of FIG. 13 at point A. In step S1401, a category name is acquired, and in step S1402, it is determined whether only a value is specified. Is designated (yes), a key is automatically generated in step S1403, and an unregistered key is obtained. In step S1404, the same processing as described in the above equation (8) is performed. At this time, the reference counter of the key of the corresponding resource is set to 1. On the other hand, if it is determined in step S1402 that RESOURCE_SET () is used in the command and a value other than the key is included in step S1406 (no), the key name and value are acquired, and in step S1407 It is determined whether or not the key corresponding to the resource of the category to be registered has already been registered. If the key has already been registered (yes), an error is returned in step S1410 and the process is terminated.

一方、ステップS1407でキーが登録されていない場合(no)、処理をステップS1404に戻し、処理を反復させる。   On the other hand, if no key is registered in step S1407 (no), the process returns to step S1404 to repeat the process.

また、ステップS1406の判断で、RESOURCE_SET()が含まれていない場合(no)、ステップS1408で、コマンドに、参照カウンタの変更を指令するコマンド、例えばRESOURCE_REF()が含まれているか否かを判断する。ステップS1408で参照カウンタ(refcount)を修正するコマンドが存在すると判断する場合(yes)、ステップS1409でリソース・テーブルにすでにキーが登録されているか否かを判断し、登録されていない場合(no)、ステップS1410で該当するキーが存在しないとしてエラーを返す。一方、キーが存在する場合(yes)、ステップS1411で、該当するキーの参照カウンタを1増分し、処理をステップS1412に戻す。   If it is determined in step S1406 that RESOURCE_SET () is not included (no), it is determined in step S1408 whether the command includes a command for changing the reference counter, for example, RESOURCE_REF (). To do. If it is determined in step S1408 that there is a command for correcting the reference counter (refcount) (yes), it is determined whether a key is already registered in the resource table in step S1409. If it is not registered (no) In step S1410, an error is returned assuming that the corresponding key does not exist. On the other hand, if the key exists (yes), in step S1411, the reference counter of the corresponding key is incremented by 1, and the process returns to step S1412.

図15は、本実施形態の情報処理装置110において、リソース・カラムを保持するテーブルに登録されたデータの更新を行う、リソース・データ更新部126bの処理のフローチャートを示す。図15の処理は、ステップS1500で、更新を指令するコマンドを受領して呼び出されることにより起動され、ステップS1501で、コマンドに指定された言語識別値を取得する。言語識別値は省略可能で、省略した場合、言語識別レジスタ120bのCHARSETの値を言語識別値として使用する。ステップS1502では、WHERE節に記述されている1番目の条件のカラム名とその値を取得し、ステップS1503で、リソース・カラムを指定しているか否かを検査する。ステップS1503の判断で、リソース・カラム名が指定されていないと判断された場合(no)、ステップS1504で、従来の処理を使用して更新対象のレコードを取得する。   FIG. 15 is a flowchart of processing of the resource / data update unit 126b that updates the data registered in the table holding the resource column in the information processing apparatus 110 according to the present embodiment. The process of FIG. 15 is started by receiving and calling a command for updating in step S1500, and acquires the language identification value specified in the command in step S1501. The language identification value can be omitted. If omitted, the value of CHARSET in the language identification register 120b is used as the language identification value. In step S1502, the column name and value of the first condition described in the WHERE clause are acquired, and in step S1503, it is checked whether a resource column is specified. If it is determined in step S1503 that the resource column name is not specified (no), a record to be updated is acquired using conventional processing in step S1504.

一方、ステップS1503でリソース・カラムが指定されていると判断した場合(yes)、ステップS1507で、当該リソース・データのカテゴリ名は、NULLか否かを検査し、NULLの場合(yes)、ステップS1508で、該当レコードの該当カラムのレコードを順に得る。その後、ステップS1509で、CHARSET名に該当する言語識別値を取得する。該当する値がなければデフォルトの値を取得する。また、ステップS1510では、取得した値を用いて条件を判断し、取得した値が、条件に指定されている値と一致する場合、更新または挿入の対象と設定して処理をステップS1505に分岐させる。   On the other hand, if it is determined in step S1503 that a resource column is specified (yes), in step S1507, it is checked whether the category name of the resource data is NULL. If it is NULL (yes), step In step S1508, records in the corresponding column of the corresponding record are obtained in order. Thereafter, in step S1509, a language identification value corresponding to the CHARSET name is acquired. If there is no corresponding value, the default value is obtained. In step S1510, the condition is determined using the acquired value. If the acquired value matches the value specified in the condition, the update or insertion target is set, and the process branches to step S1505. .

また、ステップS1507の判断でNULLではないと判断された場合(no)、ステップS1511で該当カラムに保存されているキー名から、該当するリソース・テーブルの該当データを得、ステップS1512で、該当するカテゴリのリソース情報を参照し、キーとCHARSET名に該当する値とを取得する。ない場合には、デフォルトの値を取得する。ステップS1513では、取得した値を用いて条件を判断し、取得した値が、条件に指定されている値と一致する場合、更新または挿入の対象と設定して処理をステップS1505に分岐させる。   If it is determined in step S1507 that it is not NULL (no), the corresponding data in the corresponding resource table is obtained from the key name stored in the corresponding column in step S1511, and the corresponding data is determined in step S1512. Refer to the resource information of the category and obtain the key and the value corresponding to the CHARSET name. If not, get the default value. In step S1513, the acquired value is used to determine the condition. If the acquired value matches the value specified in the condition, the update or insertion target is set, and the process branches to step S1505.

ステップS1505では、WHERE節に続く条件があるか否かを判断し、条件がある場合(yes)、ステップS1506で、WHERE節に記述されている次の条件を取得し、処理をステップS1503に分岐させて処理を反復させる。一方、ステップS1505で、WHERE節に続く条件があるか否かを判断し、条件がないと判断した場合(no)、ポイントBから図16の処理を呼び出して、更新処理を実行させる。   In step S1505, it is determined whether there is a condition following the WHERE clause. If there is a condition (yes), the next condition described in the WHERE clause is acquired in step S1506, and the process branches to step S1503. And repeat the process. On the other hand, in step S1505, it is determined whether there is a condition following the WHERE clause. If it is determined that there is no condition (no), the process of FIG.

図16は、図15の挿入処理に後続する処理のフローチャートを示す。図16の処理は、図ポイントCで、図15の処理から制御を渡されて開始する。ステップS1600では、更新対象レコードを処理対象としてセットし、ステップS1601では、更新を指令するコマンドで指定されている第1番目のカラム名と値とを取得する。ステップS1602では、現在判断対象としている当該カラムがリソース・カラムか否かを、リソース情報を参照して判断し、リソース・カラムでない場合(no)、ステップS1603で、従来の処理を適用してカラムへの更新を実行する。   FIG. 16 shows a flowchart of processing subsequent to the insertion processing of FIG. The process of FIG. 16 is started at the point C in FIG. In step S1600, the update target record is set as a processing target, and in step S1601, the first column name and value specified by the command instructing the update are acquired. In step S1602, it is determined by referring to the resource information whether or not the column currently being determined is a resource column. If the column is not a resource column (no), in step S1603, conventional processing is applied to the column. Update to.

一方、ステップS1602の判断でリソース・カラムであると判断された場合(yes)、ステップS1604で、当該リソースのカテゴリは、NULLか否かを判断し、NULLの場合(yes)、ステップS1605で、該当カラムの言語識別値の値が存在すれば、その値を置換する。ない場合は、挿入する。置換後の値がNULLであれば、言語識別値の値を削除する。言語識別値がデフォルト言語識別レジスタのDEFAULT_CHARSETの値と同じ場合、デフォルトの値についても置換する。   On the other hand, if it is determined in step S1602 that the column is a resource column (yes), it is determined in step S1604 whether the category of the resource is NULL. If it is NULL (yes), in step S1605, If the value of the language identification value of the corresponding column exists, the value is replaced. If not, insert it. If the value after replacement is NULL, the language identification value is deleted. If the language identification value is the same as the value of DEFAULT_CHARSET in the default language identification register, the default value is also replaced.

また、ステップS1604の判断でNULLでない場合(no)、ステップS1606で、該当テーブルの該当カラムに保存されているキーから、該当するリソース・テーブルの該当データを得、ステップS1607で、言語識別値の値が存在すれば、その値を置換する。ない場合は、挿入する。置換後の値がNULLであれば、言語識別値の値を削除する。言語識別値がデフォルト言語識別レジスタのDEFAULT_CHARSETの値と同じ場合、デフォルトの値についても置換し、処理をステップS1608に分岐させる。   If the determination in step S1604 is not NULL (no), in step S1606, the corresponding data in the corresponding resource table is obtained from the key stored in the corresponding column of the corresponding table. In step S1607, the language identification value is If a value exists, replace that value. If not, insert it. If the value after replacement is NULL, the language identification value is deleted. If the language identification value is the same as the value of DEFAULT_CHARSET in the default language identification register, the default value is also replaced, and the process branches to step S1608.

ステップS1608では、次の更新するべきカラムが残っているかを判断し、残っていない場合(no)、ステップS1610で処理を終了させる。一方、残っている場合、ステップS1609で、次の更新するべきカラム名と値を取得し、処理をステップS1602に分岐させて処理を反復させる。   In step S1608, it is determined whether the next column to be updated remains. If no column remains (no), the process ends in step S1610. On the other hand, if it remains, in step S1609, the next column name and value to be updated are acquired, the process is branched to step S1602, and the process is repeated.

図17は、本実施形態でリソース・カラムを保持するテーブルに登録されたデータの削除を行う処理のフローチャートである。図17の処理は、図15の処理に比較し、更新を削除に置き換えた以外、カラムの検査を実行する点では共通するため詳細な説明は行わない。図17の処理は、ポイントCに達した時点で、制御を図18の処理に制御を渡し、削除の実体的処理を開始する。   FIG. 17 is a flowchart of processing for deleting data registered in a table holding resource columns in this embodiment. The processing in FIG. 17 is the same as the processing in FIG. 15 except that the update is replaced with deletion, and the column check is performed, so detailed description will not be given. In the process of FIG. 17, when the point C is reached, the control is transferred to the process of FIG. 18 and the substantive process of deletion is started.

図18は、図17に後続する削除処理のフローチャートである。図18の処理は、ポイントCで、図17の処理から制御を渡されて開始し、ステップS1800で、削除対象レコードを削除対象としてセットし、ステップS1801で、1番目のカラムをチェックする。ステップS1802では、当該カラムは、リソース・カラムか否かを判断し、リソース・カラムでない場合(no)、ステップS1806で、さらに処理するべきカラムが残っているか否かを判断し、残っている場合(yes)、ステップS1809で、次のカラムをチェックし、処理を反復させる。一方、ステップS1806で、次のカラムが残っていないと判断された場合(no)、ステップS1808で、従来のデータ削除部124dを呼び出して従来の処理を適用してカラムを削除し、ステップS1810で処理を終了する。   FIG. 18 is a flowchart of the deletion process subsequent to FIG. The process shown in FIG. 18 starts at point C with control given from the process shown in FIG. 17. In step S1800, the deletion target record is set as a deletion target, and in step S1801, the first column is checked. In step S1802, it is determined whether or not the column is a resource column. If the column is not a resource column (no), it is determined in step S1806 whether or not a column to be further processed remains. (Yes) In step S1809, the next column is checked and the process is repeated. On the other hand, if it is determined in step S1806 that the next column does not remain (no), in step S1808, the conventional data deletion unit 124d is called to delete the column by applying conventional processing, and in step S1810. End the process.

また、ステップS1802で、リソース・カラムであると判断した場合(yes)、ステップS1803で、当該リソースのカテゴリは、NULLか否かを判断し、NULLの場合(yes)、処理をステップS1806に分岐させ、さらに処理するべきカラムが存在しているか否かを判断し、処理を反復させる。一方、ステップS1803の判断で、当該リソースのカテゴリがNULLではないと判断された場合(no)、ステップS1804で、該当テーブルの該当カラムに保存されているキーを得、ステップS1805で、該当するカテゴリのリソース情報を参照し、キーの参照カウンタの値を1デクリメントさせ、ステップS1806に処理を分岐させ、処理を反復させ、対象とするカラムの処理を終了した後、ステップS1810で処理を終了する。   If it is determined in step S1802 that it is a resource column (yes), it is determined in step S1803 whether the category of the resource is NULL. If it is NULL (yes), the process branches to step S1806. Further, it is determined whether there is a column to be further processed, and the processing is repeated. On the other hand, if it is determined in step S1803 that the category of the resource is not NULL (no), a key stored in the corresponding column of the corresponding table is obtained in step S1804, and the corresponding category is determined in step S1805. The key reference counter value is decremented by 1, the process is branched to step S1806, the process is repeated, and the process for the target column is completed. Then, the process ends in step S1810.

図19は、本実施形態にしたがって生成されるリソース・カラムを有するテーブルの実施形態を示す。図19に示したデータ構造は、RESOURCEデータ・タイプのカラムMONTHとINTEGERデータ・タイプのカラムNUM_OF_DAYSを保持するT1テーブル1900と、そのテーブル1900のカラムMONTH属性を定義するリソース情報テーブル1930とを示している。リソース・カラム1910には、説明する実施形態では、カラム名=MONTHがカテゴリ名なしのRESOURCEデータ・タイプのデータを記述する構造化文書を格納するリソース・カラムである。   FIG. 19 shows an embodiment of a table with resource columns generated according to this embodiment. The data structure shown in FIG. 19 shows a T1 table 1900 that holds a RESOURCE data type column MONTH and an INTEGER data type column NUM_OF_DAYS, and a resource information table 1930 that defines a column MONTH attribute of the table 1900. Yes. In the embodiment to be described, the resource column 1910 is a resource column that stores a structured document describing data of a RESOURCE data type in which the column name = MONTH has no category name.

また、説明する実施形態では、カラム名=NUM_OF_DAYSのカラム1920は、データ・タイプがINTEGERの値を登録する従来カラムであり、暦月の末日の数字を登録するカラムである。リソース・カラムのデータは、タグ<resource>で識別された範囲にタグ<value>で開始するXMLで記述されている。   In the embodiment to be described, the column 1920 with column name = NUM_OF_DAYS is a conventional column for registering a value whose data type is INTEGER, and is a column for registering the number of the last day of a calendar month. The data in the resource column is described in XML starting with the tag <value> in the range identified by the tag <resource>.

クライアントからSELECT文などによりリソース・テーブル1900で表されるテーブルの”MONTH”のデータ取得要求を受領すると、SELECT文中に言語識別値が設定されていればその値を利用し、設定されていなければ言語識別レジスタのCHARSETの値を言語識別値として利用し、その言語識別値に該当する値がリソース・カラム1910から取得される。その言語識別値に該当する値がなければデフォルトとして格納されている値が取得される。   When a data acquisition request for “MONTH” of the table represented by the resource table 1900 is received from the client by a SELECT statement or the like, if a language identification value is set in the SELECT statement, that value is used. A value corresponding to the language identification value is acquired from the resource column 1910 using the value of CHARSET in the language identification register as the language identification value. If there is no value corresponding to the language identification value, a value stored as a default is acquired.

また、テーブルT1のカラムMONTHの定義情報1930は、テーブル1900のカラム情報としてテーブル1900を作成すると同時に作成され、従来から保持されている情報に加えカテゴリ名が追加されている。テーブルT1のカラムNUM_OF_DAYSについても、従来どおり定義情報が作成される。テーブル1900のカラム属性としてリソース・カラムに必要な情報を登録し、テーブル1900のリソース・カラムのデータ管理を可能とさせている。なお、図19に示した実施形態では、リソース・テーブル1900には、カテゴリ名が付されておらず、このため、リソース・カラムの保存域がそのまま言語リソースを格納するために利用されている。また、図19に示した実施形態では、キー値は登録されておらず、直接valueに設定された値の一致などを使用して適切なレコードに追加するべき構造化文書が追加されて行く。   Further, the definition information 1930 of the column MONTH of the table T1 is created simultaneously with the creation of the table 1900 as the column information of the table 1900, and the category name is added to the information held conventionally. For the column NUM_OF_DAYS of the table T1, definition information is created as before. Necessary information is registered in the resource column as a column attribute of the table 1900, and data management of the resource column of the table 1900 is enabled. In the embodiment shown in FIG. 19, the resource table 1900 does not have a category name. Therefore, the resource column storage area is used as it is to store language resources. In the embodiment shown in FIG. 19, the key value is not registered, and a structured document to be added to an appropriate record is added by using the matching of the value set directly in value.

なお、リソース・テーブル1900に登録される構造化文書には、データ作成・編集などの履歴をトレース可能とするため、作成および編集を受けた時刻のタイムスタンプが登録されている。各タイムスタンプは、データベース・システムの管理者などが、データ変更履歴を検査し、例えば、デフォルトや英語の値が更新された後に他の言語の値も更新されているかなどを検出するために利用される。   In the structured document registered in the resource table 1900, a time stamp of the time of creation and editing is registered so that the history of data creation / editing can be traced. Each time stamp is used by a database system administrator to check the data change history and detect whether, for example, the default or English values have been updated and other language values have been updated. Is done.

図20は、本実施形態で、テーブルを作成する際、RESOURCEデータ・タイプのカラム情報として、カテゴリ名=MTHを指定したものである。図20に示したデータ構造は、RESOURCEデータ・タイプのカラムMONTHとINTEGERデータ・タイプのカラムNUM_OF_DAYSを保持するT1のテーブル情報2030と、テーブル情報2030のカラムMONTHの属性を定義するリソース情報テーブル2020と、カテゴリMTHのリソース・テーブル2000を示している。図21の実施例の場合、リソース・カラムMONTH自体では、言語リソースを保持せず、キーを保持する。キーに対応する値は、そのカテゴリのリソース・テーブル2000が、カラム2010においてキーとともに保持する。   FIG. 20 shows a case where category name = MTH is specified as column information of the RESOURCE data type when creating a table in this embodiment. The data structure shown in FIG. 20 includes a table information 2030 of T1 that holds a column MONTH of RESOURCE data type and a column NUM_OF_DAYS of INTEGER data type, and a resource information table 2020 that defines attributes of the column MONTH of table information 2030. , A resource table 2000 of category MTH is shown. In the embodiment of FIG. 21, the resource column MONTH itself does not hold a language resource but holds a key. The value corresponding to the key is held together with the key in the column 2010 by the resource table 2000 for that category.

クライアント230からSELECT文などのより2030で表されるテーブルの”MONTH”のデータ取得要求を受領すると、SELECT文中に言語識別値が設定されていればその値を利用し、設定されていなければ言語識別レジスタのCHARSETの値を言語識別値として利用し、MONTHの保存域に格納されているキーに相当するデータを該当するカテゴリのリソース・テーブルから検出し、その言語識別値に該当する値を取得する。その言語識別値に該当する値がなければデフォルトとして格納されている値を取得する。   When a data acquisition request for “MONTH” of a table represented by 2030 is received from the client 230, such as a SELECT statement, the language identification value is set in the SELECT statement, and if not, the language identification value is used. Using the value of CHARSET in the identification register as the language identification value, data corresponding to the key stored in the MONTH save area is detected from the resource table of the corresponding category, and the value corresponding to the language identification value is obtained. To do. If there is no value corresponding to the language identification value, the value stored as default is acquired.

図21は、本実施形態で、リソース・カラムを保持するテーブルがリソース・テーブルを参照中であることを示す、リソース参照情報を格納するリソース参照テーブル2100の実施形態を示す。リソース参照テーブル2100は、カテゴリ名付きでリソース・カラムを定義した際、そのスキーマ名と、テーブル名と、カラム名とをカテゴリ名に関連付けた情報を保持するテーブルであり、リソース参照情報格納部に格納されるデータ構造体である。図21に示した実施形態では、リソース参照テーブル2100のREFカラムには、構造化文書<reference category =”MTH”>として、そのカテゴリを参照しているスキーマ名とテーブル名とカラム名とが登録されている。さらに、CITYカテゴリについては、2つのテーブル“CUSTINFO”および“SHOPINFO”の“CITY”カラムから参照されていることが示されている。   FIG. 21 shows an embodiment of a resource reference table 2100 that stores resource reference information indicating that the table holding the resource column is referring to the resource table in the present embodiment. The resource reference table 2100 is a table that holds information that associates a schema name, a table name, and a column name with a category name when a resource column is defined with a category name. A data structure to be stored. In the embodiment shown in FIG. 21, in the REF column of the resource reference table 2100, a schema name, a table name, and a column name referring to the category are registered as a structured document <reference category = “MTH”>. Has been. Further, it is shown that the CITY category is referenced from the “CITY” column of the two tables “CUSTINFO” and “SHOPINFO”.

リソース・カラムを利用してデータを更新する処理を説明する。この場合のSQL文は、データの更新を実行するSQL文CHARSET ‘言語識別値’を付加することにより実装することができる。下記式(11)を使用して特定の実施形態について説明する。   A process for updating data using a resource column will be described. The SQL statement in this case can be implemented by adding the SQL statement CHARSET 'language identification value' for updating data. Specific embodiments will be described using the following formula (11).

Figure 0005336827
Figure 0005336827

上記式(11)中、CHARSET ‘言語識別値’は、オプションとして省略可能で、CHARSET節を省略した場合、言語識別レジスタ120bのCHARSETの値を言語識別値として使用する。式(11)の例では言語識別値としてイタリア語(it)を指定する実施形態である。式(11)で示すように、リソース・カラムのデータも、他のデータ・タイプのカラムと同様のフォーマットで、構造化文書として記述することができる。   In the above formula (11), CHARSET 'language identification value' can be omitted as an option. When the CHARSET clause is omitted, the value of CHARSET in the language identification register 120b is used as the language identification value. The example of Expression (11) is an embodiment in which Italian (it) is designated as the language identification value. As shown in Expression (11), the data in the resource column can also be described as a structured document in the same format as the columns of other data types.

図12〜図18の処理で、WHERE節にリソース・カラムが指定されている場合、言語識別値のデータを取り出して処理する。言語識別値のデータがない場合、デフォルトのデータを取り出して処理する。SET節にリソース・カラムが指定されている場合、言語識別値のデータとして保存される。すでに言語識別値のデータが保存されていれば置き換え、保存されていなければ挿入する。保存や挿入の方法は、リソース・カラムを保持するテーブルにデータを挿入する処理と同様な方法で行う。   12 to 18, when a resource column is specified in the WHERE clause, language identification value data is extracted and processed. If there is no language identification value data, default data is extracted and processed. If a resource column is specified in the SET clause, it is saved as language identification value data. If the language identification value data is already saved, it is replaced. If not, it is inserted. The storage and insertion methods are the same as the processing for inserting data into a table holding resource columns.

なお、式(11)の更新処理を行う前の状態としてMONTHの値のデフォルト値として‘January’が登録されており、それに相当するイタリア語が登録されていない場合、式(11)の更新処理により、MONTHに設定された値のデフォルト値‘January’に相当するデータにイタリア語の’Gennaio’が登録される。一方、すでにMONTHの値として、デフォルト値‘January’に相当するイタリア語がすでに登録されている場合は、式(11)の更新処理では、MONTH=’January’に該当するレコードが見つからないため、データの更新は行われないこととなる。   If 'January' is registered as the default value of the MONTH value as the state before the update process of Expression (11) is performed, and the corresponding Italian language is not registered, the update process of Expression (11) Thus, Italian “Gennaio” is registered in the data corresponding to the default value “January” of the value set in MONTH. On the other hand, if the Italian value corresponding to the default value 'January' has already been registered as the value of MONTH, the record corresponding to MONTH = 'January' is not found in the update process of formula (11). Data is not updated.

また、リソース・カラムを利用してデータを削除する処理のSQL文は、更新と同様な処理で該当レコードを見つけることにより実装することができる。   In addition, the SQL statement for deleting data using resource columns can be implemented by finding the corresponding record by the same process as updating.

Figure 0005336827
Figure 0005336827

式(12)の場合も同様に、CHARSETの‘言語識別値’は、オプションで省略可能で、省略した場合、言語識別レジスタ120bのCHARSETの値を言語識別値として使用する。式(12)の例は、言語識別値として日本語(ja)を指定する場合を例示している。WHERE節にリソース・カラムが指定されている場合、言語識別値のデータを取り出して処理する。言語識別値のデータがない場合、デフォルトのデータを取り出して処理する。上記式(12)では、MONTHの値の日本語データが‘1月’のレコードが削除される。削除されるレコードのカラムで、カテゴリ名付きのリソース・カラムが定義されている場合、そのカテゴリのリソースの該当キーの参照カウンタを1つ減らす。   Similarly, in the case of Expression (12), the ‘language identification value’ of CHARSET can be omitted as an option. If omitted, the value of CHARSET in the language identification register 120 b is used as the language identification value. The example of Expression (12) illustrates the case where Japanese (ja) is specified as the language identification value. If a resource column is specified in the WHERE clause, language identification value data is fetched and processed. If there is no language identification value data, default data is extracted and processed. In the above formula (12), the record whose Japanese data of MONTH is “January” is deleted. If a resource column with a category name is defined in the column of the record to be deleted, the reference counter of the corresponding key of the resource of the category is decremented by one.

データの照会処理は、SELECT文などを使用して実装することができ、リソース・カラムに対する処理は、挿入・更新・削除などと同様な処理で情報処理装置110に実装することができる。下記式(13)に、照会処理で使用するSQL文の実施形態を説明する。   The data inquiry process can be implemented using a SELECT statement or the like, and the process for the resource column can be implemented in the information processing apparatus 110 by the same process as the insertion / update / deletion process. The following formula (13) describes an embodiment of the SQL statement used in the query process.

Figure 0005336827
Figure 0005336827

上記式(13)中、CHARSET ‘言語識別値’は、オプションで省略可能で、省略した場合、言語識別レジスタ120bのCHARSETの値を言語識別値として使用する。式(13b)の例では言語識別値として日本語語(ja)を指定するものとして説明する。式(13b)で示したようにリソース・カラムのデータも、他のデータ・タイプのカラムと同様に記述することができる。リソース・カラムのデータを照会する処理は、言語識別値に対応するデータを抽出することにより実行することができる。式(13c)の例では、リソース・カラムの値を要求するSELECT文で、この場合も、他のデータ・タイプのカラムと同様に記述することができる。リソース・カラムの値の取得は、言語識別値の値を取得し、なければ、デフォルトの値を取得する。   In the above formula (13), CHARSET 'language identification value' can be omitted as an option. When omitted, the value of CHARSET in the language identification register 120b is used as the language identification value. In the example of Expression (13b), description will be made assuming that Japanese language (ja) is designated as the language identification value. As shown in the expression (13b), the data in the resource column can be described in the same manner as other data type columns. The process of querying the data in the resource column can be executed by extracting data corresponding to the language identification value. In the example of the expression (13c), a SELECT statement that requests the value of the resource column can be described in the same way as other data type columns. When acquiring the value of the resource column, the value of the language identification value is acquired. If not, the default value is acquired.

以下、本実施形態のデータベース・システム100に対する検索処理の実施形態を説明する。検索処理は、図1に示したデータ照会部124eが実行し、例えばSQLなどを使用する場合には、SELECT文をコマンド処理部118が受領し、データ処理部124に対して処理を依頼することにより実行される。検索結果は、表として生成され、クライアントに検索結果として返される。なお、検索処理は、クライアントが情報検索を行う目的で情報処理装置110にアクセスする他、RDBの管理者がデータベースをメンテナンスするための目的でRDBの内容を抽出する目的でのアクセスに対応する検索処理を含む。   Hereinafter, an embodiment of search processing for the database system 100 of the present embodiment will be described. The search processing is executed by the data inquiry unit 124e shown in FIG. 1. For example, when SQL is used, the command processing unit 118 receives the SELECT statement and requests the data processing unit 124 to perform processing. It is executed by. The search result is generated as a table and returned to the client as a search result. The search process is a search corresponding to an access for the purpose of extracting the contents of the RDB for the purpose of maintaining the database by the RDB administrator in addition to accessing the information processing apparatus 110 by the client for the purpose of searching for information. Includes processing.

本実施形態においても、SELECT文などでデータを照会する際には、スカラ関数や表関数として参照されるSQL関数を指定することができる。スカラ関数や表関数を実行する関数モジュールは、予め登録されており、SELECT文で登録したスカラ関数や表関数が指定されている場合、該当する関数モジュールが呼ばれる。スカラ関数用モジュールは処理結果として値を返す。表関数モジュールは処理結果として表データ(カラム名と0個以上のレコード)を返す。本実施形態で言語リソース対応処理を呼び出すためのスカラ関数と表関数を、下記表2に示すが、下記関数に限定されるものではない。   Also in this embodiment, when querying data using a SELECT statement or the like, an SQL function referred to as a scalar function or a table function can be specified. A function module for executing a scalar function or a table function is registered in advance. When a scalar function or a table function registered by a SELECT statement is specified, the corresponding function module is called. The scalar function module returns a value as the processing result. The table function module returns table data (column name and zero or more records) as the processing result. The scalar function and the table function for calling the language resource handling processing in this embodiment are shown in Table 2 below, but are not limited to the following functions.

Figure 0005336827
Figure 0005336827

図22は、本実施形態の検索処理で生成される、SELECT文および対応する検索結果のデータ構造の実施形態を示す。データ構造2200は、スキーマ「xxx」のテーブルT1のカラムMONTHが使用しているリソースのカテゴリ名を抽出するスカラ関数とそのレコードが保持するキー名を抽出するスカラ関数を含むSELECT文および検索結果を、図20のリソース・テーブル2030から抽出した場合の検索結果を示す。SELECT文は、カラムMONTHのカテゴリ名、カラムMONTHのキー名、カラムNUM_OF_DAYSの値(月の日数)をテーブルT1から抽出することを要求しており、検出結果には、それぞれの値がリストされているのが示されている。   FIG. 22 shows an embodiment of the data structure of the SELECT statement and the corresponding search result generated by the search processing of this embodiment. The data structure 2200 includes a SELECT statement including a scalar function for extracting the category name of the resource used by the column MONTH of the table T1 of the schema “xxx” and a key function held by the record, and a search result. The search result when extracted from the resource table 2030 of FIG. 20 is shown. The SELECT statement requests that the column MONTH category name, column MONTH key name, and column NUM_OF_DAYS value (number of days in the month) be extracted from the table T1, and each value is listed in the detection results. Is shown.

図22に示す実施形態では、表2に示した表2中、(1)の、カテゴリ名を返すスカラ関数は、該当するスキーマ名、テーブル名、カラム名に定義されているカテゴリ名を返す。カテゴリ名がない場合、NULLを返す。また、表2中、(2)のキー名を返すスカラ関数についても、リソース・カラムのデータに格納されているキーを返し、カテゴリ名を使用していない場合はキーも使用しないので、NULLを返す。また、図22の実施形態では、表2中、(3)のリソース情報を返す表関数1は、該当するカテゴリのリソース情報を表形式で返し、図22の2210の実施形態では、カラムとして、キー、参照カウンタ値、言語、値、作成日、最終更新日を返しているが、説明する実施形態に限定されるものではない。   In the embodiment shown in FIG. 22, in Table 2 shown in Table 2, the scalar function (1) that returns a category name returns the category name defined in the corresponding schema name, table name, and column name. If there is no category name, NULL is returned. Also, in Table 2, the scalar function that returns the key name of (2) also returns the key stored in the resource column data. If the category name is not used, the key is not used, so NULL is set. return. In the embodiment of FIG. 22, the table function 1 that returns the resource information of (3) in Table 2 returns the resource information of the corresponding category in a table format. In the embodiment of 2210 of FIG. Although the key, reference counter value, language, value, creation date, and last update date are returned, the present invention is not limited to the embodiment described.

表2中、(4)のリソース情報を返す表関数2の処理を説明すると、関数2は、該当するリソース・カラムが含むリソース情報を表形式で返し、スキーマ名と、テーブル名と、カラム名とを引数とし、表2中の表関数1の値に加え、キーの値と、カテゴリ名とを抽出する。IDは、同一リソース・カラムに保存されているデータを関連付けるために動的に生成され、使用されている。なお、リソース・テーブルにカテゴリ名がない場合、カテゴリ名、キー名、および参照カウンタの値は、NULLの値が返される。   In Table 2, the processing of the table function 2 that returns the resource information of (4) will be described. The function 2 returns the resource information included in the corresponding resource column in a table format, and includes a schema name, a table name, and a column name. Are used as arguments, and in addition to the value of the table function 1 in Table 2, the key value and the category name are extracted. IDs are dynamically generated and used to correlate data stored in the same resource column. If there is no category name in the resource table, NULL values are returned for the category name, key name, and reference counter value.

図23は、本実施形態のまた、表2中、(4)の関数を使用する検索結果の実施形態を示す。データ構造2300には、スキーマxxxのリソース・テーブルT1のカラムMONTHのリソース情報を抽出する表関数を含むSELECT文および検索結果を、図19に示すテーブルから抽出した場合の結果を示す。本実施形態で実装する、RESOURCE.RESOURCE_INFO(‘schema_name’,’table_name’,’column_name’) 表関数は、カテゴリ名、キー名、参照カウンタ値、値の言語、値、作成日時、最終更新日時を返しており、結果として、CATEGORY, KEY, REFCOUNT, CHARSET, VALUE, CREATED, LASTMODIFIEDカラムに対する値がリストされているのが示されている。図23に示したSELECT文では、テーブルのカラム名からリソース情報を抽出することができる。   FIG. 23 shows an embodiment of a search result using the function (4) in Table 2 of this embodiment. The data structure 2300 shows the result when the SELECT statement including the table function for extracting the resource information of the column MONTH of the resource table T1 of the schema xxx and the search result are extracted from the table shown in FIG. The RESOURCE.RESOURCE_INFO ('schema_name', 'table_name', 'column_name') table function implemented in this embodiment includes the category name, key name, reference counter value, value language, value, creation date, and last update date. The result shows that the values for CATEGORY, KEY, REFCOUNT, CHARSET, VALUE, CREATED, and LASTMODIFIED columns are listed. In the SELECT statement shown in FIG. 23, resource information can be extracted from the column name of the table.

さらに、図23には、表2中の(5)のリソース参照情報を返す関数、すなわち、どのテーブルのどのカラムが、どのカテゴリのリソースを参照しているかを返す表関数についての照会結果2310の実施形態を示す。検索結果2310の実施形態では、紹介対は、図21のリソース参照テーブル2100を対象としてその登録要素を抽出する実施形態である。   Further, FIG. 23 shows a query result 2310 for a function that returns resource reference information (5) in Table 2, that is, a table function that returns which column of which table refers to which category of resource. An embodiment is shown. In the embodiment of the search result 2310, the introduction pair is an embodiment in which registered elements are extracted from the resource reference table 2100 of FIG.

図23に示した検索処理は、データベースにアクセスしたクライアントが、RDBに登録されたデータを取得する目的で行うこともできる。また、図23に示した検索処理は、RDBの管理者が、言語間で対応付けられたデータが存在するか否かをチェックする目的で使用することができる。これにより、参照しているリソース・カラムを考慮しながら、リソース・テーブルをメンテナンスすることができる。   The search processing shown in FIG. 23 can also be performed for the purpose of acquiring data registered in the RDB by a client accessing the database. Further, the search process shown in FIG. 23 can be used by the RDB administrator for checking whether or not there is data associated between languages. As a result, the resource table can be maintained while considering the resource column being referenced.

図22および図23に示されるように、本実施形態では、多言語で表現されたデータが、単一のカラムで管理されており、それぞれの言語の値を保持するため、同じ意味を持つレコードを複数作成したり、テーブルを分割して管理することなく、多言語データを効率的に管理することが可能となる。   As shown in FIG. 22 and FIG. 23, in this embodiment, data expressed in multiple languages is managed in a single column, and records having the same meaning are stored in each language. Multilingual data can be managed efficiently without creating a plurality of files or dividing and managing a table.

図24は、本実施形態のリソース・テーブルの他の実施形態を示す。図24に示す実施形態は、リソース・テーブルとして、複数の言語表記に対応する社員情報を管理する場合の実施形態に相当する。データベース作成時には、リソース参照テーブル2410のみが存在し、以後の入力に対応してリソース・カラムを保持する社員情報テーブル2420の実体内容およびリソース・テーブルが作成される。   FIG. 24 shows another embodiment of the resource table of this embodiment. The embodiment shown in FIG. 24 corresponds to an embodiment in which employee information corresponding to a plurality of language notations is managed as a resource table. At the time of creating the database, only the resource reference table 2410 exists, and the entity content and resource table of the employee information table 2420 that holds the resource column corresponding to the subsequent input are created.

社員情報テーブルのカラムとして、社員の名前と勤務地を含め、社員の名前をカテゴリなしのリソース・カラム、社員の勤務地をカテゴリ名=CITYのリソース・カラム2430としている。社員情報テーブルの作成時、そのカラムで使用しているカテゴリCITY用のリソース・テーブルが存在していない場合、そのリソース・テーブルも作成され、リソース参照テーブルには、社員情報テーブルの勤務地カラムがカテゴリ名CITYのリソースを参照している情報を付加する。この場合、社員情報テーブルを作成するためのSQL文は、下記式(14)で与えられる。   As the columns of the employee information table, the employee name and work location are included, the employee name is the resource column without category, and the employee work location is the resource column 2430 with category name = CITY. If the resource table for the category CITY used in the column does not exist when creating the employee information table, the resource table is also created, and the work column of the employee information table is displayed in the resource reference table. Add information referring to the resource of category name CITY. In this case, the SQL statement for creating the employee information table is given by the following formula (14).

Figure 0005336827
Figure 0005336827

さらに、図24の実施形態では、リソース・テーブル2430(カテゴリ名=CITY)を参照する顧客情報テーブル2440を作成する。図24の実施形態では、顧客情報テーブル2440のカラムとして、その居住地RESIDENCEをカテゴリ名=CITYのリソース・カラムとして定義する。CITY用のリソース・テーブル2430は、SQL文(12)によりすでに作成されているので、当該リソース・テーブルのカラムを参照することができる。この場合、対応するリソース参照テーブルには、顧客情報テーブル2440の居住地カラムがカテゴリ名CITYのリソースを参照している情報を付加する。この場合の例示的なSQL文は、下記式(15)で与えられ、顧客情報テーブル2440=SCHEMA.CUSTINFOが作成される。   Furthermore, in the embodiment of FIG. 24, a customer information table 2440 that refers to the resource table 2430 (category name = CITY) is created. In the embodiment of FIG. 24, as the column of the customer information table 2440, the residence RESIDENCE is defined as a resource column of category name = CITY. Since the resource table 2430 for CITY has already been created by the SQL statement (12), the column of the resource table can be referred to. In this case, information referring to a resource whose category column is CITY in the customer information table 2440 is added to the corresponding resource reference table. An exemplary SQL sentence in this case is given by the following formula (15), and a customer information table 2440 = SCHEMA.CUSTINFO is created.

Figure 0005336827
Figure 0005336827

図25は、社員情報テーブルにいくつかのレコードが挿入された後のリソース・カラムとして定義される名前カラムを含むリソース・テーブル2500を示す。例えば、名前=山田太郎について、デフォルトの値、英語の値、ドイツ語の値、日本語の値、フランス語の値、およびイタリア語の値がXMLとして記述されていることが示されている。また、次レコードには、同様に、名前=佐藤一郎の値が登録されている。また、名前カラムに続いて、作成された他のカラムのデータが保存されている。   FIG. 25 shows a resource table 2500 that includes a name column defined as a resource column after several records have been inserted into the employee information table. For example, for the name = Taro Yamada, the default value, the English value, the German value, the Japanese value, the French value, and the Italian value are described as XML. Similarly, the value of name = Ichiro Sato is registered in the next record. Further, following the name column, data of other created columns is stored.

社員情報テーブルの名前カラムの定義は、データ構造2510のように他のカラムと同様な形式で管理されており、カテゴリ名としてNULLが設定されている。また、社員情報テーブルの勤務地カラムの定義は、カテゴリ名としてCITYが設定されている。勤務地カラムは、カテゴリ名付きのリソース・カラムで、その場合のデータ構造を2520に示す。カテゴリ名付きのリソース・カラムでは、そのデータとしてキー名が保存され、値は、そのカテゴリのリソース・テーブルにキーと関連付けて保存される。また、顧客情報テーブルの居住地カラムの定義は、データ構造2520のように、カテゴリ名としてCITYが設定されており、その場合の参照構造を与えるデータ構造を2520に示す。   The definition of the name column of the employee information table is managed in the same format as other columns like the data structure 2510, and NULL is set as the category name. Moreover, CITY is set as the category name in the definition of the work location column in the employee information table. The work column is a resource column with a category name, and the data structure in that case is shown in 2520. In a resource column with a category name, the key name is stored as the data, and the value is stored in the resource table of the category in association with the key. The definition of the residence column in the customer information table is set with CITY as the category name as in the data structure 2520. A data structure giving a reference structure in this case is shown in 2520.

図26は、カテゴリCITYのリソース・テーブルのデータ構造を示す。カテゴリCITYが有するリソース・カラム2600では、リソース・テーブルの最初のレコードに、キー名=Tokyoに対する値が、デフォルト、英語、ドイツ語、日本語、フランス語で定義されていることが示されている。また、顧客情報テーブル2610の居住地カラムには、キー名Osaka、Tokyo、New Yorkが登録されている。   FIG. 26 shows the data structure of the resource table of category CITY. In the resource column 2600 of the category CITY, it is indicated that the value for the key name = Tokyo is defined in the first record of the resource table in default, English, German, Japanese, and French. In the residence column of the customer information table 2610, key names Osaka, Tokyo, and New York are registered.

説明する実施形態では、リソース・テーブル2600のカテゴリCITYのリソース・カラムにおけるTokyoとNew Yorkの参照カウンタは、社員情報テーブルおよび顧客情報テーブルの両方から参照されていることを示し、refcount=2とされる一方、キー名=Osakaの参照カウンタは、refcount=1に保持され、それぞれrefcount属性の値として設定されている。図26の実施形態の場合に生成されるリソース参照情報テーブルのデータ構造を、テーブル2630に示す。リソース参照情報テーブル2630のでは、カテゴリCITYのリソース・テーブル2600がEMPINFOのWORKLOCカラムとCUSTINFOのRESIDENCEが参照していることが記述されている。また、データ構造2610に示すように、キーにより相互参照可能とされている。   In the described embodiment, the reference counters of Tokyo and New York in the resource column of category CITY in the resource table 2600 indicate that reference is made from both the employee information table and the customer information table, and refcount = 2. On the other hand, the reference counter of the key name = Osaka is held at refcount = 1, and is set as the value of the refcount attribute. The data structure of the resource reference information table generated in the embodiment of FIG. The resource reference information table 2630 describes that the category CITY resource table 2600 refers to the EMPINFO WORKLOC column and the CUSTINFO RESIDENCE. Further, as shown in the data structure 2610, the keys can be cross-referenced with each other.

上述したように、リソース・テーブルを使用することで、複数のカラムから同一リソースを参照することが可能となっている。   As described above, by using the resource table, it is possible to refer to the same resource from a plurality of columns.

以上のように、本発明によれば、多言語対応することが必要なデータであっても、それぞれの言語の値を保持するために同じ意味を持つレコードを複数作成したり、テーブルを分割して管理するといったことをすることなく、多言語データを効率的に管理することが可能となる。   As described above, according to the present invention, even in the case of data that needs to be supported in multiple languages, a plurality of records having the same meaning are created or the table is divided to hold the values of the respective languages. Multilingual data can be managed efficiently without having to manage them.

本発明は、例えば、全世界の人々が参加可能な、インターネット掲示板に掲載されるメッセージなどを管理するためのデータベースの他、ウェブ・サイトのコンテンツをクライアント230の言語環境に適合させて提供するためのデータベースなどに適用することができ、既存のDB2などのリレーショナル・データベースを拡張して実装することができる。   The present invention provides, for example, a database for managing messages posted on an Internet bulletin board that can be attended by people all over the world, as well as contents of a web site adapted to the language environment of the client 230. The relational database such as the existing DB2 can be extended and implemented.

さらに本発明の上記機能処理部は、本発明を説明するための具体的な実施形態として説明したものであり、各機能は、特的の実装形式に対応し、情報処理装置のいかなる処理部の機能として実装されてもよい。   Further, the function processing unit of the present invention is described as a specific embodiment for explaining the present invention, and each function corresponds to a specific mounting format, and any processing unit of the information processing apparatus It may be implemented as a function.

本実施形態の上記機能は、C++、Java(登録商標)、Java(登録商標)Beans、Java(登録商標)Applet、Java(登録商標)Script、Perl、Rubyなどのオブジェクト指向プログラミング言語などで記述された装置実行可能なプログラムにより実現でき、当該プログラムは、ハードディスク装置、CD−ROM、MO、フレキシブルディスク、EEPROM、EPROMなどの装置可読な記録媒体に格納して頒布することができ、また他装置が可能な形式でネットワークを介して伝送することができる。   The functions of this embodiment are described in an object-oriented programming language such as C ++, Java (registered trademark), Java (registered trademark) Beans, Java (registered trademark) Applet, Java (registered trademark) Script, Perl, and Ruby. The program can be realized by a program executable by the apparatus, and the program can be stored in a device-readable recording medium such as a hard disk device, CD-ROM, MO, flexible disk, EEPROM, EPROM, and distributed. It can be transmitted over the network in a possible format.

これまで本実施形態につき説明してきたが、本発明は、上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。   Although the present embodiment has been described so far, the present invention is not limited to the above-described embodiment, and other embodiments, additions, changes, deletions, and the like can be conceived by those skilled in the art. It can be changed, and any aspect is within the scope of the present invention as long as the effects and effects of the present invention are exhibited.

本実施形態のデータベース・システム100の実施形態。Embodiment of the database system 100 of this embodiment. クライアントが本実施形態の情報処理装置110に接続してから接続を切断するまでのシーケンスの実施形態。An embodiment of a sequence from when a client connects to the information processing apparatus 110 of this embodiment to when the connection is disconnected. 情報処理装置110下とクライアントがセッションを開始し、終了するまでの処理の概略的なフローチャート。4 is a schematic flowchart of processing from when the information processing apparatus 110 and the client start and end a session. 本実施形態で、実装される、リソース・テーブルに対する処理を指令するコマンドと判断した場合の図3のステップS305の処理の詳細なフローチャート。FIG. 4 is a detailed flowchart of processing in step S305 in FIG. 3 when it is determined that the command is a command for instructing processing for a resource table to be implemented in the present embodiment. 本実施形態で、テーブルに対する処理を実行するテーブル処理部124が実行する、図3のステップS304処理の詳細なフローチャート。FIG. 4 is a detailed flowchart of processing in step S304 in FIG. 3 executed by the table processing unit 124 that executes processing on a table in the present embodiment. 本実施形態で、図4のステップS406で、言語リソース処理部126が実行する、リソース・テーブルを作成する場合の概略的な処理のフローチャート。FIG. 6 is a flowchart of a schematic process for creating a resource table executed by the language resource processing unit 126 in step S406 of FIG. 4 in the present embodiment. 本実施形態で、図5のステップS508で、テーブル処理部124が実行する、テーブルを作成する処理のフローチャート。6 is a flowchart of processing for creating a table executed by the table processing unit 124 in step S508 of FIG. 5 in the present embodiment. 図4のステップS408の処理の詳細なフローチャート。5 is a detailed flowchart of the process in step S408 in FIG. 本実施形態に従い、リソース・テーブルに挿入されたデータ構造の実施形態。Embodiment of a data structure inserted into a resource table according to this embodiment. 本実施形態のリソース・テーブルに登録されたデータの更新処理のフローチャート。6 is a flowchart of update processing of data registered in the resource table of the embodiment. 本実施形態のリソース・テーブルに登録されたデータの更新処理を、スクリプトおよび構造化文書で記述されたデータを使用して説明する図。The figure explaining the update process of the data registered into the resource table of this embodiment using the data described by the script and the structured document. 本実施形態のリソース・テーブルに登録されたデータの削除処理のフローチャート。6 is a flowchart of processing for deleting data registered in the resource table of the embodiment. 本実施形態の情報処理装置110において、リソース・カラムを保持するテーブルにデータを挿入する処理のフローチャート。9 is a flowchart of processing for inserting data into a table holding resource columns in the information processing apparatus 110 according to the present embodiment. 図13の処理に後続する処理のフローチャート。14 is a flowchart of processing subsequent to the processing in FIG. 13. 本実施形態の情報処理装置110において、リソース・カラムを保持するテーブルに登録されたデータの更新を行う処理のフローチャート。9 is a flowchart of processing for updating data registered in a table holding resource columns in the information processing apparatus 110 according to the present embodiment. 図15の挿入処理の後続する処理のフローチャート。16 is a flowchart of processing subsequent to the insertion processing in FIG. 本実施形態でリソース・カラムを保持するテーブルに登録されたデータの削除を行う処理のフローチャート。10 is a flowchart of processing for deleting data registered in a table holding resource columns in the embodiment. 図17に後続する削除処理のフローチャート。FIG. 18 is a flowchart of a deletion process subsequent to FIG. 本実施形態で、テーブルを作成する際、リソース・カラムとして、カテゴリ名を指定しなかったテーブルの実施形態。Embodiment of the table which did not specify a category name as a resource column when creating a table in this embodiment. 本実施形態で、テーブルを作成する際、リソース・カラムとして、カテゴリ名=MTHを指定した実施形態。In this embodiment, when creating a table, an embodiment in which category name = MTH is specified as a resource column. 本実施形態で、リソース・カラムを保持するテーブルがリソース・テーブルを参照していることを示す、リソース参照情報テーブル2100の実施形態。Embodiment of the resource reference information table 2100 which shows that the table holding a resource column is referring to a resource table in this embodiment. 本実施形態の検索処理で生成される、SELECT文および対応する検索結果のデータ構造の実施形態。An embodiment of a data structure of a SELECT statement and a corresponding search result generated by the search processing of this embodiment. 本実施形態の検索処理の実施形態の他の実施形態。Another embodiment of the search processing embodiment of the present embodiment. 本実施形態のリソース・カラムおよびリソース・テーブルの他の実施形態。Other embodiment of the resource column and resource table of this embodiment. 社員情報テーブルにいくつかのレコードが挿入された後の名前カラムのデータ構造2500を示した図。The figure which showed the data structure 2500 of the name column after some records were inserted in the employee information table. 顧客情報テーブルおよびカテゴリCITYを有するリソース・テーブルおよびリソース参照情報テーブルのデータ構造を示した図。The figure which showed the data structure of the resource table which has a customer information table and the category CITY, and a resource reference information table. 多言語対応のために利用されている従来のデータベースのデータ構造を示した図。The figure which showed the data structure of the conventional database utilized for multilingual correspondence.

符号の説明Explanation of symbols

100…データベース・システム、110…情報処理装置、112…ネットワーク、114…ネットワーク・アダプタ、116…クライアント接続処理部、118…コマンド処理部、120…言語設定部、120a…レジスタ処理部、120b…言語識別レジスタ、124…テーブル処理部、126…言語リソース処理部、128…他処理部、130…テーブル格納部、132…言語リソース・テーブル格納部 DESCRIPTION OF SYMBOLS 100 ... Database system, 110 ... Information processing apparatus, 112 ... Network, 114 ... Network adapter, 116 ... Client connection processing part, 118 ... Command processing part, 120 ... Language setting part, 120a ... Register processing part, 120b ... Language Identification register 124... Table processing unit 126. Language resource processing unit 128. Other processing unit 130 130 Table storage unit 132 Language resource table storage unit

Claims (19)

複数の言語環境を使用するクライアントからのアクセス要求を処理する情報処理装置であって、前記情報処理装置は、
多言語リソース・データを格納するリソース・テーブルであって、データベースにおいて多言語表記されたデータを含むカラムから参照することができるリソース・テーブルを格納するリソース・テーブル格納部と、
前記情報処理装置にアクセスする前記クライアントの言語環境を識別し、前記言語環境を設定する言語設定部と、
前記言語設定部に前記クライアントの言語環境を指定する言語識別値を設定するクライアント接続処理部と、
前記アクセス要求が含むコマンドを検査し、前記リソース・テーブルに対する操作を要求するコマンドの存在を判断するコマンド処理部と、
前記コマンド処理部が前記リソース・テーブルに対する操作を要求するコマンドが含まれると判断した場合に前記コマンドを受領して、前記言語設定部に設定された前記言語環境により前記リソース・テーブルにアクセスさせ、同一の値についての異なる言語で記述された値を含む複数の構造化文書を、前記リソース・テーブルに対し、同一の値ごとのレコードに子ノードとして登録する言語リソース処理部と
を含む情報処理装置。
An information processing apparatus that processes an access request from a client that uses a plurality of language environments, the information processing apparatus includes:
A resource table that stores multilingual resource data, and a resource table storage unit that stores a resource table that can be referred to from a column including multilingual data in the database;
A language setting unit for identifying a language environment of the client accessing the information processing apparatus and setting the language environment;
A client connection processing unit for setting a language identification value for designating a language environment of the client in the language setting unit;
A command processing unit that examines a command included in the access request and determines the presence of a command that requests an operation on the resource table ;
When the command processing unit determines that a command requesting an operation on the resource table is included, the command processing unit receives the command, and causes the resource table to be accessed by the language environment set in the language setting unit, An information processing apparatus comprising: a language resource processing unit that registers a plurality of structured documents including values described in different languages for the same value as a child node in a record for each same value in the resource table .
前記言語設定部は、前記情報処理装置がデフォルト設定として使用する言語環境を登録するデフォルト設定部を含み、前記クライアント接続処理部は、前記クライアントが当該セッション中に発行したアクセス要求が含む言語識別値をクライアント言語環境として優先して登録する、請求項1に記載の情報処理装置。   The language setting unit includes a default setting unit that registers a language environment used as a default setting by the information processing apparatus, and the client connection processing unit includes a language identification value included in an access request issued by the client during the session. The information processing apparatus according to claim 1, wherein priority is registered as a client language environment. 前記クライアント言語環境は、前記アクセス要求に含まれる言語識別値に応じて変更される、請求項2に記載の情報処理装置。   The information processing apparatus according to claim 2, wherein the client language environment is changed according to a language identification value included in the access request. 前記情報処理装置は、前記クライアント言語環境を前記デフォルト設定よりも優先した言語環境として設定し、前記クライアントごとに異なるクライアント言語環境を提供する、請求項3に記載の情報処理装置。   The information processing apparatus according to claim 3, wherein the information processing apparatus sets the client language environment as a language environment having priority over the default setting, and provides a different client language environment for each client. 前記言語リソース処理部は、前記言語設定部により設定された言語環境を使用して前記構造化文書の挿入、更新、削除をそれぞれ実行させる、リソース・データ挿入部と、リソース・データ更新部と、リソース・データ削除部とを含む、請求項4に記載の情報処理装置。   The language resource processing unit is configured to execute insertion, update, and deletion of the structured document using the language environment set by the language setting unit, a resource data insertion unit, a resource data update unit, The information processing apparatus according to claim 4, further comprising a resource / data deletion unit. 複数の言語環境を使用するクライアントからのアクセス要求を処理するデータベース・システムであって、前記データベース・システムは、
多言語リソース・データを格納するリソース・テーブルであって、データベースにおいて多言語表記されたデータを含むカラムから参照することができるリソース・テーブルを格納するリソース・テーブル格納部と、
前記情報処理装置にアクセスする前記クライアントの言語環境を識別し、前記言語環境を設定する言語設定部と、
前記言語設定部に前記クライアントの言語環境を指定する言語識別値を設定するクライアント接続処理部と、
前記アクセス要求が含むコマンドを検査し、前記リソース・テーブルに対する操作を要求するコマンドの存在を判断するコマンド処理部と、
前記コマンド処理部が前記リソース・テーブルに対する操作を要求するコマンドが含まれると判断した場合に前記コマンドを受領して、前記言語設定部に設定された前記言語環境により前記リソース・テーブルにアクセスさせ、同一の値についての異なる言語で記述された値を含む複数の構造化文書を、前記リソース・テーブルに対し同一の値ごとのレコードに子ノードとして登録する言語リソース処理部とを含み、
前記言語設定部は、前記情報処理装置の前記言語環境をデフォルト設定として登録するデフォルト設定部と、前記クライアントが当該セッション中に発行したアクセス要求が含む言語識別値をクライアント言語環境として登録するクライアント接続処理部と
を含む、データベース・システム。
A database system that processes access requests from clients using multiple language environments, the database system comprising:
A resource table that stores multilingual resource data, and a resource table storage unit that stores a resource table that can be referred to from a column including multilingual data in the database;
A language setting unit for identifying a language environment of the client accessing the information processing apparatus and setting the language environment;
A client connection processing unit for setting a language identification value for designating a language environment of the client in the language setting unit;
A command processing unit that examines a command included in the access request and determines the presence of a command that requests an operation on the resource table ;
When the command processing unit determines that a command requesting an operation on the resource table is included, the command processing unit receives the command, and causes the resource table to be accessed by the language environment set in the language setting unit, A language resource processing unit that registers a plurality of structured documents including values described in different languages for the same value as a child node in a record for each same value in the resource table ;
The language setting unit includes a default setting unit that registers the language environment of the information processing apparatus as a default setting, and a client connection that registers a language identification value included in an access request issued by the client during the session as a client language environment. A database system including a processing unit.
前記言語設定部は、前記情報処理装置がデフォルト設定として使用する言語環境を登録するデフォルト設定部を含み、前記クライアント接続処理部は、前記クライアントが当該セッション中に発行したアクセス要求が含む言語識別値をクライアント言語環境として優先して登録する、請求項6に記載のデータベース・システム。   The language setting unit includes a default setting unit that registers a language environment used as a default setting by the information processing apparatus, and the client connection processing unit includes a language identification value included in an access request issued by the client during the session. The database system according to claim 6, wherein priority is registered as a client language environment. 前記言語リソース処理部は、前記言語設定部により設定された言語環境を使用して前記構造化文書の挿入、更新、削除をそれぞれ実行させる、リソース・データ挿入部と、リソース・データ更新部と、リソース・データ削除部とを含み、前記言語リソース処理部は、前記コマンド処理部が前記リソース・テーブルに対する操作を要求するコマンドであると判断した場合に当該コマンドを使用した前記リソース・テーブルへのアクセスを実行する、請求項6に記載のデータベース・システム。 The language resource processing unit is configured to execute insertion, update, and deletion of the structured document using the language environment set by the language setting unit, a resource data insertion unit, a resource data update unit, A resource data deletion unit, and the language resource processing unit accesses the resource table using the command when the command processing unit determines that the command requests an operation on the resource table . The database system according to claim 6, wherein: 前記クライアント言語環境は、前記アクセス要求に含まれる言語識別値に応じて変更される、請求項7に記載のデータベース・システム。   The database system according to claim 7, wherein the client language environment is changed according to a language identification value included in the access request. 前記データベース・システムは、前記クライアント言語環境を前記デフォルト設定よりも優先した言語環境として設定し、前記クライアントごとに異なるクライアント言語環境を提供する、請求項8に記載のデータベース・システム。   The database system according to claim 8, wherein the database system sets the client language environment as a language environment prioritizing the default setting, and provides a different client language environment for each client. 複数の言語環境を使用するクライアントからのアクセス要求を処理する情報処理装置が実行する情報処理方法であって、
前記情報処理装置は、多言語リソース・データを格納するリソース・テーブルであって、データベースにおいて多言語表記されたデータを含むカラムから参照することができるリソース・テーブルを格納するリソース・テーブル格納部を備え、
前記情報処理装置が、
前記情報処理装置にアクセスする前記クライアントの言語環境を識別し、言語環境を設定する言語設定部に、クライアント言語環境を指定する言語識別値を設定するステップと、
前記アクセス要求が含むコマンドを検査し、前記リソース・テーブルに対する操作を要求するコマンドの存在を判断するステップと、
前記リソース・テーブルに対する操作を要求するコマンドが存在するコマンドが含まれると判断した場合に前記コマンドを受領して、前記言語設定部に設定された前記言語環境により前記リソース・テーブルにアクセスさせるステップと、
同一の値についての異なる言語で記述された値を含む複数の構造化文書を、前記リソース・テーブルに対して同一の値ごとのレコードに子ノードとして登録するステップと
を実行する、情報処理方法。
An information processing method executed by an information processing apparatus that processes an access request from a client using a plurality of language environments,
The information processing apparatus is a resource table that stores multilingual resource data, and includes a resource table storage unit that stores a resource table that can be referred to from a column including multilingual data in a database. Prepared,
The information processing apparatus is
Identifying a language environment of the client accessing the information processing apparatus, and setting a language identification value for designating the client language environment in a language setting unit for setting the language environment;
Examining a command included in the access request and determining the presence of a command requesting an operation on the resource table ;
Receiving the command when it is determined that a command for requesting an operation for the resource table is included , and accessing the resource table by the language environment set in the language setting unit; ,
Registering a plurality of structured documents including values described in different languages for the same value as a child node in a record for each same value in the resource table .
前記言語設定部は、前記データベースが管理するメモリ領域に確保され、前記言語識別値を設定するステップは、
前記情報処理装置の前記言語環境をデフォルト設定として前記メモリ領域に登録するステップと、
前記クライアントが発行したアクセス要求が含む言語識別値をクライアント言語環境として前記メモリ領域の異なるアドレスに登録するステップと
を含む、請求項11に記載の情報処理方法。
The language setting unit is secured in a memory area managed by the database, and the step of setting the language identification value includes:
Registering the language environment of the information processing apparatus in the memory area as a default setting;
The information processing method according to claim 11, further comprising: registering a language identification value included in an access request issued by the client as a client language environment at a different address in the memory area.
前記同一の値ごとのレコードに子ノードとして登録するステップは、
前記クライアント言語環境を前記デフォルト設定よりも優先した言語環境として前記子ノードを作成し、前記レコードに登録するステップを含む、請求項11に記載の情報処理方法。
The step of registering as a child node in the record for each same value is as follows:
The information processing method according to claim 11, further comprising: creating the child node with the client language environment prioritized over the default setting and registering the child node in the record.
さらに、前記クライアント言語環境を前記アクセス要求に含まれる言語識別値に応じて変更するステップを含む、請求項13に記載の情報処理方法。   The information processing method according to claim 13, further comprising a step of changing the client language environment according to a language identification value included in the access request. 複数の言語環境を使用するクライアントからのアクセス要求を処理する情報処理方法を情報処理装置が実行するためのコンピュータ実行可能なプログラムであって、前記プログラムは、多言語リソース・データを格納するリソース・テーブルであって、データベースにおいて多言語表記されたデータを含むカラムから参照することができるリソース・テーブルを格納するリソース・テーブル格納部を備える前記情報処理装置が、
前記情報処理装置にアクセスする前記クライアントの言語環境を識別し、言語環境を設定する言語設定部に、クライアント言語環境を指定する言語識別値を設定するステップと、
前記アクセス要求が含むコマンドを検査し、前記リソース・テーブルに対する操作を要求するコマンドの存在を判断するステップと、
前記リソース・テーブルに対する操作を要求するコマンドが存在すると判断した場合に前記コマンドを受領して、前記言語設定部に設定された前記言語環境により前記リソース・テーブルにアクセスさせるステップと、
同一の値についての異なる言語で記述された値を含む複数の構造化文書を、前記リソース・テーブルに対して同一の値ごとのレコードに子ノードとして登録するステップと
を実行する、コンピュータ実行可能なプログラム。
A computer-executable program for an information processing apparatus to execute an information processing method for processing an access request from a client using a plurality of language environments, the program including a resource storing multilingual resource data The information processing apparatus comprising a resource table storage unit that stores a resource table that is a table and can be referenced from a column including data expressed in a multilingual database .
Identifying a language environment of the client accessing the information processing apparatus, and setting a language identification value for designating the client language environment in a language setting unit for setting the language environment;
Examining a command included in the access request and determining the presence of a command requesting an operation on the resource table ;
Receiving the command when it is determined that there is a command for requesting an operation for the resource table, and accessing the resource table by the language environment set in the language setting unit;
Registering a plurality of structured documents including values written in different languages for the same value as a child node in a record for each of the same values in the resource table . program.
前記言語設定部は、前記データベースが管理するメモリ領域に確保され、前記言語識別値を設定するステップは、
前記情報処理装置の前記言語環境をデフォルト設定として前記メモリ領域に登録するステップと、
前記クライアントが発行したアクセス要求が含む言語識別値をクライアント言語環境として前記メモリ領域の異なるアドレスに登録するステップと
を含む、請求項15に記載のプログラム。
The language setting unit is secured in a memory area managed by the database, and the step of setting the language identification value includes:
Registering the language environment of the information processing apparatus in the memory area as a default setting;
The program according to claim 15, comprising: registering a language identification value included in an access request issued by the client as a client language environment at a different address in the memory area.
前記同一の値ごとのレコードに子ノードとして登録するステップは、
前記クライアント言語環境を前記デフォルト設定よりも優先した言語環境として前記子ノードを作成し、前記レコードに登録するステップを含む、請求項16に記載のプログラム。
The step of registering as a child node in the record for each same value is as follows:
The program according to claim 16, further comprising the step of creating the child node as a language environment in which the client language environment is prioritized over the default setting and registering the child node in the record.
さらに、前記クライアント言語環境を前記アクセス要求に含まれる言語識別値に応じて変更するステップを含む、請求項17に記載のプログラム。   The program according to claim 17, further comprising changing the client language environment according to a language identification value included in the access request. 複数の言語環境を使用するクライアントからのアクセス要求を処理する情報処理装置であって、前記情報処理装置は、
多言語リソース・データを格納するリソース・テーブルであって、データベースにおいて多言語表記されたデータを含むカラムから参照することができるリソース・テーブルを格納するリソース・テーブル格納部と、
前記情報処理装置にアクセスする前記クライアントの言語環境を識別し、前記言語環境を設定する言語設定部と、
前記言語設定部に前記クライアントの言語環境を指定する言語識別値を設定するクライアント接続処理部と、
前記アクセス要求が含むコマンドを検査し、前記リソース・テーブルに対する操作を要求するコマンドの存在を判断するコマンド処理部と、
前記コマンド処理部が前記リソース・テーブルに対する操作を要求するコマンドが含まれると判断した場合に前記コマンドを受領して、前記言語設定部に設定された前記言語環境により前記リソース・テーブルにアクセスさせ、同一の値についての異なる言語で記述された値を含む複数の構造化文書を、前記リソース・テーブルに対し同一の値ごとのレコードに子ノードとして登録する言語リソース処理部と
を含み、
前記言語設定部は、前記情報処理装置がデフォルト設定として使用する言語環境を登録するデフォルト設定部を含み、前記クライアント接続処理部は、前記クライアントが当該セッション中に発行したアクセス要求が含む言語識別値をクライアント言語環境として優先して登録し、
前記クライアント言語環境は、前記アクセス要求に含まれる言語識別値に応じて変更され、前記クライアント言語環境を前記デフォルト設定よりも優先した言語環境として設定して、前記クライアントごとに異なるクライアント言語環境を提供し、
前記言語リソース処理部は、前記言語設定部により設定された言語環境を使用して前記構造化文書の挿入、更新、削除をそれぞれ実行させる、リソース・データ挿入部と、リソース・データ更新部と、リソース・データ削除部とを含む、情報処理装置。
An information processing apparatus that processes an access request from a client that uses a plurality of language environments, the information processing apparatus includes:
A resource table that stores multilingual resource data, and a resource table storage unit that stores a resource table that can be referred to from a column including multilingual data in the database;
A language setting unit for identifying a language environment of the client accessing the information processing apparatus and setting the language environment;
A client connection processing unit for setting a language identification value for designating a language environment of the client in the language setting unit;
A command processing unit that examines a command included in the access request and determines the presence of a command that requests an operation on the resource table ;
When the command processing unit determines that a command requesting an operation on the resource table is included, the command processing unit receives the command, and causes the resource table to be accessed by the language environment set in the language setting unit, A language resource processing unit that registers a plurality of structured documents including values described in different languages for the same value as a child node in a record for each same value in the resource table , and
The language setting unit includes a default setting unit that registers a language environment used as a default setting by the information processing apparatus, and the client connection processing unit includes a language identification value included in an access request issued by the client during the session. As a client language environment,
The client language environment is changed according to a language identification value included in the access request, and the client language environment is set as a language environment prioritizing the default setting, and a different client language environment is provided for each client. And
The language resource processing unit is configured to execute insertion, update, and deletion of the structured document using the language environment set by the language setting unit, a resource data insertion unit, a resource data update unit, An information processing apparatus including a resource / data deletion unit.
JP2008303885A 2008-11-28 2008-11-28 Information processing apparatus, database system, information processing method, and program Expired - Fee Related JP5336827B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008303885A JP5336827B2 (en) 2008-11-28 2008-11-28 Information processing apparatus, database system, information processing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008303885A JP5336827B2 (en) 2008-11-28 2008-11-28 Information processing apparatus, database system, information processing method, and program

Publications (2)

Publication Number Publication Date
JP2010128861A JP2010128861A (en) 2010-06-10
JP5336827B2 true JP5336827B2 (en) 2013-11-06

Family

ID=42329201

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008303885A Expired - Fee Related JP5336827B2 (en) 2008-11-28 2008-11-28 Information processing apparatus, database system, information processing method, and program

Country Status (1)

Country Link
JP (1) JP5336827B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9495420B2 (en) * 2013-05-22 2016-11-15 International Business Machines Corporation Distributed feature collection and correlation engine
WO2015029193A1 (en) 2013-08-29 2015-03-05 株式会社野村総合研究所 Web server system, application development assistance system, multilingual support method in web server system, multi-device support method in web server system, and application development assistance method
JP6986394B2 (en) * 2017-09-11 2021-12-22 株式会社日立システムズ Data maintenance system, data maintenance method

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003091344A (en) * 2001-09-19 2003-03-28 Sony Corp Information processor, information processing method, recording medium, data structure and program

Also Published As

Publication number Publication date
JP2010128861A (en) 2010-06-10

Similar Documents

Publication Publication Date Title
EP3686748B1 (en) Synchronizing content blocks between multiple electronic documents
US7877682B2 (en) Modular distributed mobile data applications
US9390179B2 (en) Federated search
US5826258A (en) Method and apparatus for structuring the querying and interpretation of semistructured information
KR101331532B1 (en) Dynamic method for generating xml documents from a database
JP3466857B2 (en) Dictionary updating method and dictionary updating system
US8311974B2 (en) Modularized extraction, transformation, and loading for a database
US20090234823A1 (en) Remote Access of Heterogeneous Data
US20090327277A1 (en) Methods and apparatus for reusing data access and presentation elements
US9967370B2 (en) OData enabled mobile software applications
US20130246437A1 (en) Extended database search
JP2005018754A (en) Sharing computer object with association
JPH11134227A (en) File format converting method, and file system, information system, and electronic commerce transaction system using the method
US7792857B1 (en) Migration of content when accessed using federated search
JP5336827B2 (en) Information processing apparatus, database system, information processing method, and program
JP2006172067A (en) Database management method, system and program
KR20200001139A (en) Server for editing electronic document based on message including edit command and operating method thereof
JP5224839B2 (en) Document management system, document management apparatus, document management method, and program
JPH10143539A (en) Information retrieving method, its system, recording medium recording information resource dictionary data and recording medium recording information retrieving program
JPH11143910A (en) Extension system for composite object and computer readable recording medium
US20040172382A1 (en) System and method for generating a request for information about selected objects
JP3565117B2 (en) Access method for multiple different information sources, client device, and storage medium storing multiple different information source access program
JP2002063165A (en) Method and system and program for information retrieval, and recording medium having the same program recorded thereon
JP5157551B2 (en) Object linkage system, object linkage method and program
JP3347506B2 (en) Machine translation system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110916

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120802

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120821

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121018

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130219

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20130219

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130614

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20130624

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130709

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130802

R150 Certificate of patent or registration of utility model

Ref document number: 5336827

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees