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

PostgreSQL:列の作成

列の作成方法

前項で作ったテーブルに、列を定義していきます。
テーブル users には、
id, username, password 
の3つの列がありますが、
説明の都合上、id は次項に回して、
ここでは、username と password を作成します。
PgAdmin を起動していなければ、
"C:\Program Files\PostgreSQL\17\pgAdmin 4\runtime\pgAdmin4.exe"
で起動します。
[PostgreSQL 17] を右クリック。
「Properties...」、「Connection]タブの「Username」が、sql_sample であることを確認しておきます。
違えば、sql_sample に書き換えてください。

[Databases]、[sql_sample]、[Schemas]、[public]、[Tables]、[users]、
[Columns] までたどり着いてください。

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

・[Columns] を右クリック
・[Create]、[Column...]

・「General」タブで、
  Name:username
・「Definition」タブで、
  Data type:text
・「Constraints」タブで、
  Not NULL?:On にします

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

・[Save]

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

同様に、
  Name:password
  Data type:text
  Not NULL?:On にします

で、列 password も作成します。

制約

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

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

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

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

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