10月30日(木)3コマ目
今日、やったこと チェック制約 参照整合制約(外部キー制約) 今日のホワイトボード チェック制約(列制約構文) チェック制約 とは、 条件を満たすデータ以外は登録させないための制約 。 キーワード checkにつづく( )内に条件 を書く。 条件はwhere句と同じ。 図 チェック制約(列制約構文) 実際のSQLは以下のとおり。 ①商品マスタテーブル作成 列制約構文で、価格列にチェック制約を設定。 図 商品マスタテーブル作成 ※図中のコメントには”表制約構文”と書いてあるが、列制約構文の誤り ②商品マスタテーブルにデータ登録(正常系) 問題なく登録できる。 図 正常なデータを登録 => 登録できる ③商品マスタテーブルにデータ登録(異常系) チェック制約に引っかかるデータを登録。 エラーになり、登録できない。 図 異常なデータを登録 => エラー発生 => 登録できない なお、更新時もチェックされる。 チェック制約(表制約構文) 表制約構文 では、 複数列で1つの条件 を作ることもできる。 図 チェック制約(表制約構文) 実際のSQLは以下のとおり。 ①商品マスタテーブル作成 表制約構文で、価格列にチェック制約を設定。 図 商品マスタテーブル作成(表制約構文) ②商品マスタテーブルにデータ登録(正常系) 問題なく登録できる。 図 正常なデータを登録 => 登録できる ③商品マスタテーブルにデータ登録(異常系) チェック制約に引っかかるデータを登録。 エラーになり、登録できない。 図 異常なデータを登録 => エラー発生 => 登録できない 参照整合制約(外部キー制約) 今までの制約は1つのテーブル内で完結したが、参照整合制約は 参照する側 のテーブル( 子テーブル ) 参照される側 のテーブル( 親テーブル ) の 両方をチェック する。 なお、参照される側(親テーブル)は主キー列が参照される。 参照する側(子テーブル)の別テーブルの主キーを参照する列 を 外部キー と呼ぶ。 参照される側(親テーブル)として、グループマスタテーブルを作成、データを登録。 図 グループマスタテーブル(親テーブル)作成 図 グループマスタテーブルにデータ登録 参照整合制約(列制約構文) キーワード references のあとに ...