※ 引述《idforyou (ted)》之銘言:
: 定義一:
: 外來鍵必須為空值(NULL)
: 或是一個相匹配(Match)於其它關聯之主鍵的值。
: 外來鍵有參考到某關聯的候選鍵(主鍵) 時,此候選鍵(主鍵) 必須存在。
: 定義二:
: 外來鍵必須為全部空值或全部非空.
: 若全部非空,則必須在其他關聯中之主鍵存在相對應值
: 定義一是某學校投影片
: 定義二是某補習班講師講義所寫
: 矛盾的是根據一的定義 好像外來鍵欄位
: 有些值可以是NULL 有些值不用
: 這樣好像跟二的定義衝突(必須全部空或全部非空)
: 不知道有沒有資料庫的高手大大
: 可以提示小弟一下
: 那個定義才是對的 感恩
阿 我看懂了啦XD
其實樓上有高手先回答過了
這兩個說法其實是在講同一件事情
首先 你要知道pk是可以由多個欄位組成的
所以fk也有可能是由多個欄位組成
定義一跟定義二其實都是要表達說
“一筆資料“的fk只有全null 跟 全部not null
不能一半一半這樣
只是這種文字表達方式
很容易讓人誤解為column的nullable設定....
其實一切都是誤會來的 XD
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.32.105.1