SQL振り返り【CREATE TABLE,制約,CREATE VIEW】

どうも。てちこまです。
前回に引き続きSQLで忘れていること、ん?ってなったところをまとめていきます。
今回はタイトル通りテーブルの作成と制約メインの記事となります。

CREATE TABLE(テーブルの作成)

※制約は複数設定できます。

DROP TABLE(テーブルの削除)

制約

列制約とテーブル制約

列制約の例

テーブル制約の例

テーブル制約の場合例えば以下で供述する複合主キーの制約などで使用する。

NOT NULL制約

この場合列名4にはNULLを格納することができません。

PRIMARY KEY制約(主キー制約)

プライマリーキー制約はテーブルの主キーを設定する制約。

NOT NULL制約を明示しない場合自動的にNOT NULL制約が付加される。

値が一意であることが保証され1つのテーブルに1つだけ設定できる。

複合主キーを設定したい場合はテーブル制約を利用する。

FOREIGN KEY制約(外部キー制約)

列制約

テーブル制約

FOREIGN KEY制約(外部キー制約)により以下の整合性が保たれます。

  • 親テーブルに存在していない参照列の値を列名3カラムに追加できない。
  • 親テーブル側で参照されているデータを削除、更新できない。

UNIQUE制約(一意制約)

この場合列名1のカラムが主キーで列名3のカラムはNULLでなく重複しない値を入れなければ制約エラーになる。

CHECK制約

この例だと列名3カラムは100以上の値しか入れることができない。

おまけ

CREATE VIEW

DROP VIEW

ビューを削除しても元表への影響はない。

CREATE INDEX

DROP INDEX

まとめ

SQLでのテーブルの作成とか削除はサンプルぐらいしかないかも。
制約はORMだろうがなんだろうが必要ですね。

前にとあるシステム作成を行ったときに雑なテーブル設計でデータの不整合が頻発し大変な目にあいました。

てちこま

高卒後3年ニート。 起死回生でコン専入学。 資格とったり、アプリ作ったりしてました。 2020から新米WEBエンジニアになりました。

シェアする

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

コメントする