[問題]ERD-場地租借 正規化觀念的請教
附上ERD http://yfrog.com/5dermodel2j
字很多....小弟是剛學資料庫的 很想把它學好(組員也擺爛=..=)
只能靠自己囧
很多問題應該都算觀念 有請鄉民替我解惑
我想知道自己哪裡對哪裡錯........感恩.....
幫我看我解釋的 怕我有觀念上的錯誤 (感恩~^^")
其實看書有點不是很懂
我試著用自己的想法寫出來
(以下開始):
1.在資料庫裡一開始先畫出大概的主架構(ER MODEL)→不明確也沒關係
2.接著將ERD轉換成關聯綱目(也就是很多個Table)
3.將很多個個關聯綱目做第1.2.3正規化
正規化完再去修正ERD 使之更明確 →是這樣嗎= =?
問題:
1.a.像關聯綱目的定義每一個屬性為簡單且單值
豈不是我們要第一正規化這個步驟是多餘的嗎= =?
b.為什麼Relationship不能加主鍵?
2.a.正規化是只正規實體而已嗎? 為什麼不用正規relationship呢?
是不是因為relationship是正規實體的產物呢?
譬如:顧客購買商品這一個關聯綱目
屬性有 CustomerID CustomerName TradeID TradeProduct
因為CID和TID是關聯鍵
{CID,TID}→{CNAME}
所以拆成兩個滿足2NF
+------------+ +------------+
|Customer |------Relationship---- | Trade |
+------------+ / \ +------------+
/ \ CID TId / \
CID CNAME TID TProduct
b 如果一個關聯綱目只有一個關聯鍵它一定滿足2NF嗎?
(如果不是可以幫我舉一個例子嗎?)
換句話說2NF的定義是不是一個關聯綱目裡有兩個以上關聯鍵
並且找到一個非關聯鍵與關聯鍵有意義上的關係(譬如商品編號 和商品名稱)
此時就把這整個關聯綱目拆成兩個對嗎?
因為2NF比較不好理解
我再打一個定義上的觀念請教一下..
A,B,C是關聯鍵 找到一個D與ABC是部分函數相依
因為C→D (譬如學生學號 對應學生姓名)
所以要拆成兩個表格{A,B,......}和{C,D......}
再去檢查{A,B...}這個關聯網目裡有沒有滿足2NF這樣
有點像遞迴這樣= =?
3. 第三正規化
譬如
學生學號 學生姓名 學生系所 學生年級 學生住址 學生的房東 房東電話
一個學號對應一個學生住址
一個學生住址對應一個房東 所以不滿足3NF
故需拆成(學號.....住址) 和(住址....電話)
這樣= ="? 不知道有沒有講錯
4.(最後一個了)
如果一開始的ERD畫的夠詳盡明確 是不是就省下正規化的時間
我看我的TABLE實在想不出來可以哪裡可以再改進了= =?
請好心大大幫我看一下 Orzzzzzzzzzzzzz
+-------------------------+
|學生 |
+-------------------------+
| 學號 {主鍵} | 49635001 張小明 資管 3 091234567
| 姓名 |
| 系 所 |
| 年級 |
| 電話 |
+-------------------------+
+----------------------------+
| 預定 |
+----------------------------+
|學生學號 (外部鍵) |
|預定流水號 (外部鍵) |
| |
| |
| |
| |
+----------------------------+
+-------------------------+
|預定單 |
+-------------------------+
| 預定流水號 (主鍵} | 1 49635001 A101 20090516 08:00 Null
| | 20090517 10:00 20090517 12:00 預約中 Null
| |
| 申請日期 | 2 49635001 A102 20090516 08:05 Null
| 取消日期 | 20090518 19:00 20090518 21:00 200
| 使用開始時間 |
| 使用結束時間 |
| 使用狀態(預約中,取消) |
| 晚間開燈費用 |
| |
| |
+-------------------------+
~
+----------------------------+
|紀錄 |
+----------------------------+
|預定單流水號 (外部鍵) |
|場地編號 (外部鍵) |
| |
| |
| |
| |
+----------------------------+
+-------------------------+
|場地 |
+-------------------------+
|編號 {主鍵} | A101籃球場A
|名稱 | A102排球場A
| |
| |
+-------------------------+
~
+-------------------------+
|優先預定 |
+-------------------------+
| 場地編號 (外部鍵) | A101 00153 20090517 08:00 20090517 10:00
| 課程編號 (外部鍵) |
| 課程開始時間 | //這在學期初就匯入資料庫
| 課程結束時間 | 如果要設定時是不是在程式端設定第一天上課後
| | 每加七天同一時段不能外借給學生= =?
+-------------------------+
~
+-------------------------+
|體育課程 |
+-------------------------+
|課程編號 {主鍵} | 00153
|課稱名稱 | 籃球3
|老師姓名 | 王大同
| |
+-------------------------+
~
+-------------------------+
|設備租借 |
+-------------------------+
| | 001 49635001 A1 50 未還
|學生學號 (外部鍵) |
|設備ID (外部鍵) |
|借用數量 |
|借用狀態 |
| |
+-------------------------+
+-------------------------+
|設備 |
+-------------------------+
|設備ID {主鍵} | A1 籃球 150
|設備名稱 |
|庫存數量 |
| |
+-------------------------+
~~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 125.225.32.212
※ 編輯: Hotpenis5566 來自: 125.225.32.212 (05/16 22:40)
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):