PCDVD數位科技討論區

PCDVD數位科技討論區 (https://www.pcdvd.com.tw/index.php)
-   七嘴八舌異言堂 (https://www.pcdvd.com.tw/forumdisplay.php?f=12)
-   -   請問資料庫高手 --- 有關如何驗證是否已正規化 問題 (https://www.pcdvd.com.tw/showthread.php?t=664076)

青年阿要立死志 2006-10-19 11:43 AM

請問資料庫高手 --- 有關如何驗證是否已正規化 問題
 
請問一下
假設一個系統
資料用關聯式表格呈現

不確定該系統有無達BCNF
我也看不太出來
欄位資料多
直覺就沒正規化

那如果說要廠商證明他們有正規化
是要請他們提供什麼文件? ER model和正規化後的資料表嗎 ?

有什麼辦法可以馬上測試該資料表未正規化?
因欄位資料之間的關聯是其他domain
我自認沒那個能力看出各欄位之間是否有相關聯

謝謝

wahahung 2006-10-19 12:54 PM

正規化與否,與domain 的東西有很大的關聯,
這不是資料庫軟體做得到的事(也不是他們的責任).
要證明表格有作過正規化
ER model和正規化後的資料表 應該是唯一的路徑.
不過,這應該是個非常辛苦的工作,需要對domain相當理解才行.

只是為何要求一定要正規化到BCNF 呢??
很多系統為了查詢上的方便與效能,
都會小小的偷吃步一下,在很多地方放了從重複的資料項.
也沒啥不好阿
有時正規化的太細,反而綁手綁腳.
查詢一個小東西,要join 一堆table 也不是好事呀...

cobrachen 2006-10-19 01:04 PM

通常到第三層的正規劃已經是大多數設計時的考慮,因為設計的時候也要兼顧到回應時間的需求,而且很多資料庫也會讓其他的軟體製作報告輸出之用,這些報表的射記者對於資料庫的認識不會有原始設計者深入,過量正規劃還可能導致報告設計上的困難與除錯的問題。

穩ㄝ 2006-10-19 01:04 PM

BCNF只是資料庫正規化的一個理想值....
可是有時候為了做到BCNF....
可能會犧牲到效能....
所以....一般廠商....
大概都會像樓上大大說的那樣....
有一些偷吃步的動作....
因為....現在硬碟空間根本不算什麼....
可是....查詢效能才是USER比較CARE的....

michelle_lai529 2006-10-19 01:25 PM

查詢時的需求才是重點~~BCNF為了是什麼,爽度嗎,省一個欄位,拖慢了效能,限制了以後的發展,何必呢~~
廠商在設計上,最重要的是達到客戶的需求,至於那些看不到的設計技巧,廠商實在沒有義務要告知~~
不是自認沒那個能力看出各欄位之間是否有相關聯,廠商有有什麼義務去證明是否做到BCNF
PS:自己寫資料庫時,BCNF真的只是為了爽度,實際的開發起來,還真的不會這樣來讓自己綁手綁腳的,搞到最後,自己都忘了關連到哪裡去了

dts0069 2006-10-20 01:49 AM

個人不是高手,但還是說說自己的心得,個人認為正規化認定是看你的需求,簡單的說是將資料庫可輸入資料全輸入,過程中不會有重複要輸入,而如此後又能完全產生你所需求的表單,就算正規化了.

個人覺得正規化目的是考慮未來資料庫衍生壽命,但未來沒人知道會怎樣,能預估到什麼程度,真要照書上說的那套,那沒完沒了,寫的人是沒什麼,而負責輸入使用的人會很痛苦.

不知樓主要檢驗什麼?想太多了吧,資料庫資料能安全保存比較實際.


所有的時間均為GMT +8。 現在的時間是07:44 AM.

vBulletin Version 3.0.1
powered_by_vbulletin 2025。