新手笨蛋請問使用者和資料表問題 |
尚未結案
|
diehuman
初階會員 ![]() ![]() 發表:91 回覆:57 積分:29 註冊:2003-04-16 發送簡訊給我 |
|
william
版主 ![]() ![]() ![]() ![]() ![]() 發表:66 回覆:2535 積分:3048 註冊:2002-07-11 發送簡訊給我 |
|
hahalin
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:295 回覆:1698 積分:823 註冊:2002-04-14 發送簡訊給我 |
|
P.D.
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
引言: 請問各位大大,在做資料庫是不是一定會去做正規化,還是會考慮使用者問題在加上撰寫問題去考慮才決定是不是要做正規化(因為正規化會讓資料表變的多張,覺得程式上撰寫難度增加) 唯有學識與堅持才是成功的基石,所有事物被創造出來都是為解決問題就我個人的經驗來說 1.正規化的設計的確會降低許多重覆性資料的重覆建立, 可以達到資料維護的完整性及降低風險性, 當然如果你去看很許資料庫管理的書籍, 都建議你要以正規化來考量, 但正規化所帶來的一個很大的問題就在各關聯性之連結你必須能控制得宜, 否則一個環節出問題, 這個正規化馬上瓦解, 而且在sql上, 如果當你要做一個非常細微的分析時, 用到合併資料庫的動作增加, 勢必會增加程式設計上的困難度及系統資源增大的問題 2.如果不使用正規化的設計, 當然所有的情況就與上述是剛好相反的, 但有一點就是, 雖然會增加資料維護的困難度, 但這還是可以用程式來控制解決的 所以就我個人而言, 我會比較傾向於使用非正規化的做法, 但當然不可能把所有資料就用一個table來解決, 還是會將幾個重點結構給分出來, 例如單據的管理上就要分單頭及單身兩個table, 產品及倉別管理也是分成兩組建立等等, 因此如果你設計的重點在於分析資料呈現報表為居多的話, 建議用較非正規方式, 如果只是要建立資料為主, 那正規化應該是較好的考慮方式 |
Mickey
版主 ![]() ![]() ![]() ![]() ![]() 發表:77 回覆:1882 積分:1390 註冊:2002-12-11 發送簡訊給我 |
個人的經驗, 談談資料正規化. 正規 / 反正規, 向來是資料設計的一項, 見仁見智, 難以取捨的問題. 個人覺得, 若您所要開發的系統, 須具備擴充性, 例如是 "產品化"的 ERP 系
統, 則須盡量將資料正規化, 因為這樣可以維持足夠的"彈性", 以適用於多種
客戶, 就算修調(客製化), 也可以較結省修改成本. 或許, 正規化會提高複雜
度與困難度, 但是, 其邏輯結構卻是清楚完整, 軟體工程師無須整天追著設計
工程師"問". 光從資料結構, 便可得知設計者大部分的思考邏輯與需求. 反之, 若您所要開發的系統, 不須具備擴充性, 需求相當明確固定, 例如是某
公司的管理系統, 便不須強調資料的正規化了. 舉個例子來說, 第一階正規 : 一個欄位不存入多個資訊. 以"姓名"欄位來說,
若考慮爾後有, 統計姓氏人數的需求, 是否須將"姓名"欄, 拆成"姓"欄與"名"
欄呢 ? PS. 會思考資料正規化, 絕不會是新手, 更不可能是笨蛋喔.
|
rich66
一般會員 ![]() ![]() 發表:7 回覆:14 積分:4 註冊:2004-02-02 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |