看板 Database 關於我們 聯絡資訊
各位前輩 想請問一下 我在看資料庫的書時這三點覺得很怪 第一個問題 關聯表還具備四個性質: 其中這點關聯表中不含重複的"值組" 可是書上的table明明值組都有重複的阿(非主鍵) 我google網路上一些教學也是有上述那點 阿表裡面還是重複阿 例如這網頁的表格中 http://faculty.stust.edu.tw/~jehuang/oracle/ch2/2-2.htm Mgr跟Deptno裡面職組都有重複阿 請問是我理解錯誤嗎? 第二個問題 根據參考完成性、外鍵必須全部空值或非空 今天書上舉例插入動作 表1 員工ID(這是主鍵) 姓名 部門代號(這是外鍵) a1 ian 001 a2 ian 002 a3 teddy 003 a4 jahn 001 表2 部門代號(主鍵) 部門名稱 001 業務部 002 資訊部 003 研發部 今天表1插入新員工資料(a5、may) 插入成功 這樣不對啊根據參考完成性、外鍵必須全部空值或非空 這筆資料沒給部門代號怎可以插入 第三個問題我不確定是否可以問在這 弱個體看定義是 : 弱個體就是本身沒有任何鍵值屬性的個體 但有部分鍵用來描述弱個體的屬性 (我手上的書只有文字描述沒話弱個體) 但這段話很怪 沒有任何鍵值屬性 卻又有部分鍵用來描述屬性? 而根據我google到的圖 在E-R Model中,唯一可辨識弱個體的屬性稱為部份鍵 (Partial Key),其圖示為在該屬性名稱下方加上虛底線 (實 務上也可用實底線),假如部分鍵有很多個,那我要對主鍵+實底線嗎? 因為我非本科生,沒學過資料庫只好自學 懇請各位大大幫解惑 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 163.25.119.4 ※ 文章網址: https://www.ptt.cc/bbs/Database/M.1457017575.A.9B0.html ※ 編輯: povertytrap (163.25.119.4), 03/03/2016 23:07:16 ※ 編輯: povertytrap (163.25.119.4), 03/03/2016 23:17:41 ※ 編輯: povertytrap (163.25.119.4), 03/03/2016 23:24:42
fightforlive: 問題一. 所謂值組是說一筆資料.不能有兩筆以上資料 03/04 00:34
fightforlive: 的所有欄位都相同.在DB裡PK不能重複,FK參考到其他ta 03/04 00:34
fightforlive: ble的PK,不同筆資料可能參考到相同PK,所以可以重複. 03/04 00:34
fightforlive: 問題二. 所謂FK剛剛說過是參考到其他table的PK,而PK 03/04 00:41
fightforlive: 可以不只一個欄位組成一個"複合PK",因此,所謂全空 03/04 00:41
fightforlive: 或全非空是指一筆資料的FK欄位都是空或非空,不能有 03/04 00:41
fightforlive: 一些欄位有值,另以些則無. 03/04 00:41
povertytrap: 問題二,對阿那FK那個插入範例沒填新資料的FK阿 03/04 00:47
povertytrap: 因此新資料的FK部門代號不就null,怎可新增成功 03/04 00:48
fightforlive: 問題三,只看懂前面問的內容,後面看不懂@@ 弱個體是 03/04 00:59
fightforlive: 依附在其他非弱個體,而部份鍵是用來辨別在同一個體 03/04 00:59
fightforlive: 下的弱個體,但在整個資料庫裡無法透過 姓名都不重 03/04 00:59
fightforlive: 覆,因此眷屬姓名為部份鍵,所以可以在某個員工底下透 03/04 00:59
fightforlive: 過姓名來識別某個眷屬,但是換成另一位員工的眷屬姓 03/04 00:59
fightforlive: 名就可能和剛剛的員工眷屬姓名相同.因此,可以知道無 03/04 00:59
fightforlive: 法在整個資料庫裡透過員工眷屬姓名找到是不是 部份 03/04 00:59
fightforlive: 鍵識別該弱個體,只能透過(所依附個體的PK+弱個體部 03/04 01:00
fightforlive: 份鍵)在整個資料庫裡識別.例如: 眷屬依附在員工個 03/04 01:00
fightforlive: 體,因此眷屬為弱個體.現在假設眷屬下的你要找的人, 03/04 01:00
fightforlive: 可能找到多個相同姓名.如果員工個體有員工id可以識 03/04 01:00
fightforlive: 別不同員工,可以透過員工id+員工眷屬姓名就可以唯一 03/04 01:00
fightforlive: 找到一個人 03/04 01:00
shadow0828: 後面坦白講看不懂 應該是跟 Unique 有相關連... 03/04 09:41
shadow0828: 除非你insert 的column 不允許null 不然insert的問題? 03/04 09:42
povertytrap: 謝謝f大大,關於問題二插入(a5、may)這筆資料, 03/04 11:32
povertytrap: 部門代號沒給值,而部門代號屬於fk,這怎可插入成功? 03/04 11:34
povertytrap: 明明外鍵要都空或非空阿,這有就有值跟有空阿 03/04 11:35
※ 編輯: povertytrap (163.25.119.4), 03/04/2016 11:35:43
povertytrap: 第三問題是說ER圖部分鍵(弱個體屬性)下面繪畫虛線 03/04 11:36
povertytrap: 如果弱個體有很多屬性,那主鍵屬性要化實底線+虛線嗎 03/04 11:37
neo5277: FK如果他要空 那就可以插入了不是嘛? 03/04 11:45
neo5277: 第三個看起來是不是有點像 訂單 跟訂單明細 然後訂單明細 03/04 11:46
neo5277: 裡面有一些東西的確是沒有特別關連這樣 03/04 11:46
povertytrap: 根據參考完整性限制藥都空或都非空阿 03/04 11:46
neo5277: 問題二我剛剛建完表條件都照抄的確是不行 03/04 11:57
povertytrap: 奇怪書上怎會寫可以= ="" 03/04 12:13
povertytrap: 所以確定這是錯誤就是了? 03/04 12:14
neo5277: 恩我照你說的 去拉表 insert 就跳出錯誤訊息了 03/04 13:15
neo5277: 我都設沒有允許NULL 03/04 13:16
povertytrap: 好吧 謝謝N大跟F大 03/04 13:25
povertytrap: 我找到實際例子了,聯合大學陳士杰老師這份投影片 03/04 15:00
povertytrap: http://goo.gl/Ej7LIg 投影片第29頁,依樣少FK 03/04 15:02
povertytrap: 插入 (‘A233’, ‘陳土木’, ‘0987654’)插入允許 03/04 15:02
povertytrap: 怎麼都跟他們寫得不一樣........ 03/04 15:03
※ 編輯: povertytrap (163.25.119.5), 03/04/2016 15:10:20
neo5277: 他29頁的 EX2 跟四我想是他誤植了應該顛倒就解了 03/04 15:21
fightforlive: 你文章說的例子需要有個前題,就是預設值為NULL,這 03/04 18:33
fightforlive: 樣不填就可以插入了 03/04 18:33