前回はpdAdminを使用して新規データベースを作成しました。今回は、そのデータベースにテーブルを作成する手順について見ていきます。
ここではサンプルとして以下の列を持つstaffテーブルを作成します。
列名 | データ型 | 制約 |
---|---|---|
id | INTEGER | PRIMARY KEY |
name | TEXT | NOT NULL |
age | INTEGER | CHECK(age > 0) |
スタッフの情報を格納するテーブルです。列には「id」「name」「age」を持ち、それぞれ、スタッフID、スタッフの名前、年齢を格納します。データ型はそれぞれ数字、文字列、数字とします。
また、各列の制約として、「id」にはPRIMARY KEY(主キー)制約を持たせます。PRIMARY KEY制約は、列内で重複する値の格納を許可せず、かつ、必ずデータを格納しなければならないという制約です。
「name」には必ずデータを格納しなければならないことを示すNOT NULL制約を、「age」にはこの列には0より大きな値しか入らないという制約を持たせます。
テーブルの作成
早速、上記で定義したテーブルをpdAdminを使用して実際に作成します。
pgAdminのオブジェクトブラウザから前回作成した「sampleDB」データベースを選択し、「スキーマ」→「public」とツリーを展開します。その中に「テーブル」という項目があるので、右クリックし、コンテキストメニューから「新しいテーブル」をクリックします。
すると、「新しいテーブル」ダイアログボックスが表示されます。
上図ダイアログボックスで作成するテーブルの設定を定義します。、ここでは必要最低限な設定項目だけ見ていきましょう。
項目 | 説明 | |
---|---|---|
プロパティ | 名前 | テーブルの名前を指定。 |
オーナー | テーブルの所有者を指定。未入力の場合はpgAdminへの接続ユーザーとなる。 | |
コメント | このテーブルに関する任意のコメントを入力。 | |
定義 | テーブル空間 | テーブルを配置するテーブル空間を指定。未入力の場合はpg_defaultが適用される。 |
列の作成
続いて、列を作成します。「列」タブをクリックします。
右下にある「追加」ボタンをクリックします。すると、「新しい列」ダイアログが表示されます。
このダイアログボックスにて1列ずつ作成していきます。データ型は上記で取り決めた型を指定してください。
上図では「id」列を作成しています。「OK」ボタンを押下すると、「新しいテーブル」ダイアログに戻ります。同じように「name」「age」列を作成します。
なお、「name」列に関してはNOT NULL制約を付与するため、「定義」タブをクリックします。
「NOT NULL」チェックボックスにチェックを入れます。「OK」ボタンを押下し、「新しいテーブル」ダイアログに戻ります。
制約の追加
続いて、「id」「age」列に対して制約を付与します。「制約」タブをクリックします。
画面下のプルダウンメニューで「主キー」が選択されいることを確認し、「追加」ボタンをクリックします。すると、「新しい主キー」ダイアログが表示されます。
「列」欄に「id」を選択し、「追加」ボタンをクリックします。続けて、「OK」ボタンをクリックします。
次に「age」列の制約を設定します。「新しいテーブル」ダイアログの「制約」タブから画面下のプルダウンメニューで「チェック」を選択し、「追加」ボタンをクリックします。「新しいチェック」ダイアログが表示されます。
「定義」タブの「チェック」欄に「age > 0」と入力し、「OK」ボタンをクリックします。
もう一度、「新しいテーブル」ダイアログの「プロパティ」タブに戻り、「名前」欄等を以下のように入力します。
最後に「OK」ボタンを押下します。
以上でテーブルの作成は完了です。
テーブルが正常に作成されるとオブジェクトブラウザにテーブルが追加されます。
「staff」という名前のテーブルが確認できます。