台灣最大程式設計社群網站
線上人數
1571
 
會員總數:245248
討論主題:189105
歡迎您免費加入會員
討論區列表 >> 其他DB >> 我迷糊了關於弱實體的問題
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
我迷糊了關於弱實體的問題
價值 : 30 QP  點閱數:6187 回應數:2

樓主

風箏
中級專家
5014 31
6892 1003
發送站內信

下面有一題關於資料庫分析的題目在題目的最後提問中"輸贏記錄是一弱實體型態"但是我所查到的資料關於弱實體型態的定義
係指無主鍵之資料表但在題目中卻又提到"其中勝隊,敗隊,比賽日期合起來為唯一"
@@a 這下子我迷糊了 是我觀念有錯誤嗎還是是題目有問題
但求小舖前輩一解其惑



[ 題目 ]
請為職棒聯盟的戰績繪一ERD,請包含至少以下四種實體型態:
1. 球隊
2. 聯盟:可能有數個職棒聯盟
3. 球員
4. 球場
這四種實體型態有以下的性質:
• 每個球隊有隊名,一個總教練和數個教練,球隊所屬的公司名稱。教練的ID,姓名和生日需記載。每個球隊必須隸屬於只有一聯盟。其中隊名為唯一。

'<<矛盾點>>
• 球隊的輸贏記錄需記載,包括勝隊,敗隊,比賽日期,比數,和比賽球場。其中勝隊,敗隊,比賽日期合起來為唯一。假設沒有平手。

• 每一聯盟有名稱,成立日期。其中名稱為唯一。
• 每一球場有球場ID,名稱,地址。其中球場ID和名稱均為唯一。每一球隊有一主球場。
• 球員有ID,姓名,生日,打擊率,月薪。其中ID為唯一。每一球員必須隸屬於一球隊。
必要的話,可自行假設其他相關狀況,但必須寫清楚。


'<<重點>>>
此例中,輸贏記錄是一弱實體型態,且與球隊有兩個關係型態 (分別是贏和輸)。如果把此二關係型態拿掉,輸贏記錄變成是一般的實體型態,同時多了兩個屬性:贏隊名和輸隊名。請問,此時輸贏記錄的關鍵屬性為何?這樣的改變有何缺點?




搜尋相關Tags的文章: [ 資料庫分析 ] , [ ERD ] , [ ER ] , [ 弱實體 ] ,
本篇文章發表於2006-10-26 09:26
== 簽名檔 ==
^_<
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
最有價值解答

神來之筆
捐贈 VP 給 神來之筆 檢舉此回應
呵呵,您的疑問,小弟也曾迷惑
,真是很討厭的資料庫聖經
,以下的名稱都用資料庫的學名

在資料庫學理上的鍵值*(key), 跟我們一般說的主索引(Primary key), 有點不同,
鍵值(key)的選定,會限定在實體(Entity)所產生的屬性(attribute)
以您的例子"輸贏記錄", "其中勝隊,敗隊,比賽日期合起來為唯一"
但從在ERD上看, 是輸贏記錄藉一雙線邊的菱形的關係, 對應到球隊,
這關係透過"球隊"的"勝隊,敗隊"和自己的"比賽日期"來辨識,稱"識別關係"(Identifing relationship)
,概念上"勝隊"、"敗隊"屬性是借來的, 不算輸贏記錄本身所產生的屬性
,只是在設計時,會把"勝隊,敗隊"拉進資料表, 會感覺是資料表的屬性,
,而這樣關係下"輸贏記錄"會完全相依於"球隊",
白話點就是要先有球隊才會有輸贏記錄

另外,組成唯一的第三個屬性"比賽日期", 真的是輸贏記錄的屬性
但它卻無法就拿來做唯一識別, 只能幫襯用, 學理上就給它一個名稱
, 稱為部分鍵(partial key), 呵呵, 又叫key, 卻不是真的key的全部
, 又容易被誤解為副key,唉~


-----------------------
>>此例中,輸贏記錄是一弱實體型態,且與球隊有兩個關係型態 (分別是贏和輸)。
如果把此二關係型態拿掉,輸贏記錄變成是一般的實體型態,同時多了兩個屬性:贏隊名和輸隊名。
請問,此時輸贏記錄的關鍵屬性為何?這樣的改變有何缺點?

:應該是輸贏記錄多宣告一個自動編號的鍵值*(學理上), 而這是自己的屬性了,
因此成為一個強實體,贏隊名和輸隊名就變成外來鍵
缺點應該是可能產生沒有球隊的輸贏記錄,
但只要強制贏隊名和輸隊名有值, 並做好關聯



本篇文章回覆於2006-10-26 11:17
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

風箏
檢舉此回應
感謝前輩的解惑^^"
本篇文章回覆於2006-10-26 13:25
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.