/bonvhp/webapp/PostgreSQL       [後へ]   [目次へ]   [次へ] ~ [] ~

PostgreSQL:列の作成

●列の作成方法

前項で作ったテーブルに、列を定義していきます。
テーブル person には、
person_id, person_name, person_password 
の3つの列がありますが、
説明の都合上、person_id は次項に回して、
ここでは、person_name と person_password を作成します。
PgAdmin を起動していなければ、
"C:\Program Files\PostgreSQL\9.2\bin\pgAdmin3.exe"
で起動します。
[PostgreSQL 9.2 (localhost:5432)] を右クリック。
プロパティ、ユーザー名が、sql_sample であることを確認しておきます。
違えば、sql_sample に書き換えてください。

[データベース]、[sql_sample]、[スキーマ]、[public]、[テーブル]、[person]、
[列] までたどり着いてください。

では、実際に列を作成してみましょう。

・[列] を右クリック
・新しい列...

・「プロパティ」タブで、
  名前:person_name
  データ型:text
・「定義」タブで、
  NOT NULL:チェックします

  # 初期の値の欄には何も書かないでおきます。
  # NULL と書いても構わないようですが、
  # 'NULL' という文字列と解釈されても困るので、一応。

・[OK]

これで、列 person_name ができました。

同様に、
  名前:person_password
  データ型:text
  NOT NULL:チェックします

で、列 person_password も作成します。

●制約

データベース・テーブルの列には、
いくつかの「制約」を付けることができます。

この項に出てきた「NOT NULL」は、
「データを追加する際、必ず、何らかの値を入れなければならない」
という制約です。
制約を守らない (= この場合は文字列を入れない) と、SQL エラーで失敗します。

実際、
テーブル person の、
ログイン名 (person_name) は、名前を入れてもらわないと、
ログイン時に個人が特定できませんし、
パスワード (person_password) も用意するからには、
何らかの文字入力を強制しないと、セキュリティ的に意味を成しません。

これらの制御は、当然、プログラム側でチェックするわけですが、
データベースレベルで砦を作っておく事で、
たとえプログラムがバグっていても、不正なデータを排除できます。

制約は、他にもあります。
できる限り、用いるようにしましょう。
/bonvhp/webapp/PostgreSQL       [後へ]   [目次へ]   [次へ]