0

参照: w3schools-SQL

それは述べています:

FOREIGN KEY 制約は、テーブル間のリンクを破壊するアクションを防ぐために使用されます。外部キーが防止するアクションの例を誰かが挙げることができますか?

ありがとう。

4

3 に答える 3

3

EmployeesDepartmentsという 2 つのテーブルがあるとします。各部門には固有の番号があり、従業員ごとにその部門の番号が記載されています。これも外部キーとして宣言しました。

その場合、外部キーによって多くのアクションが妨げられます。

  • 存在しない部署で働く新入社員の挿入
  • 勤務している社員がいる部署を削除する
  • 従業員が所属する部署を存在しない部署に変更して従業員を更新する
  • 部門番号を変更して部門を更新する (その部門に勤務する従業員がいる場合)
  • 部門テーブルの破棄

これはすべて、従業員が特定の部門で働いていることをデータベースが示す場合、その部門が実際にデータベースに存在することを保証するためです。

于 2012-11-08T19:35:25.567 に答える
1

テーブル Employee の主キーは empid に設定されています。

テーブル Employee のテーブル アドレス参照 (外部キー制約) empid

テーブル Employee から従業員 '1011' を削除しようとして、その従業員がテーブル アドレスにレコードを持っている場合、依存関係のために削除は行われません。カスケード削除を設定していない限り..

于 2012-11-08T19:33:55.213 に答える
0

テーブル ユーザー

ID   UserName
1    msmucker0527
2    Jake

表 Email (外部キー: UserID = Users.ID)

UserID    Email
1         msmucker0527@email.net
2         jake@email.net

ユーザー テーブルに存在しないユーザー ID を持つレコードを電子メール テーブルに追加することはできません。この方法では、ユーザーに「リンク」されていない電子メール アドレスはありません。また、取り残されないように、最初に電子メールアドレスを削除せずにユーザーを削除することもできません。

于 2012-11-08T19:36:23.770 に答える