
No.2ベストアンサー
- 回答日時:
主キー(プライマリ・キー)自体の制約は以下です。
・1テーブル内でユニーク(一意)を保証する。
・Nullを許容しない(NotNull)。
ですので、主キー自体の値は物理的には更新可能です。
ただし、例えば以下のような場合に製品テーブルの主キーが
更新された場合どうなるでしょうか。
・製品テーブル(マスタ)
製品コードが「A1」※主キー
名称が「ねじA」
・在庫テーブル
製品コードが「A1」※主キー
在庫数が100個
製品テーブルに該当するコードがなくなるので、在庫テーブル側からは名称がわからなくなります。リレーショナルが失われるので、製品テーブル側からは在庫数がわからなくなります。
ですので、通常、主キーの更新は行ないません。
しかし、現実世界では様々な統廃合が行なわれるので主キーを更新せざるを得ない場合もあります。その場合は、各テーブルの関係を考慮に入れて、関係するテーブルすべてのキーを更新する必要があります。
子テーブルにレコードがあった場合、親テーブルのレコードが削除できないのは外部キー(フォーリン・キー)です。
この場合は、子テーブルにデータがある限り、親テーブルからは、参照しているレコードを削除することはできません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「マスタ」と「テーブル」の違...
-
accessで移動平均する方法
-
ACCESS2000のテーブル構造
-
請求と入金のテーブルの作成の...
-
続.ORACLEのSELECTのソートに...
-
重複するキーから一番古い年月...
-
2つのテーブルから条件に一致...
-
こんなSQLを教えてください
-
SQLについて質問です。 テーブ...
-
オラクルではできるのにSQLSERV...
-
数百万件レコードのdelete
-
SI Object Browserのテーブルス...
-
VBAの実行時エラー'2522'について
-
SQLで○○の値以外を持っているレ...
-
更新クエリでキー違反
-
Access VBA [リモートサーバー...
-
SELECT時の行ロックの必要性に...
-
AccessShareLock はどの程度気...
-
SQL SERFVER で外部キーのエラ...
-
大きなテーブルに対する問い合...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「マスタ」と「テーブル」の違...
-
accessで移動平均する方法
-
請求と入金のテーブルの作成の...
-
ACCESS2000のテーブル構造
-
重複するキーから一番古い年月...
-
2つのテーブルから条件に一致...
-
Accessユニオンクエリーで2つ...
-
主キーの変更
-
ACCESS 一つのフィールドに複...
-
PLSQLの識別子エラー
-
続.ORACLEのSELECTのソートに...
-
Accessでフィールドを比較した...
-
行方向のデータを横に並べる
-
update文で質問です。 下記の条...
-
ACCESS2000です。
-
VIEWでテーブルの集計結果...
-
場合によって条件を変えるSQL
-
商品コード番号を入力すると商...
-
ACCESSのコンパイルエラーについて
-
Sheet1$が存在致しませんとエラー
おすすめ情報