1. ホーム
  2. sql

[解決済み] データベース制約とは何ですか?[クローズド]

2023-01-07 06:15:23

質問

データベース制約の明確な定義とは何ですか? なぜ制約がデータベースにとって重要なのでしょうか? 制約の種類は何ですか?

どのように解決するのですか?

制約は、データベーススキーマの定義の一部です。

制約は通常、テーブルと関連付けられ、テーブルを構成するために CREATE CONSTRAINT または CREATE ASSERTION SQLステートメントを使用します。

SQL 文は、データベース内のデータが準拠しなければならない特定のプロパティを定義します。制約は、列、テーブル全体、複数のテーブル、スキーマ全体に適用することができます。信頼できるデータベースシステムは、制約が常に保持されることを保証します(いわゆる遅延制約のためのトランザクション内部を除く)。

一般的な制約の種類は以下の通りです。

  • nullでない - 列の各値は NULL
  • ユニーク - 指定された列の値は、テーブルの各行で一意でなければなりません。
  • 主キー - 指定されたカラムの値は、テーブルの各行に対して一意でなければなりません。 NULL 通常、データベースの各テーブルは主キーを持つべきです - これは個々のレコードを識別するために使用されます。
  • 外部キー - 指定されたカラムの値は、他のテーブルの既存のレコードを参照しなければなりません (そのテーブルの 主キー または他の 一意制約 )
  • チェック - 制約が満たされるために真と評価されなければならない式が指定されています。