InterBase クイック スタート:Part II - データベースの設計

提供: InterBase

InterBase クイック スタート:Part II - データ定義 へ戻る

どんなデータベースでも、構築の上で大切な最初のステップは、データベースの設計 です。 まず最初に、そのコンポーネントすべてと目的とする機能を、詳細まで検討することなし、機能的かつ効率的なデータベースを作成することができません。 データベース設計の詳細ガイドについては、「データベースの設計」(『データ定義ガイド』)を参照してください。

データ モデリングをざっと見てみましょう

次の一覧では、データベース設計のプロセスの要約、シンプルな概要を紹介しています:

  1. データのコンテンツの決定: 保管を必要とする情報は何か? これについて考える際、エンド ユーザーの視点から考えてみましょう: エンド ユーザーのどのグループが、このデータベースにアクセスするのか? 彼らが抽出する必要があるのはどの情報か? 彼らはデータベースにどのような問い合わせをするか?
  2. データの種類をグループにまとめる: 情報の項目は、自然にグループにまとめられる傾向にあります。 大量の情報をグループへと分ける粒度は、自分のデータベースが処理しなければならない情報の、量や複雑度といった要素によって変わってきます。 目指す状態は、情報の各項目がそれぞれ 1 箇所だけに存在する、という状態です。 このようなグループの識別プロセスを、正規化と言います。 エンティティと、それらの属性を定めてください。 たとえば、エンティティの 1 つのタイプが、プロジェクトです。 プロジェクトの属性は、その ID 番号、名前、説明、リーダー名、製品などです。 列 proj_idproj_nameproj_descteam_leaderproduct のある、テーブル Project がそのエンティティにフィットします。
  3. テーブルの設計
    • どんなテーブルを作成するか、各テーブルにはどんな列があるか、各列にはどんな型のデータが保有されるかを決定します。 エンティティと属性が慎重に定めてあれば、各エンティティがテーブルに相当し、そのエンティティの各属性がそのテーブル内の列となるでしょう。
    • 各列に対するデータ方を決定してください。 データは数値かテキストか? 数値ならば、想定される値の範囲は? テキストならば、必要な文字列の長さは? 各列に対する適切なデータ型を定めてください。 InterBase でサポートされているデータ型の詳細については、「データ型の指定」(『データ定義ガイド』)を参照してください。
  4. テーブル列の相互依存性を検討する: たとえば、ある項目は、それが倉庫になければ売ることはできません。 在庫になければ配達することはできません。 これらの依存性を管理するために、主キーと外部キーを作成します。 これを、データベースの一貫性の維持と言います。 データベースの一貫性およびセキュリティの維持のためのメカニズムとしては、他に CHECK 制約や、テーブルへのアクセス制御を行う GRANTROLE 文の利用などがあります。

TUTORIAL データベース

このクイック スタート中に作成する TUTORIAL データベースは、InterBase と共にインストールされる EMPLOYEE データベースのコピーそのものです。

TUTORIAL データベースは、一般的なビジネス データベースです。 さぁ、企業のためのデータベースを作成する担当に、自分がなったと考えてみましょう。 データ モデリングのフェーズでは、次のエンティティ(情報グループ)を定めていきます:

  • departments(部署)
  • jobs(仕事)
  • countries(国)
  • customers(顧客)
  • salary history for each employee(各社員の給与履歴)
  • projects(プロジェクト)
  • employee projects(社員のプロジェクト)
  • sales(営業)
  • department budgets for each project(各プロジェクトの部の予算)
  • employees(社員)

このクイック スタートを進むにつれ、TUTORIAL データベースには、上記の 10 項目に合致する 10 個のテーブルが作られていきます。 概要を取得するには、EMPLOYEE データベースをみるといいでしょう。 Windows 上の EMPLOYEE データベースへのパスは、C:\ProgramData\Embarcadero\InterBase\gds_db\examples\database\employee.gdb です。

次は: