関係データベースの設計法

全文

(1)

357

実体関連モデルを用いた 関係データベースの設計法

谷  口  伸  一

1.はじめに

 近年,企業の情報システムの設計目的は,これまでの「業務の合理化・省力 化」を目的とした業務処理中心の設計から,「顧客サービスの向上,収益の増大,

機会の獲得による競争優位の獲得・維持」を目的とするデータ中心設計へと移 行している。これを情報システムの再構築と呼ぶが,「確度の高い情報資源管理,

鮮度の高い情報伝達,感度の良い情報活用」が決め手となっている。特に,情 報資源管理は,情報システムの中核となるもので,知識として保有し得るよう な情報をつくり出すためにデータを管理することをいい,データベースシステ        のムによって実現される。一般的にデータベースの構築には,関係モデルに基づ く関係データベース管理システム (RDBMS)が利用される。これまで,関係 データベース(RDB)の設計は,データ要素間の従属性を用いて,データ要素 を正規化された関係へと合成するアプローチがとられてきた。しかし,近年の 情報資源管理の概念の定着は,データベニス化の対象となる情報構造の拡大お

よび複雑化を引き起こし,従来のアプローチでは,設計が非常に困難になって いる。そこで,実世界のデータ構造を,より直接的に関連づけるいくつかの意 味データモデル(semantic datamodel)の研究が活発に行われている。一般的に,

       ラ 意味データモデルは,関係モデルに比べて,次のような特長がある。

 (1)概念的な要素を操作することができる。

 (2)データ間の関連を表現する種々の手法を提供している。

(2)

(3)抽象化メカニズムを提供している。

意味データモデルの特長は,データのより自然な利用を可能にするが,データ ベース管理システム(DBMS)は,現在開発段階にあるため,すぐた利用できる 状況ではない。そこで,意味データモデルの特長を活かして,実世界の概念的

な構造を設計し,これを定式的に関係モデルへ変換して,完成度の高い RDBMSを利用するアプローチが現実的なデータベース構築法と考えられる。

 本稿は,RDBを効率的に設計するための一手法として,意味データモデルの 一種である実体関連モデル(ERモデル:Entity−Relationship modeDを用いた RDB設計法について議論する。すなわち, ERモデルを用いてデータ構造の概 念モデルを設計し,これを関係モデルに変換して論理構造を設計するアプロー

チについて論じる。ERモデルは,実世界のあらゆるものを実体(entity)と実 体間の関連(reiationship)で表現しようとするものであるが, ERモデルで設計 される関係スキーマは,一般的に第三正規形になるため,RDBMSによるデー タベースの設計に適している。さらに,本アプローチの有効性を,筆者がこれ        ヨ 

まで行ってきた教務情報処理システムの設計に適用して検討する。

2.データモデル

 データベース論では,データベース化する対象を実世界と呼ぶ。しかし,実 世界をそのまま計算機内に取り込むことができないため,物理的,論理的に許 される範囲内で,実世界のデータ構造(例えば,社員には技能という属性があると か,学生は科目を受講するといった関連)をモデル化する。そのためのモデルを データモデルと呼び,現在大きく分けて,次の4種類が存在している。

 (1)階層モデル(hierarchical model)

 (2)ネットワークモデル(network model)

 (3)関係モデル(relational m。del)

 (4)意味データモデル(semantic data model)

 この順序は,データ処理効率の高い順を表わしているが,モデルの自由度や

(3)

       実体関連モデルを用いた関係データベースの設計法  359 機能の面からみると低いものよりならべた順となっている。関係モデルは,

RDBMSとして,ほとんどの計算機で利用可能であり,次のような特長を有し

ている。

 (a)理論的基礎がしっかりしている。

 (b)単純である。

 (c)他のモデルへの変換が容易である。

 (d)高水準のデータモデルとのインターフェースが容易である。

 (e)物理モデルからのデータ独立性が高い。

特に,(a)は,データを集合論における関係で表現したことにより,データの 操作やデータの意味的制約を述語論理によって定義できることを明らかにした。

 ところが,関係モデルはデータの意味や関係を,データ値を使って間接的に しか表現できないことや,もともと複雑な構造を無理に平坦な形式に変換しな ければならないといった弱点があるため,大規模化するデータベースの設計を 困難にしている。そこで,意味データモデルに基づくDBMSの開発が期待され ている。しかし,商用的に提供されるDBMSは関係モデルまでであり,また RDBMSの完成度が高いこともあって, RDBMSと次世代DBMSとは, デー

タベース化の対象に応じて使い分けていくというのが研究者らの一致した見解 になっている。そこで,実世界を概念レベルと論理レベルに分けてモデル化す ることを考え,概念レベルのモデリングに意味データモデルの一つであるER モデルを用い,論理レベルのモデリングに関係モデルを適用することは,適切 な方法の一つと考えられる。両者の結合による設計法を議論するために,関係        む のモデルとERモデルの基礎概念について述べる。

 2.1.関係モデル  2.1.1. 関係とRDB

関係モデルにおける関係について定義する。D!, D2,_, D.をn個の集合 とし,集合Diの要素を砺とすると, Dtは次のように書き表すことができる。

(4)

     D! = {dti, dt2, …,dm}

形式的には,次のように表わす。

     1)霧={〔ちIp(du)}

ここで,P(d,、)は, dvが集合要素であることを判定する述語である。

例えば,

   学科の集合一{経済学科,経営学科,会計学科,情報管理学科},

   成績の集合一{aIaは整数かっ0≦a≦100}となる。

次に,集合の直積Dl×D2×…×Dn(n≧1)を,次のように定義する。

     {(d,,dパ…dn)1 d,∈D1, d2∈D2,…,dn∈Dn}

例えば,次の2つの集合の直積を考える。

   生徒={太郎,花子}

   性別={男,女}

   生徒×性別;{(太郎,男),(太郎,女),(花子,男),(花子,女)}

この直積の部分集合を関係(relation)という。例えば,{(太郎,男),(花子,

女)}は,一つの関係である。また,各要素は実世界の実体の性質を表わす。

 関係は,図1のように表(table)で表わせる。そのために,非常に平明な表 現となる。一つの関係は関係名をつけて参照する。関係の列は,各実体が共通 にもつ性質であるが,これを属性(attribute)と呼び,属性名をつけて識別する。

属性は,それぞれに対応する定義域(domain)をもつ。例えば,性別は男と女 の定義域を有している。各表の行は組(tuple)と呼ぶ。

(5)

   実体関連モデルを用いた関係データベースの設計法  361 関係名:生徒      関係名:成績

属性名 学生名各別}学科 太郎 、男 i経済

花子 i女 i会計   I       I

真里 ・女 i経営

学生名i科目名i担当i得点i評価

太郎 i経済学;山田

i80:

;優 太郎 1       唱       ,

煙o営学i柿元i 60

i可1

花子 唱       唱

A会計学i佐藤・i70 i良

真里 i経済学i山田1801 i優

真里 i経営学i柿元i 70 i良 図1 関係データベースの表現

 関係は,実世界のデータ構造の一部を表現するものであるが,全体は,関連 しあった関係の集合として表現できる。これを関係データベーススキーマ

(relational database scheme)というQ

 ところで,(太郎,女),(花子,男)のように,直積,関係とも要素のすべて が意味を持つとは限らない。つまり,自由な値の組合せが許されているわけで はなく,実世界のデータには何らかの制約条件が課せられている。例えば,図

1のRDBでは,太郎は男か女のどちらか一つの値をとり,かっ一つの学科に 所属する。あるいは学生名と科目が決まれば成績は一意に決まる。得点が80点 以上のとき評価を優とするなどの制約条件が存在する。RDB全体に関わる制約 を一貫性制約(consistency constraint)といい,これを犯さない限りにおいて データベースの更新が保証される。制約条件を満たしているかどうかを簡単に       の

調べる条件として,現在用いられているのは,次の4種である。

 (1)キー条件:学籍番号は学生を一意に識別するために使用される。従って,

   関係・生徒において学籍番号はキー(key)と呼ばれる。この関係に,既    にあるキー(学籍番号)の組を追加できない,また,キーをもたない組を    追加することもできないというのがキー条件である。

 (2)定義域条件:各属性に対して,決あられている定義域に該当するものの    みを受け入れるという条件。

 (3)定義域関連条件:属性AとBのとりうる値の集合の関連を示すもので    ある。例えば,属性Aの値集合は常に属性Bの値集合を含むか等しいと

(6)

   いう条件。

 (4)組内制約条件:一つの組内の値のみで検査できる制約条件である。例え    ば,(75点,優)というデータは拒否される。

 2.1.2.関係代数

 関係モデルは,関係の操作によって検索や更新要求を実現するために,以下 に示すような関係代数演算(relational algebra)を定義している.ここで,属性 集合をX,Y, Z,関係をR(X YZ)とする。また,関係Rの組をtとし,属性 集合Xに含まれる属性値(インスタンス:・instance)をt[X]と表わす.

 (1)射影(projection):関係Rの属性集合Xに対する射影をR[X]とする    と,

     R [X] = {t [X] 1tE R},

   と定義される.つまり,ある関係から列方向にいくつかの属性を取り出    し,新たな関係をつくり出す演算である.例えば,図1の関係・成績を    科目名と教官に対して射影すると,図2(a)になる.このとき重複する    組は省略される.

 (2)選択(selection):関係Rの属性Xに対する選択を1〜[XθC]とすると,

     R [XeC] =一 {t l t[X]eC, tER},

   と定義される.ただし,θは比較演算子=,〉,<,≧,≦,≠で,t    [X]と定数Cは比較可能であるとする。つまり,ある属性の値が定めら    れた条件を満足する組のみを取り出す演算である.例えば,成績から経    済学を修得しているものを取り出すと図2(b)となる.

 (3)制約(restriction):関係Rの属性集合Xとyに対する制約をR[Xθy]

   とすると,

     R [Xe Y] 一 {t l t[X] et[Y],tE R},

   と定義される.ただし,t[X]とt[y]は定義域が共通であり比較可能で

(7)

      実体関連モデルを用いた関係データベースの設計法  363   あるとする.

(4)自然結合(natural join):関係R1(XY)とR2(XZ)でy∩Z=φで   あるとき,自然結合Rl*R2は,

    R1 *R2−R (X YZ) 一 {t i t, [X] 一t, [X],

      tl[xy]∈1〜1, t2[XZ]∈R2}と定義される.

  自然結合ができるためには,RlとR2に同じ定義域をもつ属性が必要   である.これを結合属性という.自然結合は関係代数の中でも最も重要   であるが,次のようにして求められる.

  (a)1〜1とR2の直積1〜1×R2を求める.

  (b)直積から結合属性の値が等しい組のみを取り出す.

  (c)R2の結合属性を射影操作により取り除く.

  例えば,自然結合,生徒*成績は結合属性を学生名として行うことがで   き,結果は図2(c)となる.

科目 担当

経済学 山田 経営学 柿元 会計学 佐藤

学生 科目 担当 得点 評価 太郎 経済学 山田 80 真里 経済学 山田 80

(b)

(a)

学生 性別 学科i科目 i担当1得点i評価

太郎 経済i経済学i山田i80 i優      …

太郎 経済i経営学i柿元i60 i可

花子 会計i会計学i佐藤i70 、良      :

真里 経営i経済学i山田i80 優      :       1

真里 経営i経営学i柿元i70 i良

        (c)

図2 関係代数による射影,選択,結合

(8)

 2.1.3,正規化と従属性制約

 関係は正規形(normal form)のみを扱う。図3(a)は非正規形の例であり,

(b)はその正規形である.また,(b)は第一正規形(1NF:first normal form)

と呼ばれるが,この形式で保持される関係には,更新時に,次のような異状が 発生する.ここで,下線部(学生,科目)は,関係を一意に識別するキーである

ことを示す.

学生 科目 担当 得点 評価 学生

担当 得点 評価

太郎 経済学 山田 80 太郎 経済学 山田 80 経営学 柿元 60 太郎 経営学 柿元 60 花子 会計学 佐藤 70 花子 会計学 佐藤 70 真里 経済学 山田 80 優 真里 経済学 山田 80経営学 柿元 70 真里 経営学 柿元 70

(a) (b)

図3 非正規形と正規形

 (1)挿入時異状

 新しく科目(簿記,鈴木)が開講されたので,その情報だけでも関係に挿入し たいとする.っまり,組(一,簿記,鈴木,一一t一)を挿入することになるが(一 は空値:null valueを表わす),キー属性の学生が定まらないかぎりキー条件に抵 触するたあ挿入はできない.

 (2)削除時異状

 花子が卒業したため,組(花子,会計学,佐藤,70,良)を削除する.そのため に,会計学は佐藤先生が担当しているという情報までを失うことになる.ここ で,(一,会計学,佐藤,一,一)と更新することはキー条件に抵触するため許さ れない.

 (3)修正時異状

 少なくとも,次に示す異状が認められる.

 (a)山田先生は結婚されて田中先生になられたとする.そのための修正は二    ヶ所を必要とし,更新漏れを起こすことがある。

(9)

       実体関連モデルを用いた関係データベースの設計法  365  (b)花子が修得した科目は,会計学ではなく簿記であったとき,(会計学,佐    藤)を(簿記学,鈴木)に修正すると,会計学を佐藤先生が教えていると    いう情報が失われる.

 (c)太郎の経済学の得点を70に修正したとき,評価も良に修正することが必    要である.

 このような,異状が発生する原因は,三つの異なった事象を一つの関係で格 納しようとしたためである.そこで,図4のようにRl,R2,R3に分解する

ことで,上記の更新時異状のすべてが解消されることがわかる.また,このよ うに分解された関係を順に自然結合していくと元の関係に復元される.このよ うな分解を情報無損失分解(information lossless decomposition)という.そし て,第一正規形は,より高次な正規形に正規化(normalize)されたという.図

4は,いずれも第三正規形(3NF:third normal form)に正規化されている.

Rl

学生 科目 得点 太郎 経済学 80 太郎 経営学 60 花子 会計学 70 真里 経済学 80 真里 経営学 70

R2

科目 担当

経済学 山田 経営学 柿元 会計学 佐藤

R3

得点 80 70 60

評価 優 良 可

       図4 関係の情報無損失分解

 RDBの設計は,関係の正規化による一貫性制約を満足する関係集合の創出と 言える.関係の正規化には,従属性の概念が大きな役割を果たしているため,

従属性の概念のうち関数従属性(function dependency)と多値従属性

(multivalue dependency)を定義し正規化との関連を述べる.

(定義)X,Y, Zを属性集合とし,関係R(X YZ)上で,関数従属性X→yFが    存在するといわれるのは,次の条件が満たされるときである。

 ただし,t, t は関係Rの任意の組を表わす.

(α) t[X];t [X]ならばt[Y]=t [Y]となる.

(10)

つまり,属性集合Xの値を決めると属性集合y『の値が一意に決まる場合に,X からyへの関数従属性が存在する.例えば,図3の⑦)には,次のような関 数従属性が定義される.ただし,科目は一人の先生が担当するものとする.

   f1:{学生,科目}  → 担当,得点,評価    f2:科目      → 担当

   f3:得点      → 評価

関数従属性から,次の3っのことが定義できる.

 (1)完全従属(fully dePendency)

   関数従属性X→y『で,Xの任意の真部分集合X (X ⊆X)について,

   X →yが成立しないとき,YはXに完全従属しているという.

 (2)キーの特性化

   これまで,キーの概念を組の唯一識別子として表わしてきたが,関数従    属性の概念を用いて次のように定義できる。

   (定義)関係Rの属性集合Kが候補キーであるとは,次の性質を満たす    ときである。ただし,t, t は関係Rの任意の組とする。

   (a)t[K]=t 口(コならば,t==t ,かっ

   (b)Kのどのような真部分集合Hに対してもこの性質は成立しない。

 (3)関数従属性X→yならば多値従属性X→→yである。

   しかし,多値従属性X→→yならばX→y『が成立するとは限らない。後    述する多値従属性の性質から,関数従属性の存在は関係の情報無損失分    解の十分条件となる。いま,関係R(XYZ)にX→Yが存在すれば, R    は二つの射影R[XY] とR[XZ] に無損失分解できる。例えば,図3    (b)の関係は,科目→担当から1〜1(学生,科目,得点,評価),R2(科    目,担当)に分解される。さらに,Rlは得点→評価からRl(学生,科目,

   得点),R3(得点,評価)に分解される。これらはいずれも第三正規形に    なり,冗長性の排除と更新時異状のほとんど生じないことを保証する。

 第三正規形は,第二正規形(2NF:second normal form)より正規化される

(11)

       実体関連モデルを用いた関係データベースの設計法  367 が,R(学生,科目,得点,評価)は第二正規形である。なぜならば,第二正規形 は,次のように定義されるからである。

(定義)関係Rが第二正規形であるとは,次の条件を満たすときである。

   (a)Rは第一正規形である。

   (b)Rの全ての非キー属性はRの候補キーに完全従属している。

 この第二正規形では,正規度が十分ではなく,第一正規形で生じたのと同じ 更新時異状が発生することが認められる。原因は,得点→評価という関数従属 性が存在し,

 {学生,科目}→得点かっ得点→評価ならば{学生,科目}→評価

により推移的に導出される関数従属性が存在することによる。そこで,R1(学 生,科目,得点)とR3(得点,評価)の二つの関係に分解することで,全ての更 新時異状が解消される。また,情報無損失分解であるから,R1*R3により元

の関係に復元できる。これで,第三正規形に正規化されたことになる。そこで,

第三正規形は,次のように定義される。

(定義)関係Rが第三正規形であるとは,次の条件を満たすときである。

   (a)Rは第二正規形である。

   (b)Rの全ての非キー属性は,Rのいかなる候補キーにも推移的に従属      しない。

 しかし,第三正規形であっても,ある制約条件下では更新時異状を発生する。

そこで,第三正規形をより高次化したBoyce−Codd正規形が定義される。

(定義)関係RがBoyce−Codd正規形であるとは,次の条件を満たすときであ    る。

   X→YをRの関数従属性とするとき,

   (a)X→Yは自明な関数従属性であるか,または

   (b)XはRの候補キーを含む属性集合(超キー:super key)である。

しかし,Boyce−Codd正規形は,ある環境下ではあまりに強い条件であること が分かっている。つまり,関数従属性を保存しながらBoyce−Codd正規形に分 解することが可能ではないという理由による。

(12)

 従って,第三正規形は更新時異状の除去という点に関する限りBoyce−Codd 正規形と同じ利点をもち,かっ任意の関係に対し従属性保存および情報無損失 分解の性質を保存しうることのできる条件となりうる。

 陽に宣言される関数従属性には,次のような公理系が定義されており,隠れ た従属性を導き出すことができる。

 (1)Xを属性集合とし,YがXの部分集合(Y⊆X)ならば, X→Yである。

 (2)X→YかっZを任意の属性集合とすると,XUZ→yUZである。

 (3)X→Yかっ}z→ZならばX→Zである。

 以上の規則を可能な限り適用して,関係1〜が満たすべき関数従属性という一 貫性制約の全てを表すことができる。

 次に,もう一つの概念である,多値従属性について考える。多値従属性は実 世界においても多々見られるデータ構造である。例えば,趣味・特技あるいは クラブ活動の関係は図5(a)のように表現される。第一正規形にすれば図5

(b)になる。ここで,学生と趣味・特技の集合および学生とクラブの集合は,

それぞれ独立に対応していると考えることができる。これを多値従属性がある

といい,

   ノ1:学生→→趣味・特技,

   f2:学生→→クラブ活動,

と記す。そして図5(a)は(c)のように分解でき,更新時異状が解消されると ともに情報無損失分解となる。多値従属性は,形式的に次のように定義される。

(定義)関係R(X,Y, Z)が,その二つの射影R[X, y ]とR[X, Z]に情報    無損失分解されるとき,Rに多値従属性X→→Yが存在するという.

この定義より,次の系が導かれる.

(系1)関係R(X,Y, Z)が,その二つの射影R[X, y]とR[X, Z]に情報    無損失分解されるための必要かっ十分条件は,Rに多値従属性X→→Y    が存在することである.

 関数従属性と多値従属性を関連づける公理として,次の二つがある.

 (1)X→YならばX→→Y.

(13)

       実体関連モデルを用いた関係データベースの設計法  369

 (2)X→→y,Z⊆YかっYと素なWに対してW→ZならばX→Z.

(1)より,関数従属性は多値従属性の特殊な場合であると言える,さらに,情 報無損失分解の必要かっ十分条件は多値従属性の存在であったことから,関数 従属性は十分条件になることがわかる.

学生 趣味特技 クラブ名 テニス 基礎スキー 太郎 英会話 落語研究会 スキー オーケストラ 花子 ピアノ

(a)

学生 趣味特技 クラブ名 太郎 テニス 基礎スキー 太郎 テニス 落語研究会 太郎 英会話 基礎スキー 太郎 英会話 落語研究会 花子 スキー オーケストラ 花子 ピアノ オーケストラ

学生 趣味特技 太郎 テニス 太郎 英会話 花子 スキー 花子 ピアノ

学生 太郎 太郎 花子

クラブ名 基礎スキー 落語研究会 オーケストラ

(b)

(c)

図5 多値従属性と情報無損失分解

 多値従属性に対応した正規形として,次の第四正規形が定義される.

(定義)関係Rが第四正規形であるとは,次の条件を満たしているときである.

   X→→YをRの多値従属性とするとき,

   (a)X→→Yは自明な多値従属性であるか,または,

   (b)XはRの超キーである.

図5(b)は,学生→→趣味特技,学生→→クラブの自明でない多値従属性が存 在し,第四正規形ではない.従って,(c)へ正規化される.(c)の二つの関係 は,全属性がキーであり,自明でない多値従属性も存在しないので第四正規形 である.第四正規形では,更新時異状は起こらないことが確認される。

 以上のごとく,正規化と従属性の基礎概念を述べるとともに,RDBの設計は,

(14)

更新によって引き起こされる異状を除去するために関係の分解を基本として行 われることを示した.これまでに示した従属性と関係の分解との対応をまとめ ると,次のようになる。

(1)関係R(X,y, Z)で,関数従属性X→y『が成立すると,

R(xy:Z)=R[X, y]*R[X,Z]となる.

(2)関係R(XYZ)で,多値従属性X→→Yが成立すると,

R(XY:Z)=R[X, Y]*R[X,Z]となる.

 2. 2.ERモデル

 ERモデルでは,実世界が実体および実体間の関連によって構成されている と考える。実体と関連は具象的であっても抽象的であってもよい。例えば「学 生は開講科目を受講できる」「先生は開講科目を担当する」という事実があると

き,次のように実体と関連に分類できる。

実体1

関 連 実 体 2

学  生 受 講 開講科目

先  生 担 当 開講科目

 実体と関連の定義は,実体と関連を抽象的に認識する概念レベルとその詳細 な性質を分析して,構造を明らかにする論理レベルに分けて行う。 さらに,

ERモデルの意味表現能力を高めるために,実体関連の抽象化を行う。

 2.2.1,概念レベルのモデル化

 概念レベルのモデル化は,実世界をトップダウン的に実体あるいは関連のど ちらかの要素として把握し,これをなんらかのカテゴリーに従って類別し,実 体集合(entity set)および関連集合(relationship set)を定義することである。

例えば,A大学において太郎,花子,真里という学生がいて,経済学,経営学,

(15)

       実体関連モデルを用いた関係データベースの設計法  371 会計学という科目が教育されているとき,個々の学生,個々の科目は実体とし て認識される。その集まりから実体集合が,次のように定義される。

   学生一{ρゆはA大学に在学する者}

   科目={slsはA大学の教育科目}

一般に,実体集合Eは,次のように定義される。

E= {e 1 P(e)}

ここで,P(のは, eが実体集合Eの要素であることを判定する述語である。

 一方,太郎が経済学を受講しているとき,二つの実体,太郎と経済学との間 に,一つの関連が存在すると考えられる。関連はpとsの組⑦,S)によって 表わされる。その集まりから関連集合が,次のように定義される。

   受講一{⑦,s)ゆ∈学生, s∈科目, pはSを受講している}

   担当一{(t,s)lt∈先生,S∈科目,tはsを担当している}

一般に,二つの実体集合E,Fの上に定義されている関連集合Rは次のように

定義される。

R=一 {(e, f) 1 eEE, fEF, P(e,f)}

ここに,P(e,ガは, eとfがRの意味で結合されていることを判定する述語 である。また実体集合はn個であってもよい。

 実体集合と関連集合は実体関連図(entity relationship diagram)と呼ばれる グラフで表すことができる(図6(a))。実体関連図では,実体集合を□,関連集 合を◇で表し,関連集合が実体集合の上に定義されていることを両者を結ぶ線

によって表す。さらに実体集合の一つの要素が関わっている関連集合の要素の 個数の最大値を線上に記し,関連の対応を示す。つまり関連には,次に示すよ

うな対応が含まれる。

 (1)1対1対応:2つの実体集合の関連の定義されている要素間に1対1の    関係がある。

 (2)多対1対応:例えば,学生は一つの学科に所属している。このとき学生

(16)

   集合と学科集合の間には所属という多対1対応がある。

 (3)多対多対応:例えば,学生は複数の科目が受講できるので,学生と科目    集合には受講という多対多の対応がある。

 (4)部分集合対応:ある実体集合が他の実体集合の部分集合であるような関    連をいう。

例として,実体集合・学生,科目と関連集合・成績との実体関連図を図6(a)

に示す。また,要素間対応を(b)に示す。

学生

O, . .n

履修

O...n

成績

(a)

科目 太郎 (太郎,経済)

経済 郎,経営)

花子 経営

(花子,会計)

絵里 会計

(真里,経済)

ノ/

・簿記

真里 (真里,経営)

      O,..2 (b) O...2        図6 実体関連図と要素間対応

 2.2.2.論理レベルのモデル化

 実体集合と関連集合のデータ構造を分析し,それぞれの属性を定義する.属 性の定義された実体および関連を実体型(entity type),関連型(relationship type)といい,一般に次のように表す.

   実体型:E(A,,A2,...,.4h, Ak.1,..., A。)

   関連型:R(El, E2,_, Emi Al, A2,_, An)

ここで,Atは属性, E、は実体集合を示し,下線部はキー属性を意味する.

 論理レベルにおける実体関連図は,実体集合と関連集合に属性を付加して示 す.すなわち,図6(a)は,図7のように表わされる。

(17)

実体関連モデルを用いた関係データベースの設計法  373

学生

氏人住名科所

履修

囎藩焔

科目

単位数先 生科目名

       図7 論理レベルの実体関連図

 2.2.3.実体関連の抽象化

 ERモデルの一貫性の維持および意味表現能力を高あるために,次のような 抽象化を行う。

(1)正規化

 ERモデルの正規化は,実体関連の属性間のデータ従属性に基づいて行う.

ERモデルにおけるデータ従属性は次のように定義される.

(定義)実体型Eあるいは関連型Rにおいて,X, yを属性集合とするとき,

   Xの一つのインスタンスに対して,Yのインスタンスが唯一決まるとき,

   EあるいはRにおいてデータ従属性X→Yが成り立つという.

   例えば,実体型および関連型には,次のデータ従属性が成り立つ.

  実体型:E(A,A2...Ah,ん.1...An)において, A ,A2..,んをキー属性       とするとき,

       AiA2 … Ak   Ah+i … An

  関連型:R(EIE2...Em;A ,A 2...A。)において,各Etのキー属性の集合       をX,とするとき,

       X IX2 ・一・ Xm   A IA 2 ・.. An

また,データ従属性x→y において,xの属性集合が極小であるとき,完全従 属であるという.このデータ従属性に基づいてERモデルを正規化する.

(定義)ERモデルは,次の条件を満たすとき正規化されているという.

   (a)属性はすべて単純属性(一つの属性が複数の属性を複合しない)。

(18)

   (b)非キー属性は,すべてキー属性に完全従属である.ただし,関連型      のキー属性は結合される実体型のキー属性の集合である.

   (c)非キー属性は,他の非キー属性にデータ従属ではない.

例えば,次の関連型成績を考える.

  関連型:成績一(学生,科目,先生,得点,評価)

すべて単純属性である.しかし,データ従属性:科目→先生があるため完全従 属ではない.従って条件(b)を満たさない.さらに,非キー属性間で,得点

→評価というデータ従属性があるため,条件(c)も満たさないことがわかる.

そこで,この関連型は図8のように正規化される.

学生 履修 科目

得点 担当

ランク 先生

評価

図8 正規化された実体関連図

 (2)凡化と特化

 固化(generalization)は,いくつかの実体集合から共通性を抽出し,個々の 実体集合における相違点を抑止して,より一般的な実体集合を定義する操作を いう。例えば,実体集合「学生」,「教官」,「事務官」を凡化して「大学構成員」

という実体集合を作ることができる。逆に,一つの実体集合に対して,より詳 細な属性を追加することによって,新しい実体集合を定義することを特化

(specialization)という。例えば,「学生」という実体集合に「就学区分」とい う属性を追加して「在学者」,「休学者」,「退学者」に特化することができる。

 二つの実体集合E,Fが凡下,獣化の関係にあるとき, FはEの部分集合に なっている。この時,特別の関連is_aを導入して,関連型:is__a(F, E)と

(19)

       実体関連モデルを用いた関係データベースの設計法  375 記述する。例えば,is_a(学生,大学構成員)と記される。関連is_aは図9 のように用いられる。また,濃化実体集合の属性は,鈍化実体集合の共通属性 となる。これを属性の継承(inheritance)という。そのたあ,凡化実体集合の変 更が,特化実体集合へ自然に波及するという利点があり,is_a階層の維持が 容易となる。

大学構成員

名所分氏住区

is a

(3)集約化と分解

学 生 教 官 事務官

学学    講専    資技 年科    座門   格能    図9 関連is_a

 いくつかの概念要素の集まりを単一の概念要素として扱うことを集約化(ag−

gregation)という。実体は属性を集約化したものである。一方,概念要素を細 分することを分解(decomposition)という。二つの概念要素の集まり, E, Fが 分解と集約の関係にあるとき,EはFを関連型:ParLof(E, F)で結合する。

 (4)類型化と実現値化

 共通の性質をもつ実体や関連を,その上で一様な条件が保たれるようにグ ループ分けし,各グループを一つの実体と見なすことを類型化という。この逆 の操作を実現値化という。類型化と実現値化の関係は,関連型:instance_of で結合する。例えば,学生を出身県で類型化し県人会を作るとき,学生と県人 会は,instance_of(学生,県人会)と記す。この関連instance_ofは図10

(a)のように用いられる。また,関連による類型化も考えられる。例えば,学 生は関連「卒業研究」によってゼミナールに結合され,ゼミナールという実体

(20)

集合を定義することができる(図10(b)).ここで,類型化実体集合の全ての属 性は実現値化実体集合に継承され,is_a階層と同様にERモデルの維持が容易

になる.

県人会

nstance 一 o 県名 会長 連絡先

学 生

ゼミナール

教幹室

nstance_0

学   生

(a) (b)

教官名 幹事 室名

図 10類型化と実現値化

 2.2.4.ERモデルの一貫性

 モデリングにおいて,実体と関連を正しい状態に保つことを,実体関連の一 貫性(integrity)という.一貫性を保持しうるための制約条件として,実体関連 の存在を規制する存在制約(existence constrains)は重要である.つまり,存在 制約を犯さない限りにおいて,実体関連の追加,更新,削除が保証される.基 本的な存在制約には,以下に挙げるものがある。

 (1)実体関連の属性値依存:キー属性の属性値はすべて存在する必要がある.

   また,ある属性値は定義域条件を満たしている必要がある.

 (2)関連の実体依存:関連の存在は,結合される実体の存在に依存する.

 (3)実体の関連依存:単独では存在できない実体集合(弱実体集合という)

   は,必ず他の実体集合との関連が存在する.

 (4)関連の関連依存:一つの関連集合の存在が,他の関連集合の存在に依存    するもので,例えば,学生と科目との関連は科目と教官との関連が決    まっていなければ結合づけられない.

 (5)凡化にともなう存在制約:is_a階層において,下位層の実体の存在は,

   上位層の実体の存在に依存する.従って,実体の追加や削除は,上位と

(21)

      実体関連モデルを用いた関係データベースの設計法  377   下位が連動して行われる必要がある.

(6)集約化にともなう存在制約:part_of階層において,上位層の実体の   存在は,下位層の実体の存在に依存する.

(7)類型化にともなう存在制約:instance_of階層において,下位層の実   体の存在は上位層の実体の存在に依存する.

        3.ERモデルを用いたRDB設計の指針

以上の基礎概念に基づいて,実世界をERモデルで概念的にモデル化して,

これを実システム化するために,関係モデルへ変換する方法の主要段階を図11

に示す.

要求の収集と分析

概 念 設 丁

丁 理 設 計

物 理 設 計

図11設計の主要段階 3.1.要求の収集と分析

      ラ 収集されるべき内容および分析の目標は,次のようである.

(1)組織のデータに対する要求の記述。

(2)モデル化に必要な概念要素について,あるいは,その関連についての情   報の記述.

(3)データベース上で実行される業務機能の記述.

3.2.概念設計 一ERモデルによる設計一

(22)

 概念設計は,モデル化する世界から情報要求に基づいて実体と関連を抽出し て,先ずマクロな実体関連図を作成する.次に,属性を与えて,実体型,関連 型を定義し,さらにデータ従属性に基づく正規化や凡化,集約化,類型化など の抽象化を行って実体関連図の洗練を行う作業となる.また,各業務機能にお けるデータフローの分析は,実体,属性,関連を具体化する重要な手がかりと なるため併用するとよいと考えられる.

 ところで,参考文献[9]では,実体と属性,関連を定義するために,以下 のような基準を与えている.

 (1)実体は非キー属性をもつ.キー属性だけが要求されるならば,他の実体    の属性とする.ただし,多値の属性は実体とする.

 (2)実体と多対1関連をもつ非キー属性も実体とする。

 (3)属性は,それが最も直接に記述される実体につける.

 (4)キーが複合属性となることを避ける.

 (5)is_a階層とparLof階層を見つける.

 (6)冗長な関連は除去する.

 (7)3元関連は慎重に定義する.

 3.3.論理設計 一RDBスキーマへの変換一一

 論理設計では,実体集合および関連集合から関係モデルの関係データベース スキーマ集合と従属性集合を決定し変換する.この変換作業は次の定式に従っ

て行う.

 [1]関係データベーススキーマの決定

 (a)キーを有する実体集合に対しては,対応する属性集合よりなる関係ス   キーマを作る.関係のキーは実体集合のキーと同じ属性集合となる.

 (b)キーを有する実体集合間で定義された関連は,キーを含めた関係データ   ベーススキーマに変換される.つまり,関連が多対1対応であるときは,多   に対応する属性集合がキーとなり, 1対1対応であれば,各々の実体集合   のキーがこの関係のキーとなる.多対多対応のときは,全属性がキーとな

(23)

       実体関連モデルを用いた関係データベースの設計法  379   る,

 (c)キーを持たない実体集合(弱実体集合)は,キー属性と対応する関連に   併合して(b)の操作を行う.

 [2]従属性集合の決定

 上記の関係集合より従属性集合を求める.

 このようにして得られた関係データベーススキーマ集合と従属性集合から正 規化を検討し,再度ERモデルにフィードバックし,洗練化を考える.

3.4.物理設計

物理設計は,利用するDBMSの機能を利用して行うが,本稿では述べない。

4.学生情報データベース設計への適用と検酎

 本稿が示したアプローチによるデータベース設計法の適用例として,学生情 報データベースを取り上げる。

4.1.要求の収集と分析

教務事務における業務環境は,次のようにまとめられる。

(1)履修管理:年度当初に提出される履修科目申請表を受理して,データ   ベースへ登録する。ところで,開講科目およびその担当は,毎年カリ   キュラム編成委員会で決定されるもので,固定化されない。

(2)成績管理:試験後染出される成績データを入力して,維持管理する。ま   た,非定型的な成績データの検索や集計処理要求に応じる。

(3)各種帳票作成:成績証明書,成績原簿,卒業見込み証明書などの帳票類   を作成する。

(4)進級判定・卒業判定:教養から専門への進級対象者,あるいは卒業予定   者の成績内容を分析して進級,卒業の判定を行う。

(5)教育研究施設・機器の管理

このように,教務事務における業務環境は,「業務の合理化,省力化」を目的

(24)

とするものにならざるを得ないが,今後,データベースの利用が促進され,活 用の方向性が痒い出されたならば,教育や研究へのサービスならびに支援のた めの情報資源管理にシフトするものと思われる。

 4.2.概念設計

 教務事務の要求内容と分析から,ERモデルによるマクロな実体関連図を図 12のように設計した。この段階のトップダウン的な設計は,設計者によって差 異が生じるのが特徴でもある。

教務情報処理

教育管理 機器管理

教育惰報 施設情報 機器情報

S

成績 カリキュラム情報

S S S

入試情報 成績情報 科目 担当 学生 教官

S nstance o

合格 不合格 履修科目

図12 マクロな実体関連図

 ここで,筆者が対象とする教育管理について,

ると,図13のようになる。

マクロデータフローを作成す

(25)

実体関連モデルを用いた関係データベースの設計法  381

履修申請         履修データ 学生

ウ官

       履修管理       既取得科目受理確認票

ャ績表         学生成績

       成績管理受講者一覧       受講者データ

リ明書申請        学籍番号

       各種帳票       成績データ成績証明書

?ャ依頼         対象者データ

デ1タベ1ス

       判定処理判定資料       成績データ

fータ登録

データベース情報 データ出力

図13マクロデータフロー

 次に,情報構造を分析して論理レベルの実体関連図を作成すると,図14にな る。ここでは,全ての科目が開講され,担当者が存在するわけではないので,

存在制約に基づいて,新たな実体集合である開講科目を設定する。開講科目は,

科目の実現値化をしたもので,instance_of階層をなすことがわかる。一方,

学生と教官のis_a階層により大学構成員を考えることができるが,これは利 用しないので削除した。また,関連集合不合格成績は,合格成績の評価より判 別できるため除去している。このように,ERモデルでは,データの抽象的な 関連に従ってモデル化することを可能にする。

(26)

吉田貞夫教授追悼号(彦根論叢 第260,261号)

所属

所属コード

教官コード 大学・学部

学科名学部名大学名所属コード

開講科目 担当

教教住専所 官   属 コ官  コ I    T ド名所門ド

単位数

曜日時限履修コード

nstance−o

科目コード

科目名

教育分野 得続合年 指教

     目官   位  ココ      I T 点価数度 ドド

履修コード教官コード

属一所属コード所 学籍番号 目

学生

保存成績   1 憂得単襲年

学籍番号

学生名 所属コード

入学

入試成績 受年成順 番度績位

点価数度

履修コード教官コード

図14実体関連図

 4.3.論理設計

 実体関連図より関係データベーススキーマに変換すると,次のようなスキー マ集合が得られる。

実体型:学生(学籍番号,学生名,所属コード,学年,性別,住所,...)

    科目(科目コード,科目名,教育分野,....)

    開講科目(科目コード,教官コード,履修コード,曜日時限,単位数)

    教官(教官コード,教官名,住所,専門分野,所属コード)

    大学学部(所属コード,大学名,学部名,学科名,所在地,連絡先)

    入試成績(受験番号,年度,成績,順位)

(27)

       実体関連モデルを用いた関係データベースの設計法  383 関連型:履修(学籍番号,科目コード,教官コード,履修コード,得点,評価,

      単位数,年度)

    保存成績(学籍番号,科目コード,教官コード,年度,得点,評価,

      単位数年度)

    入学(学籍番号,受験番号,年度)

 ただし,関連型所属は,非キー属性をもたないので,学生及び教官の実体集 合に併合する。

 下線部はキー属性であり,次のような関数従属性が存在する。

 f1:学籍番号 → 学生名,所属コード,学年,クラス,誕生日, etc  f2:科目コード →科目名,教育分野, etc

 f3:科目コード,教官コード → 履修コード,曜日時限,単位数  f4:教官コード → 教官名,住所,専門分野,所属コード

 f5:受験番号,年度 → 成績,順位,学籍番号

 f6:学籍番号,科目コード →教官コード,履修コード,得点,評価, etc  f7:得点 → 評価

 ただし,上記の従属性は,次のような条件で履修,開講担当が行われると きに成り立つものである。

 (a)年度が異なっても,学生は,同一科目を重複して履修できない。

 (b)開講科目は,一科目を同一教官がニコマに分けて講義しない。

 (c)一科目は一教官が担当する。

しかし,現実には次のようなカリキュラムが組まれていることが多い。

 (a)一科目は単位数を二分して,ニコマに分けて講義される。その時,同一    教官がニコマとも担当することがある。

 (b)従って,同一科目を重複して履修することができる。

 (c)一科目を複数の教官が受け持つことがある。

そこで,開講科目には,これを一意に識別するための履修コードをキーにすべ きであることがわかる。本来,履修コードは3桁の数字で構成され,マーク シートに記入するためのものである。さらに,履修及び保存成績も履修コード

(28)

と組み合わせて一意な識別が可能となる。従って,キー属性を改めて,次のよ うに決める。

    開講科目(履修コード,科目コード,教官コード,曜日時限,単位数)

    履修(学籍番号,履修コード,科目コード,教官コード,得点,評価,

       単位数,年度)

    保存成績(学籍番号,履修コード,年度,科目コード,教官コード,

         得点,評価,単位数,年度)

ここで,保存成績では,履修コードが毎年繰り返し使用されるため,さらに,

年度をキー属性に含めることにする。

 以上めように,RDBの設計は,あらかじめERモデルで概念設計を行い,得 られた実体および関連集合を関係モデルに変換する本アプローチの方が,従来 のデータ要素間の従属性に基づいて関係データベーススキーマ集合を設計する 方法よりも,実世界のデータ構造を意味的にわかりやすい形で図式化し,かっ 自然に関係データベーススキーマを導き出せるいう点で優れていることがわ

かった。

5.お わ り に

 理論的に体系化された関係モデルは,データ構造の平明さ,データ独立性,

論理的なデータ操作の実現および正規化による一貫性制約の保持など,多くの 特長を持っている。また,RDBMSは,今日,ほとんどの計算機で利用が可能 になるとともに情報資源管理の中核となっている。しかし,データ要素間の従 属性に基づいてRDBを設計する従来のアプローチでは,データベース規模の 拡大とともに,設計作業が益々困難iとなり,職人的な技能が要求されるに至っ てきた。それは,関係モデルの優れた特長を損なうものといえるが,関係モデ ルの意味表現力の欠如によるものといえる。そこで,本稿では,RDBの設計法 として,あらかじめERモデルを用いてデータ間の直接的な意味表現を行い,

これを関係モデルに変換するアプローチを示した。本アプローチを教務情報処 理システムのデータベース設計に適用して検討したところ,従来のアプローチ

(29)

       実体関連モデルを用いた関係データベースの設計法  385 に比べて実世界のデータ構造を意味的にわかりやすい形で図式化し,かっ定式 的に関係データベーススキーマ集合を導き出せることがわかった。特に,ER モデルにおける各種の抽象化の操作は,意味表現力を高める効果があるため,

現場の要求をより反映したモデル化を可能にすることもわかった。

 なお,教務情報処理システムは,滋賀大学計算センターのM−340で開発し,

平成元年度の履修申請から稼働を開始した。本システムでは,対話処理の実現 とRDBMSの非手続き的なデータ操作により,これまでのシステムに比べて格 段に操作性を向上させることができた。しかし,RDBMS処理のオーバーヘッ ドが招くレスポンスの低下は,無視できないこともわかった。そこで,今後の 検討課題として,性能評価実験による関係データベーススキーマの最適化を 行っていく必要があると考えている。

謝  辞

   本論文の作成ならびにデータベースの研究において常に温かいご指導を頂いて   いる大阪大学西尾章治郎先生に深謝申し上げる。また,本論文を投稿する機会を   下された本学の諸先生方ならびにデータ入力等において協力頂いた計算センター   および学務係の方々にも深謝する。

参考文献

(1) E, F, Codd:A Relational Model of Data for Large Shared Data Banks,

 CACM, Vol. 13, No. 6, pp. 337−387, 1970

(2) R. Hull, R. King : Semantic Database Modeling ; Survey, Application,

 and Research lssues, ACM Computing Surveys, Vol. 19, No. 3,

 pp. 201−260, 1987

(3)谷口伸一,石崎等司:PDMを用いた学務情報処理システムについて, HITAC   ユーザ研究会,19回大会論文集,pp.185−201,1982

(4)上林弥彦:データベース,昭晃堂,1986

(5) J, D, Ullmann:Principle of Database Systems (2nd.ed), Computer

(30)

  Science Press, 1982

(6) Korth, Silbershcatz : Database System Concept, McGRAW−HILL, 1987

(7)増永良文:リレーショナルデータベース入門,Computer Today, No.25,

  No. 26, 1988

(8)酒井博敬:情報資源管理の技法,オーム社,1987

(9) T. J. Teorey, D. Yang, J. P. Fry: A Logical Design Methodology   for Relational Database Using the Extended Entity−Relationship Model,

  ACM Computing Surveys, Vol. 18, No. 2, pp. 197−222, 1986

Updating...

参照

Updating...

関連した話題 :

Scan and read on 1LIB APP