2010-06-30 71 views
-1

嗨我仍然困惑,我是否需要在單個數據庫中使用多個表或在單個數據庫中使用單個表?哪個最好?多桌或單桌?

我確實有一個記錄約30列。

+0

你在建模什麼?你想要一個表,每個「東西」 - 客戶,訂單,產品.. – Blorgbeard 2010-06-30 18:13:36

+2

很難給出一個詳細的建議基於迄今給定的信息,但你一定會喜歡讀這個主題[「數據庫規範化」]( http://www.google.com/search?q=database+normalization)。 – BalusC 2010-06-30 18:13:40

+0

目標是不重複數據庫中的數據。您可能確實需要30個專門用於一段數據的列。更可能的是,您需要將其分解到其他表中,並使用外鍵將它們鏈接在一起。 – corsiKa 2010-06-30 18:16:22

回答

4

這將高度依賴於您存儲的數據類型,但數據庫具有多個表的情況很常見。 Normalization是您要搜索和閱讀的術語。

當我說「你正在存儲什麼樣的數據」時,我並不是指像文本和數字數據這樣的一般術語。它更多地取決於應用程序中表格的具體內容。如果您將客戶數據和產品數據存儲在同一個表中,則幾乎肯定應該將其分成兩個表(或可能更多)。如果您的所有數據都可以被描述爲一種類型,那麼只有一個表格可能是可以的。

+1

它也涉及您可能對給定信息的記錄數量。例如,如果你有一個用戶,你將存儲他的用戶名(他只有一個用戶名)和他的電子郵件(哦,他可以有三封電子郵件),那麼這應該在兩張表。 – HLGEM 2010-06-30 20:36:25