[請問] 資料庫應用 ER model問題已回收

看板ask (問板)作者 (保庇BOBEE)時間11年前 (2014/08/01 21:42), 11年前編輯推噓0(0031)
留言31則, 2人參與, 最新討論串1/1
我想問一下 資料庫應用 裡面 ER Model 弱個體與個題的差別 -- 假使 有一個體 如 學生 學生之間的差別會用鍵值屬性來區別 (例如學號 然後 弱個體看定義是 : 弱個體就是本身沒有任何鍵值屬性的個體 如果今天有個學生(個體) 有(屬性) N個 親屬(弱個體) 那親屬之間的區別 又以 姓名來區分 看定義這個叫部分鍵 那我想問的是 上面定義的部分 不是就說弱個體不會有任何鍵值屬性嗎 那部分鍵的功用不是就跟鍵值屬性一樣是用來區分單位個體裡面的區別嗎 那這樣為什麼又要有弱個體的存在?? 我這樣想法是錯的嗎 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.127.200.199 ※ 文章網址: http://www.ptt.cc/bbs/ask/M.1406900535.A.7CA.html ※ 編輯: ko74652 (59.127.200.199), 08/01/2014 21:43:33

08/01 21:44, , 1F
會有同名同姓的啊
08/01 21:44, 1F

08/01 21:46, , 2F
那這樣為什麼要有弱個體的存在 就都用個體就好了啊@@?
08/01 21:46, 2F

08/01 21:47, , 3F
不過 weak entity 的定義是依附在另一個 entity 之下
08/01 21:47, 3F

08/01 21:47, , 4F
以你的例子,就是使用學生的 primary key 加親屬名字區別
08/01 21:47, 4F

08/01 21:48, , 5F
學生的 primary key 是親屬的 foreign key 這樣
08/01 21:48, 5F

08/01 21:49, , 6F
你只要賦與每個親屬一個自己的 primary key
08/01 21:49, 6F

08/01 21:49, , 7F
親屬就從弱個體變成個體了沒錯
08/01 21:49, 7F

08/01 21:50, , 8F
不過有時候這是沒必要的... 親屬至少還是個獨一無二的人
08/01 21:50, 8F

08/01 21:51, , 9F
如果有個 table 是紀錄哪兩個學生在戀愛,這不用 key 吧!
08/01 21:51, 9F

08/01 22:15, , 10F
我大概了解了 通常親屬只會隸屬於一位學生
08/01 22:15, 10F

08/01 22:15, , 11F
而不會隸屬於其他學生 如果都用個體 那親屬就會重複隸屬
08/01 22:15, 11F

08/01 22:17, , 12F
這樣就表格就會失去這個體擁有的唯一性質 是這樣嗎
08/01 22:17, 12F

08/01 22:17, , 13F
謝謝你回覆哦
08/01 22:17, 13F

08/01 22:18, , 14F
其實我覺得親屬的例子不好,weak entity 最常用的還是我
08/01 22:18, 14F

08/01 22:19, , 15F
舉的 associative entity, 也就是拿來表示多對多的對應
08/01 22:19, 15F

08/01 22:20, , 16F
等等,戀愛關係多對多好像哪邊怪怪的...
08/01 22:20, 16F

08/01 22:30, , 17F
這樣意思是 如果我有一個女朋友叫A 小明也有個女朋友叫A
08/01 22:30, 17F

08/01 22:30, , 18F
如果使用weak entity就沒問題 用個體就變成多對多是嗎XD
08/01 22:30, 18F

08/01 22:32, , 19F
不是,是學生 A 和學生 B 戀愛,那有一個 table 的內容是
08/01 22:32, 19F

08/01 22:32, , 20F
兩個 foreign key 欄位分別記 A 和 B 的 key
08/01 22:32, 20F

08/01 22:33, , 21F
這個 table 的內容並不是人,而是一段關係,而 A-B 的
08/01 22:33, 21F

08/01 22:33, , 22F
聯合 key 可以定義為這段關係的 primary key
08/01 22:33, 22F

08/01 22:34, , 23F
所以 table 中也會有 A-C A-D B-D B-E 等等多對多關係
08/01 22:34, 23F

08/01 22:35, , 24F
Wikipedia 的舉例是學生-課程的修課關係,好像正常多了
08/01 22:35, 24F

08/01 22:36, , 25F
除了學生和課程兩個表外還有個表記錄哪個兔崽子修哪門課
08/01 22:36, 25F

08/01 22:48, , 26F
所以你舉的例子來說 就是人與人之間的關係 用弱個體才會表
08/01 22:48, 26F

08/01 22:48, , 27F
示正確的對應關係 像是A-C B-C的關係 如果只用個體
08/01 22:48, 27F

08/01 22:48, , 28F
那就無法了解到這多對多的關係 對吧!?
08/01 22:48, 28F

08/01 23:19, , 29F
沒錯
08/01 23:19, 29F

08/01 23:21, , 30F
所以一般來說,弱個體是應用在根本就不是個體的東西上
08/01 23:21, 30F

08/01 23:29, , 31F
感謝
08/01 23:29, 31F
文章代碼(AID): #1JsvatVA (ask)
文章代碼(AID): #1JsvatVA (ask)