2009-09-22 84 views
6

我最近已經介紹了新的Access 2007功能,這是多值字段。我最初的印象是,在單個字段中使用多個值是一個糟糕的主意。傳統上,如果你想允許一個記錄有一個字段的多個值,你可以創建另外兩個表並用外鍵鏈接它們。這允許輕鬆查詢,並確保重複值引用相同的項目。保持單元格中的列表似乎違反了數據庫的目的。多值場是一個好主意?

對這些領域不讓我覺得髒有很好的用途?

回答

3

多值字段的想法是支持輕鬆地創建報告/界面對象的,此外,我們可以創建一個表單顯示說類別的問題。而不是做一些激烈的工作,上帝保佑加入,這是假想simplier存儲:

機械,電氣

在字段中的值,而不是

機械 電氣

Personnally我不喜歡它,並假設這種類型的領域是爲會計師等非技術人員創建的(只是開玩笑)。沒有人認真,不要使用這個,除非你正在創造一個很少有人會使用的傻工具,而且很少有人會使用它。

來處理,這是加入正確的方法,沒有重複,沒有多值的列內(這是所有3NF無論如何)。

這個被創造的另一個原因是支持SharePoint列表內的多值。

喬恩

+0

+1會計師笑話,嘿。 – Bratch 2010-09-15 22:14:24

3

接入市場的一大段非開發,但技術,用戶親切。他們可能不瞭解正常化的價值,但他們可以得到一些工作。他們只是需要一些簡單的東西,比人們輸入的自由文本字段更好,你希望他們都輸入相同的東西。

當他們瞭解,他們可能會開始使用其他表和外鍵。但是,有時候,一個多值域是足夠好的。

+2

就像640K和2個位數的年份存儲;) – RedFilter 2009-09-22 18:02:09

1

只是說NO!
如果你正在學習SQL,學習正確的方法並規範你的表。如果你知道數據庫設計正確。並非每個功能都必須使用。

6

參見:

Multivalued datatypes considered harmful: How dangerous can a data type be?

我曾與蘇拉傑 Poozhiyil的訪問計劃 經理......都蘇拉傑一次長談,我同意 竭誠開發人員不必 需要使用多值字段。 瞭解數據庫 的人已經有了一個很好的方式來實現多對多的 關係,並且將從多值字段中獲益 。

所以,我對 開發人員的明確和一定的建議是不使用多值 字段。除潛在的痛苦之外,他們沒有任何東西給我們提供 。

+1

那他們爲什麼要創造它們?顯然他們已經在現實世界中使用,有一個完整的數據庫,Unidata和Universe,圍繞它們而建。 – Noah 2010-10-12 21:00:11

+0

@Noah:一個快速谷歌告訴我這些都基於PICK而不是SQL。據我所知,PICK具有查詢多值數據所需的語法(操作符等),而Access/Jet/ACE則沒有。說實話,我並不是真正的領域(我已經使用IntersystemsCaché,但只能通過它的SQL網關 - 這非常出色 - 而不是MUMPS)。我最喜歡5NF :) – onedaywhen 2010-10-12 22:09:55

4

沒有真正回答這個問題在這裏,但讀者可能會想指出,有一個完整的利基行業圍繞MultValued Databases的想法:

這些數據庫從 關係數據庫,它們具有不同 功能,支持和鼓勵 使用具有 值的列表中的屬性,而不是所有的屬性都具有單值

因爲在這種情況下,數據庫引擎對它的查詢語言進行了擴展以適應其表格的多維性質(我假設Access可能不會),因此它與Access中的多值字段沒有真正的可比性。但在任何情況下都是一個有趣的並行(對於以前沒有聽說過多值數據庫的人)。

0

我真的不喜歡多值字段。也許他們這樣做是爲了更容易與其他多值系統(如舊PICK/Unidata系統)進行交互。我敢打賭,將SQL Server的這項新功能大量使用,讓Access數據庫變得很有趣。

+0

它在ACE中唯一的原因是爲了與Sharepoint兼容。數據實際上可以通過記錄集訪問,並且編寫一些VBA以將其寫入真正的N:N表格非常容易。當然,這可能是因爲Access 4.2的SSMA理解MV字段並將它們升級得很好。如果你有興趣,我可以試試看,因爲我安裝了A2007和SSMA 4.2。 – 2010-09-16 03:56:49

+0

@ David-W-Fenton:「它在ACE中唯一的原因是爲了與Sharepoint兼容」 - 但Access團隊在Access中推廣它的一般用途,例如這並沒有提到SharePoint一次:http://office.microsoft.com/en-us/access-help/use-a-list-that-stores-multiple-values-HA010031117.aspx – onedaywhen 2010-09-16 08:03:40

+1

營銷材料通常不會揭示全部真相。 – 2010-09-16 23:19:13

2

多值字段可以輕鬆地讓您不必創建新表格和關係。

純鹼 - >類型

爲什麼我需要一個全新的表格只是說,百事進來常規,飲食等。

我希望他們讓我們給多值字段列,那麼他們將成爲像一個表,但要少得多

相關問題