依存関係の追跡この章では、データを保持するためのデータベース構造を作成する方法を説明します。リレーショナルデータベースでは生データはテーブルに格納されます。したがって、この章ではテーブルの作成と変更の方法や、テーブルにどのようなデータを格納するかを制御するための機能について重点的に解説します。テーブルをスキーマに編成する方法およびテーブルへの権限の割り当てについても説明します。最後に、ビュー、関数およびトリガなど、データの格納に影響する機能について簡単に説明します。テーブルの基本リレーショナルデータベースのテーブルは、紙に書く表によく似ています。テーブルは行と列からできています。列の数と順序は固定されており、それぞれの列に名前が付けられています。行の数とは、その時点でどれだけのデータが格納されているのかを示すものです。テーブル内の行の順序は保証されません。テーブルを読み込むと、明示的に並び替えが要求されない限り、行はランダムな順序で返されます。は行に固有の識別子が割り当てられないので、テーブル内にまったく同一の行がいくつも存在することが可能です。基礎をなす算術モデルの結果ですが、通常は好ましいことではありません。この問題の対処法については、本章で後述します。それぞれの列にデータ型があります。データ型によって、列に割り当てられる値が制限されます。列に格納されているデータに意味が割り当てられ、データを計算に使用できるようになります。数値型と宣言された列は任意のテキスト文字列は受け付けません。数値型の列に格納されているデータは算術計算に使用できます。これに対して、文字列型と宣言された列はほとんどすべての種類のデータを受け付けます。文字列の結合といった演算には使用できますが、算術計算には使用できません。さまざまなアプリケーションに対応した多数のデータ型のセットが組み込まれています。ユーザが独自のデータ型を定義することも可能です。組み込みデータ型のほとんどには分かりやすい名前と意味が付けれられているので、ここでは詳しく説明しません。