簡體   English   中英

多種數據類型-一個表與多個表

[英]Many types of data - One table vs multiple tables

我正在開發一個Web應用程序,其主要功能是向用戶顯示一些數據。 但是,這些數據有幾種類型,並且每種數據都必須以不同的方式表示。

例如,我必須列出9個結果-3本書,3位作者和3個文件。

用(char)TITLE,(text)DESCRIPTION描述書。

作者用(char)TITLE,(char)DESCRIPTION描述。

文件用(char)URL描述。

此外,每種類型都有ID,DATE,VIEWS等字段。Book和Author帶有簡單的HTML代碼,文件使用外部閱讀器嵌入網站。

我應該建立三個不同的表並在獲取這些數據時使用JOIN還是建立一個表並在其中存儲所有類型? 哪種態度更有效?

其他信息-將會有大量記錄。

這樣做的邏輯方法是使事情分開,這遵循數據庫設計中的3NF規則。 這將提供更大的靈活性,同時特別是在有大量數據的情況下檢索不同類型的結果時。 將所有內容放在單個表中絕對是DB的不良做法。

這取決於您的數據結構。

如果您具有1:1的關系,比如說一本書有一位作者,則可以將記錄放在一行中。 如果一本書有多位作者,或者一位作者有多本書,則應設置單獨的表格booksauthors ,並將它們與具有兩個外鍵的表格author_has_books鏈接。 這樣,您將不會存儲重復的數據並避免不一致。

有關數據庫規范化的更多信息,請參見:

http://en.wikipedia.org/wiki/Database_normalization

分開他們並建立關系。 這樣,當您開始獲取大量數據時,您會注意到性能有所提高,因為您一次只調用3個字段(即,當您只看書時即使用IE)而不是7。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM