JPH08101784A - リレーショナルデータベースにおけるサブタイプ関係実装方法及び装置 - Google Patents

リレーショナルデータベースにおけるサブタイプ関係実装方法及び装置

Info

Publication number
JPH08101784A
JPH08101784A JP6236460A JP23646094A JPH08101784A JP H08101784 A JPH08101784 A JP H08101784A JP 6236460 A JP6236460 A JP 6236460A JP 23646094 A JP23646094 A JP 23646094A JP H08101784 A JPH08101784 A JP H08101784A
Authority
JP
Japan
Prior art keywords
data
attribute
child
attributes
name
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.)
Pending
Application number
JP6236460A
Other languages
English (en)
Inventor
Tomihiko Tsunoda
東明彦 角田
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP6236460A priority Critical patent/JPH08101784A/ja
Publication of JPH08101784A publication Critical patent/JPH08101784A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【目的】リレーショナルデータベースのテーブル設計に
おいて、メモリ効率の向上を図る。 【構成】リレーショナルデータベースのテーブル設計に
おいて、テーブルにサブタイプ関係が含まれる場合に、
値が入っていないフィールドを持つ属性が複数あるテー
ブルを、共通属性(全フィールドに値が入っている属
性)のみを持つテーブル(親テーブル)と、共通属性以
外の属性と、元となるテーブルのキー属性を持つテーブ
ル(子テーブル)とに分割してデータを格納する。 【効果】テーブルを分割して定義することにより、デー
タが親テーブルのデータ、子テーブルのデータと分けて
格納されているため、従来と比較して属性数が多い場合
にレコードの分割リード/ライトが生じることが少なく
なり、アクセス効率が向上する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、リレーショナルデータ
ベースにおけるサブタイプ関係実装方法及び装置に関す
る。
【0002】
【従来の技術】従来の技術では、増永良文:リレ−ショ
ナルデ−タベ−ス入門;サイエンス社;p59〜p89、に記
載のように、リレーショナルデータベースのテーブル設
計において、正規化作業は行うが、テ−ブル定義後にサ
ブタイプ関係を考慮してテーブルを再構成することは述
べられていなかった。
【0003】
【発明が解決しようとする課題】従来の方法では、リレ
ーショナルデータベースのテーブル定義の際に、サブタ
イプ関係が存在する場合でも、当該テーブルを1つのテ
ーブルとして定義していたため、属性の数が多い場合に
レコードの分割リード/ライトが生じることがある。ま
た、値が入っていないフィールドを多く含む場合に不要
なメモリを要するという問題がある。本発明の目的は、
サブタイプ関係を含むテーブルを親テーブルと子テーブ
ルとに分割し、テーブルのデータへのアクセス効率の向
上と、メモリ効率の向上を図ることにある。
【0004】
【課題を解決するための手段】本発明は、上記目的を達
成するために、値が入っていないフィールドを持つ属性
が複数あるテーブルを、テーブルの定義とテーブルに格
納されるデータが与えられた際に、共通属性(全フィー
ルドに値が入っている属性)のみを持つテーブル(親テ
ーブル)と、共通属性以外の属性と、元となるテーブル
のキー属性を持つテーブル(子テーブル)とに分割して
データを格納するものである。
【0005】
【作用】リレーショナルデータベースのテーブル設計に
おいて、テーブルにサブタイプ関係が含まれる場合に、
テーブルを分割して定義することにより、データが親テ
ーブルのデータ、子テーブルのデータと分けて格納され
るため、従来と比較して属性数が多い場合にレコードを
分割してリード/ライトすることが少なくなり、アクセ
ス効率が向上する。さらに値の入っていないフィールド
を排除できるため、メモリ効率を向上させることができ
る。
【0006】
【実施例】以下、本発明の一実施例を図1〜図10に従
って説明する。図1に本実施例で取り扱うサブタイプ関
係実装システムのシステム構成を示す。本システムは以
下から構成される。101は入力装置102からの要求によ
り、処理を行う処理装置である。102は処理要求を入力
する入力装置である。103は入力装置102より入力された
データと、処理装置101の処理結果を表示する表示装置
である。104はテーブルを分割する際に親となるテーブ
ルの管理情報を格納する、親テーブル情報ファイルであ
る。105はテーブルを分割する際に子となるテーブルの
管理情報を格納する、子テーブル情報ファイルである。
106は親テーブルのデータを格納する親テーブルデータ
ファイルである。107は子テーブルのデータを格納する
子テーブルデータファイルである。202は入力装置102よ
り入力されたテーブルの定義と、テーブルに格納される
データをセットする、登録テーブル入力エリアである。
203はテーブルを分割する際に親テーブルの候補となる
テーブルの属性をセットする、親テーブル属性生成ワー
クエリアである。204はテーブルを分割する際に子テー
ブルの候補となるテーブルの属性をセットする、子テー
ブル属性生成ワークエリアである。201は入力装置102か
ら入力された情報をもとに、テーブルを親テーブルと子
テーブルに分割して格納する、テーブル登録プログラム
である。205はファイル名をもとに、親テーブルデータ
ファイル106と、子テーブルデータファイル107へアクセ
スする、ファイルアクセスシステムプログラムである。
206は入力装置102から入力された問い合わせ要求によ
り、親テーブルデータファイル106と子テーブルデータ
ファイル107から該当するデータを取得するテーブルア
クセスプログラムである。
【0007】最初に、処理の流れの概略を述べる。ま
ず、入力装置102から入力されたテーブルの定義と、テ
ーブルに格納されるデータを登録テーブル入力エリア20
2にセットする。次に登録テーブル入力エリア202に入力
されたデータをサーチし、ヌルデータを持つ属性名を発
見する。発見されたヌルデータを持つ属性名は、子テー
ブル属性生成ワークエリア204にセットされ、それ以外
のヌルデータを持たない属性名は、親テーブル属性生成
ワークエリア203にセットされる。この後に子テーブル
属性生成ワークエリア204にセットされている属性名を
1件取り出し、登録テーブル入力エリア202にセットさ
れているテーブルのキー属性と合わせて、子テーブル情
報ファイル105に格納する。上記の処理は、子テーブル
属性生成ワークエリア204にセットされている属性名す
べてについて繰り返される。同様に、親テーブル属性生
成ワークエリア203にセットされているすべての属性名
を、親テーブル情報ファイル104に格納する。最後に登
録テーブル入力エリアにセットされている実際のデータ
を、ファイルアクセスシステムプログラムを用い、親テ
ーブルデータファイル106と、子テーブルデータファイ
ル107に格納する。
【0008】以下ではまずテーブル構造を説明し、その
後でテーブル登録プログラム201の詳細な説明を、図1
のフローチャートを用いて行う。図2は登録テーブル入
力エリア202であり、入力装置102より入力されたテーブ
ルのテーブル名エリア202a、テーブルのキーとなる属性
名エリア202b-1〜202b-n、テーブルの属性名エリア202c
-1〜202c-N、それぞれの属性に対応したデータエリア20
2d-1〜202d-sから構成される。図3は親テーブル属性生
成ワークエリア203であり、親テーブルの属性となる属
性名をセットするエリア203-1〜203-kから構成される。
図4は子テーブル属性生成ワークエリア204であり、子
テーブルの属性となる属性名をセットするエリア204-1
〜204-qから構成される。図5は親テーブル情報ファイ
ル104であり、実際のデータが格納されるデータファイ
ル名エリア104a、親テーブル名エリア104b、子となるテ
ーブル名エリア104c-1〜104c-t、親テーブルの属性名エ
リア104d-1〜104d-kから構成される。図6は子テーブル
情報ファイル105であり、実際のデータが格納されるデ
ータファイル名エリア105a、子テーブル名エリア105b、
子テーブルの属性名エリア105c-1〜105c-rから構成され
る。図7は親テーブルデータファイル106であり、登録
テーブル入力エリア202のデータ202d-1〜202d-sのう
ち、親テーブルのデータが格納されるエリア106-1〜106
-kから構成される。図8は子テーブルデータファイル10
7であり、登録テーブル入力エリア202のデータ202d-1〜
202d-sのうち、子テーブルのデータが格納されるエリア
107-1〜107-rから構成される。
【0009】次に、テーブル登録プログラム201の処理
の詳細説明を図9のフローチャートを用いて行う。ま
ず、入力装置102から入力されたテーブルのテーブル
名、テーブルのキーとなる属性名、テーブルの属性名、
各レコード毎のデータを、登録テーブル入力エリア202
にセットする(ステップ1001)。次に、登録テーブル入
力エリア202の実データエリア202d-1〜202d-sをサーチ
し、実際のデータにヌルデータを持つ属性名を探して、
子テーブル属性生成ワークエリア204のエリア204-1〜20
4-qにセットする(ステップ1002)。また、登録テーブ
ル入力エリア202で、実際のデータにヌルデータを持た
ない属性名は親テーブル属性生成ワークエリア203のエ
リア203-1〜203-kにセットする(ステップ1003)。そし
て、子テーブル属性生成ワークエリア204のエリア204-1
〜204-qにセットされている属性名を1件取り出し、登
録テーブル入力エリア202にセットされているすべての
キー属性名202b-1〜202b-nと合わせて新しいリレーショ
ンを作り、子テーブル情報ファイル105に格納する(ス
テップ1004)。この際に子テーブル名エリア105bには、
登録テーブル入力エリア202にセットされているテーブ
ル名202aに一連番号を付加した名称を格納し、子テーブ
ル情報ファイル105のデータファイル名エリア105aに
は、子テーブル名と同じ名称を格納する。上記の処理
は、子テーブル属性生成ワークエリア204に格納されて
いる属性名すべてについて繰り返され、作成された新し
いリレーションが子テーブル情報ファイル105に既に存
在する場合は、子テーブル情報ファイル105には格納し
ない。さらに、親テーブル属性生成ワークエリア203の
エリア203-1〜203-kにセットされているすべての属性名
を合わせて新しいリレーションを作り、親テーブル情報
ファイル104に格納する(ステップ1005)。この際に親
テーブル情報ファイル104のデータファイル名エリア104
aと、親テーブル名エリア104bには、登録テーブル入力
エリア202にセットされているテーブル名202aを格納
し、子テーブル名エリア104c-1〜104c-tには、子テーブ
ル情報ファイル105のエリア105bに格納されている子テ
ーブル名を格納する。最後に、親テーブル情報ファイル
104のデータファイル名104aと、子テーブル情報ファイ
ル105のそれぞれの子テーブルに対応したデータファイ
ル名105aと同じ名称のファイルを作成し、登録テーブル
入力エリア内の実データ202d-1〜202d-sのうち、親テー
ブルのデータを親テーブルデータファイル106のエリア1
06-1〜106-kに、子テーブルのデータをそれぞれの子テ
ーブルに対応した子テーブルデータファイル107のエリ
ア107-1〜107-rに格納する(ステップ1006)。
【0010】次に、子テーブルに格納されているデータ
にアクセスする場合の実施例を、テーブルアクセスプロ
グラム206のフローチャート図10を用いて説明する。
【0011】ここでは、検索したいデータの属性名とし
て、子テーブルの属性名、検索の対象となるテーブル名
として、親テーブル名、検索条件に関わる属性名とし
て、子テーブルの属性名を指定する場合を考える。まず
入力装置102より、検索したいデータの属性名、検索の
対象となるテーブル名、検索条件を入力する。次に、入
力装置102より入力されたテーブル名をもとに、親テー
ブル情報ファイル104のエリア104bを検索し、対応する
子テーブル名104c-1〜104c-tを取得する(ステップ200
1)。さらに、取得した子テーブル名と、入力装置102よ
り入力された、検索したいデータの属性名をもとに、子
テーブル情報ファイル105のエリア105bと105c-1〜105c-
rを検索し、対応する子テーブルのデータファイル名105
aを取得する(ステップ2002)。取得したデータファイ
ル名をファイルアクセスシステムプログラムに渡して、
子テーブルデータファイル107にアクセスし、子テーブ
ルデータファイル107のレコードを1レコードづつ読み
込む(ステップ2003)。ここで、子テーブルデータファ
イル107に格納されている全レコードを読んだかを判定
し(ステップ2004)、読んでいない場合は読み込んだレ
コードに対して、入力装置102より入力した検索条件を
満たすかを判定し(ステップ2005)、検索条件を満たす
場合には該当するデータをワークエリアに格納する(ス
テップ2006)。検索条件を満たさない場合には、子テー
ブルデータファイル107の次レコードを読み込む(ステ
ップ2003)。ステップ2003から2006までの処理を繰り返
し、子テーブルデータファイル107の全てのレコードを
読み込んだ場合は、ワークエリアに格納されているデー
タを表示装置103に表示し(ステップ2007)、処理を終
了する。
【0012】ステップ2003で、テーブルを親テーブルの
データファイルと子テーブルのデータファイルとに分け
ていない場合は、テーブルの属性が多い場合はテーブル
アクセスプログラム206がレコードを分割して複数回読
み込むことがありうる。この場合には、レコードのI/O
に時間が多くかかり、応答特性が劣化すると考えられ
る。
【0013】
【発明の効果】以上述べたように、本発明によれば、リ
レーショナルデータベースのテーブル設計において、テ
ーブルにサブタイプ関係がある場合に、テーブルを分割
して定義することにより、データが親テーブルのデー
タ、子テーブルのデータと分けて格納されているため、
従来と比較して属性数が多い場合にレコードの分割リー
ド/ライトが生じることが少なくなり、アクセス効率が
向上する。さらに値の入っていないフィールドを排除で
きるため、メモリ効率を向上させることができる。
【図面の簡単な説明】
【図1】本発明の実施例が適用される計算機システムの
システム構成である。
【図2】登録テーブル入力エリア202の詳細図である。
【図3】親テーブル属性生成ワークエリア203の詳細図
である。
【図4】子テーブル属性生成ワークエリア204の詳細図
である。
【図5】親テーブル情報ファイル104の詳細図である。
【図6】子テーブル情報ファイル105の詳細図である。
【図7】親テーブルデータファイル106の詳細図であ
る。
【図8】子テーブルデータファイル107の詳細図であ
る。
【図9】テーブル登録プログラム201の詳細な動作を示
すフローチャートである。
【図10】テーブルアクセスプログラム206の詳細な動
作を示すフローチャートである。
【符号の説明】
101…処理装置、 102…入力装置、 103…表
示装置、104…親テーブル情報ファイル、 105…子
テーブル情報ファイル、106…親テーブルデータファイ
ル、 107…子テーブルデータファイル、201…テーブ
ル登録プログラム、 202…登録テーブル入力エリ
ア、203…親テーブル属性生成ワークエリア、204…子テ
ーブル属性生成ワークエリア、205…ファイルアクセス
システムプログラム、206…テーブルアクセスプログラ
ム。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】リレーショナルデータベースのテーブル定
    義において、正規化されたテーブルの中で、値が入って
    いないフィールドを持つ属性が複数あるテーブルを、共
    通属性(全フィールドに値が入っている属性)のみを持
    つテーブルと、共通属性以外の属性と、元となるテーブ
    ルのキー属性を持つテーブルとに分けて定義することを
    特徴とするリレーショナルデータベースにおけるサブタ
    イプ関係実装方法。
  2. 【請求項2】リレーショナルデータベースのテーブル定
    義において、正規化されたテーブルの中で、値が入って
    いないフィールドを持つ属性が複数あるテーブルを、共
    通属性(全フィールドに値が入っている属性)のみを持
    つテーブルと、共通属性以外の属性と、元となるテーブ
    ルのキー属性を持つテーブルとに分けて定義する手段を
    有するリレーショナルデータベースにおけるサブタイプ
    関係実装装置。
JP6236460A 1994-09-30 1994-09-30 リレーショナルデータベースにおけるサブタイプ関係実装方法及び装置 Pending JPH08101784A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6236460A JPH08101784A (ja) 1994-09-30 1994-09-30 リレーショナルデータベースにおけるサブタイプ関係実装方法及び装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6236460A JPH08101784A (ja) 1994-09-30 1994-09-30 リレーショナルデータベースにおけるサブタイプ関係実装方法及び装置

Publications (1)

Publication Number Publication Date
JPH08101784A true JPH08101784A (ja) 1996-04-16

Family

ID=17001081

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6236460A Pending JPH08101784A (ja) 1994-09-30 1994-09-30 リレーショナルデータベースにおけるサブタイプ関係実装方法及び装置

Country Status (1)

Country Link
JP (1) JPH08101784A (ja)

Similar Documents

Publication Publication Date Title
US7240044B2 (en) Query optimization by sub-plan memoization
US6122644A (en) System for halloween protection in a database system
JP2001075969A (ja) 画像管理検索装置、画像管理検索方法及び記憶媒体
JPH10312396A (ja) データベースシステムおよびデータベース検索プログラムを記録したコンピュータ読み取り可能な記録媒体
JPH02297670A (ja) データベース検索方式
JPH08101784A (ja) リレーショナルデータベースにおけるサブタイプ関係実装方法及び装置
JPH1091644A (ja) データベース問い合わせ処理方法及び装置
JP2718836B2 (ja) データベースシステム
JPH081642B2 (ja) キーワード検索方式
JP2001265783A (ja) スタースキーマ検索方式およびそのプログラム記録媒体
JPH0969112A (ja) 知的財産情報管理システム
JP2798147B2 (ja) データベース入出力方法および入出力装置
JPH0359774A (ja) 検索支援システムおよびデータベース・システム
JPH05257979A (ja) キーワード候補抽出機能付きデータベースシステム
JPH10254887A (ja) データベースシステム
JPS59188766A (ja) デ−タベ−ス検索処理装置
JPH05165891A (ja) データベースのデータ登録・検索方式
JPH10240744A (ja) レンジ分割表の検索処理方式、検索処理方法および検索 処理プログラムを記録した記録媒体
JPH0764835A (ja) リレーショナルデータベースのデータ格納方式
JPH01303566A (ja) フアイリングシステムのデータ検索・登録方法
JP2000148782A (ja) リレーショナルデータベースの検索方法およびシステムならびにリレーショナルデータベースの検索プログラムを記録した情報記録媒体
JPH041855A (ja) 文書図面管理システム
JPS62282372A (ja) ライブラリ管理方式
JPH04232542A (ja) データベース検索方式
JPH1196050A (ja) データベース管理システム