Re: [SQL ] 資料庫設計的觀念…
問題出在正規化上面(由下而上來看的話)
第一種寫法沒有符合第二正規化
正規化不足的話
會造成三種異常
分別是新增異常 刪除異常 修改異常
這個查一下DB的教科書就有了
由上而下來看的話
就是由ER-model的角度
留言 與回覆留言
是一對多的關係
所以要拆成兩個table來存放這兩個實體
然後多的那個table(回覆留言)
要放對應的留言編號當FK
這是很正規的 ER轉relational的作法
※ 引述《grassboy2 (天才小胖子-草兒活力花俏)》之銘言:
: 嗯嗯…突然對於這個問題有點興趣…
: 主要是兩種留言板的寫法…
: 一種是把每一筆留言以:
: 留言編號
: 發表時間
: 發表人
: 發表內容
: 相關回應
這邊要改成對應到的留言編號吧
還是你有其他想法?
: 寫成一筆資料,放進一個table
: 另一個是:
: table1
: 留言編號
: 發表時間
: 發表人
: 發表內容
: table2
: 對應到的留言編號
: 相關回應
: 將留言與回覆分開,放在兩個不同的table
: 當要使用的時候,對table1、table2作存取…
: ================================================
: 耶…感覺第一種寫法比較直觀耶…(在不考慮儲存空間的狀況下)
: 雖然說第二種寫法在不需要讀取回覆留言時可以只對一個table作select
: 但…第一種寫法不也可以直接select出 相關回應 外的column嗎@@~
: 怎麼好像比較有經驗的人都使用第二種寫法呢@@a
: ---
: 其實問這個問題是最近在作一個網站…
: 資料庫的設計方法也是將table儘量細分…
: 但是這樣一來…select時用到JOIN的機率就會大增…
: 感覺JOIN是一件有點沒效率的工作@@~
: 有高手可以指點一下嗎@@~
: 謝謝囉^^~
--
http://www.im.tv/vlog/personal.asp?FID=&Memid=254442
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.109.169.200
※ 編輯: seagal 來自: 140.109.169.200 (08/07 22:47)
推
08/07 22:54, , 1F
08/07 22:54, 1F
推
08/07 22:58, , 2F
08/07 22:58, 2F
推
08/10 04:04, , 3F
08/10 04:04, 3F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 5 篇):
Database 近期熱門文章
PTT數位生活區 即時熱門文章