Previous: データベースの論理設計
Up: データベースの論理設計
Next: 「テーブル」の満たすべき最低条件  第一正規形
Previous Page: データベースの論理設計
Next Page: 「テーブル」の満たすべき最低条件  第一正規形

はじめに

これまで、一通りSQLのコマンドを見てきた。権限の弱いユーザーのコマンドから権限 の強いユーザーのコマンドへという、本書の叙述の順序に従って、基本的には、select を中心に、データベースからデータを読みだそうとする一般のユーザーを想定して説明 を行ってきた。しかし、前章の後半に登場した、create tableやcreate databaseコマン ドは、データベースの作成者が使用するコマンドであった。 本章では、データベース作成者の立場から、もう一度、データベース作成の過程を振り 返って見ることにしよう。

リレーショナル・データベースでは、データベースを作成するということは、とりもな おさず、テーブルを作成することである。どのような種類のテーブルを作って、そこに どの様な情報を持たせるかを決めることを、「データベースの論理設計」と呼ぶ。 データベースの論理設計、とりわけ、テーブルの設計によって、データベースの性能は 大きく変わって来る。この設計を誤ると、性能どころか、最悪の場合には、様々の矛盾 が噴き出して、データベースとしては使えなくなることさえある。テーブルの設計は、 実践的にきわめて重要な意味を持っている。

リレーショナル・データベースのテーブルとして好ましくない性質を持つテーブルを、 そのテーブルが持っている情報を変えずに、他の適当なテーブルに変えることを、 「テーブルを正規化する」と呼ぶ。では、どのような性質が「好ましくない」のであろ うか? また、「情報を変えない」というのは、どのような意味なのであろうか? 本章では、「よりよいテーブル」の設計の為には、経験と直観に頼るだけではなく、 その背後に、理論的な裏付けが必要であることを示そうと思う。

前章では、SQLの処理系に依存しない形でサンプルを選んできた。データベース設計の 一般的な原則を述べた、本章の部分は処理系には依存していない。しかし。実際に データベースを定義する部分では、SYBASE上でのオペレーション例をあげていること を、予めお断りしておく。

maruyama@wakhok.ac.jp
1995年02月10日 (金) 00時49分16秒 JST