
No.2ベストアンサー
- 回答日時:
主キー(プライマリ・キー)自体の制約は以下です。
・1テーブル内でユニーク(一意)を保証する。
・Nullを許容しない(NotNull)。
ですので、主キー自体の値は物理的には更新可能です。
ただし、例えば以下のような場合に製品テーブルの主キーが
更新された場合どうなるでしょうか。
・製品テーブル(マスタ)
製品コードが「A1」※主キー
名称が「ねじA」
・在庫テーブル
製品コードが「A1」※主キー
在庫数が100個
製品テーブルに該当するコードがなくなるので、在庫テーブル側からは名称がわからなくなります。リレーショナルが失われるので、製品テーブル側からは在庫数がわからなくなります。
ですので、通常、主キーの更新は行ないません。
しかし、現実世界では様々な統廃合が行なわれるので主キーを更新せざるを得ない場合もあります。その場合は、各テーブルの関係を考慮に入れて、関係するテーブルすべてのキーを更新する必要があります。
子テーブルにレコードがあった場合、親テーブルのレコードが削除できないのは外部キー(フォーリン・キー)です。
この場合は、子テーブルにデータがある限り、親テーブルからは、参照しているレコードを削除することはできません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「マスタ」と「テーブル」の違...
-
2つのテーブルから条件に一致...
-
主キーの変更
-
項目内の改行がレコードの終わ...
-
ACCESSのコンパイルエラーについて
-
Accessでフィールドを比較した...
-
PLSQLの識別子エラー
-
正規化・リレーションシップに...
-
重複するキーから一番古い年月...
-
商品コード番号を入力すると商...
-
アクセス2007 ルックアップに...
-
履歴を管理するテーブル構造に...
-
3つ以上のテーブルをUNIONする...
-
SELECT時の行ロックの必要性に...
-
ACCESSのSQLで、NULLかNULLでな...
-
Access VBA [リモートサーバー...
-
ビューで引数を使いたい
-
ACCESS2007 フォーム 「バリア...
-
オラクルではできるのにSQLSERV...
-
Accessにインポートしたら並び...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「マスタ」と「テーブル」の違...
-
2つのテーブルから条件に一致...
-
重複するキーから一番古い年月...
-
主キーの変更
-
update文で質問です。 下記の条...
-
ACCESS 一つのフィールドに複...
-
続.ORACLEのSELECTのソートに...
-
accessで移動平均する方法
-
行方向のデータを横に並べる
-
Accessでフィールドを比較した...
-
PLSQLの識別子エラー
-
商品コード番号を入力すると商...
-
ACCESSのデータシート形式のフ...
-
複数InnerJoin時の処理落ち回避法
-
Accessのテーブル設計について...
-
正規化・リレーションシップに...
-
Accessのコンボボックスの使い...
-
データベースの問題
-
ACCESSのコンパイルエラーについて
-
SQL結合条件
おすすめ情報