ある大学の就職課が、学生の採用内定の進展状況をデータベースで管理したいと考えています。その為に必要な情報は、学生に関する情報、企業に関する情報、および「どの学生がどこの会社に内定したか」という採用内定に関する情報です。 このようなデータベースを作成して、必要な情報または就職指導に有用な情報を利用できるように考察しなさい。
まだ、論理設計の段階にあります。リレーショナルモデルでは、実体の詳細属性の抽出、実体の正規化が行われたら、今度は実体を2次元の表(テーブル)に置き換えていく作業に入る。
表を定義するのに必要な要件は、フィールド名(属性名)、各フィールドのデータ型、主キーまたは外部キーとなるフィールドの区別、データ入力が必須のフィールドなど色々ある。
そこで次のような「要件項目表」を準備して必要な情報を記入しておくとよい。
ER図で現れる1つの実体に対して1枚の項目表に、その実体に定義されている属性について詳しい情報を記入していく。
フィールド名 | 内定ID | 内定日 | 学籍番号 | 企業CD | ||
---|---|---|---|---|---|---|
データ型 | オートナンバー型 | 日付/時刻型 | テキスト型 | テキスト型 | ||
最大データ長 | (フィールドサイズ) | 5 | 14 | 8 | 8 | |
主キー・外部キーの区別 | PK | FK1 | FK2 | |||
一意性 | はい | はい | はい | |||
入力必須 | (値要求) | はい | はい | はい | はい | |
入力規則 | (実体の制約) | |||||
従属先表名 | (参照表先) | 学生マスター | 企業マスター | |||
関数従属先 | 内定ID | 内定ID | 内定ID | |||
サンプルデータ | 98765 | 2004/06/01 | 010400110101 |
この要件項目表で記載する項目の説明をしておこう。
データが事前に定義された規則に基づいて、正しく入力されることを保障することを「入力規則の定義」という。具体的には以下のような制約の保障をする。 論理設計の一環として、システム開発の対象となる業務の規則に基づき、どのような制約を設定すべきかを分析する。制約の設定を行うことでシステム化工程の検査が分かり易くなり、かつ、データベースのデータ整合性が向上し、データベースの保守が容易になる。
一般にデータベースが自動的に上記の制約をチェックして違反操作を無効にしてくれる機能を持っている。この機能のことを制約(constraint)という。データベースの制約機能には次のような種類がある。
実体の制約: (表と表の内容に制約を課す) |
NOT NULL 制約 | 入力必須のフィールドに対して定義する |
UNIQUE キー制約 | データ値の重複は許されない。NULL 値は許可される。 | |
PRIMARY キー制約 | 主キーを指定する。表の中で1つだけ指定可能。データ値の重複は許されない。NULL 値も許可されない。 | |
CHECK 制約 | 上記以外の更新時異常の発生抑制のための制約、特に、レコード(行)の値を更新、レコードを追加・削除する時にCheckすべき条件を指定する。 | |
参照整合性の制約; (表と表の関係に制約を課す) |
外部キーに格納できる値は、参照先表の主キーが持つ値または NULL 値のみが許可される |
今までの作業でテーブルは殆ど完成しています。次は、利用者が本当に欲しいデータ(情報)が実体またはテーブルから問題なく取り出すことができるかについて検討します。データベースでは、特定の業務やその工程で必要なデータ構造は「ビュー」というオブジェクトで実現できる。
ビューは、実体のテーブルに対してどのように加工・操作すれば、必要な情報がデータ形式で得られるかを表現した「問い合わせ」の情報であり、それに名前をつけて登録したものである。言い換えれば、ビューとは、テーブルに対して特定の見方を提供する為に定義するもの(論理的な見方)であり、ビューに対応する物理的なテーブル(実体)が存在する訳けではない。 データベースの理論では、ビューは「外部スキーマ」といって、実体を定義する「概念スキーマ」とデータベースを利用した業務アプリケーションとを独立させる役割を荷っている。
実際に利用者が欲しいデータというのは、画面や帳票などの「外部仕様」として明確になっている場合が多い。例えば、ある学生の現在の内定状況を表示する、という情報が必要であるとする。必要なデータは5つのテーブルに分かれて格納されているから、複数のテーブルを統合・射影して求められるデータ構造にした「ビュー」を作成しておく。どんなビューが必要になるかは利用者の業務要求を分析して以下のように分類して決める。
ビューの作成方法としては以下の種類が考えられる。次の物理設計で述べるように、Microsoft Accessでは、ビューは「クエリ」オブジェクトや「レポート」オブジェクトで作成される。
Go to TOP | (C) T. Katayama ----- Last updated: |