制約 – ウィキペディア

before-content-x4

制約 (ドイツ語の「制限」)は、システムで値を採用できるように変数の値によって満たさなければならないさまざまなプログラミング言語条件で定義されます。データベースシステムでは、制約はスカラーの値範囲(ドメイン)を制限し、その許容性を確認するために活気に満ちています。プログラム分析では、機能プログラムの分析で制約が使用されます。

after-content-x4

制約は、コンパイラとランタイム環境がプログラミングエラーをより簡単に認識できるようにするのに役立ちます。変数を取りましょう の数 ここでは、この変数が負の値を持っていてはならず、最大値を超えてはならないことは明らかです。

プログラミング言語ADAでは、次のようになります。

タイプ  容量   範囲  0。 13 ;  の数   容量  :=  15 ;  

ここで、コンパイラは、以前に指定された条件以外の値15をすぐに認識できます 範囲 嘘。変数が制限されていない場合、プログラマーは変更ごとにこの状態自体を確認する必要があります。

原則として、制約はデータベースシステムでも同じように機能します。制約は、データベースにデータレコードを挿入、変更、削除するときに満たす必要がある条件を定義します。

多くのデータベースシステムは、制約に加えてトランザクションを知っています。これらの2つの概念の組み合わせは、すべての制約がトランザクションの最後に最新の状態でチェックされるため、非常に強力です。制約が失敗した場合、このトランザクションで実行されたデータのすべての変更は、まるで実行されないかのように撤回されます。

after-content-x4

制約は、整合性条件によってデータベースシステムで定義されます。

データベースシステムの可能な制約のリスト:

  • ヌルではありません →スカラーはできません ヌル なれ
  • 主キー →スカラーは一意でなければならず、できません ヌル なれ
  • 外部キー →スカラーは、参照整合性を確認する必要があります
  • 個性的 →スカラーは属性内で一意でなければなりません
  • チェック() →DBMSの明示的なレビュー手順。チェックする必要があるものは、この命令のオプションとして定義されます [初め]

制約にはさまざまな種類もあります。

  • 属性の制約は、単一の列を参照してください
  • 関係の制約、いくつかの属性(列)を参照してください
  • 名前の制約は、名前に基づいて操作できます
  • 名前のない制約は、システムによって生成された名前を受け取ります

例:属性制約 [ 編集 | ソーステキストを編集します ]

次の例では 主キー 無名の制約と 制約Persons_fp 名前付き制約に。

作成  テーブル    id  主要な    指紋  Bytea  制約  persons_fp  個性的  );  

例:関係の制約 [ 編集 | ソーステキストを編集します ]

次の例では Constraint Person_prime 名前付き制約と 個性的() 無名の制約について。

作成  テーブル    id  シリアル   名前  varchar   dob  日にち   で生まれた  varchar      CONSTRAINT person_prime PRIMARY KEY(id),
    UNIQUE(name, dob, born_in)
);

この場合、制約は、実行されるアクションの制限としても使用されます。要件または要件と制約を区別します。物流に商品やサービスを提供する場合、制約はzです。 B.体積または体重の領域の体積または重量の領域の特定のトラックに適用される制限。

開発では、たとえば青写真の歴史的条件のために、コントレインの進化的経路は制限されています。

理論的なコンピューターサイエンス、特にAIの研究では、自由変数を含むリレーショナルステートメントはしばしば制約と呼ばれます。次に、特定の量の制約に適合する変数割り当てまたは解釈が同時に求められます。

例: バツ 本当に上にあります 本当に上にあります 上にあります バツ (この量の制約は満たされていません)。

すべての制約を満たす占有率は、しばしば「モデル」と呼ばれます。

内部および木には、ノードとノードに制約があります。ここでは、主な目標を達成するためにいくつかのサブゴールを満たす必要があります。

  1. 第5章データ定義-5.4。制約。 (オンラインで利用できなくなりました。): PostgreSQL:公式マニュアル。 POSTGRESQL Global Development Group、アーカイブ オリジナル 午前 27. 2011年10月 ; 2011年11月3日に取得 (英語: http://www.postgresql.org/docs/current/static/ddl-constraints.html )。 情報: アーカイブリンクは自動的に使用されており、まだチェックされていません。指示に従ってオリジナルとアーカイブのリンクを確認してから、このメモを削除してください。 @初め @2 テンプレート:webachiv/iabot/www.postgresql.org

after-content-x4