重要的是要認識到物理和邏輯關係之間的差異。今天,整個互聯網和網絡服務(SOAP)在一種本質上具有多值性的數據格式上非常實現。
當你代表關係數據庫(如Access)多值數據,然後在後臺使用的是傳統的(和合法)的關係。我不能這樣強調,那麼在Access中使用多值列實際上是一個LEGITIMATE關係模型。
表未暴露的事實並不否定此問題。實際上,如果您將發票(主記錄和重複詳細信息)表示爲XML數據立方體,那麼我們會看到兩件事情:
1)您可以使用關係數據庫構建並表示該發票,如Access 2)這樣規範化的關係數據模型也可以表示爲一個單一的xml字符串。 3)刪除XML記錄(或字符串)意味着級聯刪除子行(發票明細)必須發生。
所以,儘管將多值字段添加到Access以處理SharePoint是事實,但認識到這些數據可以映射到關係數據庫是非常重要的(如果您不能這樣做,那麼Access可以不使用關係數據庫表中的XML數據作爲ACCESS當前的權利)。
而且隨着網絡如XML和SharePoint則需要消耗以及管理和利用這些數據不僅分佈廣泛,但實際上是互聯網的一個基本的主食。
隨着越來越多的數據變得越來越複雜,我們發現使用中要求多值數據爆炸。任何使用互聯網所謂「時尚」的人都會依賴和使用實際上非常多的XML,而且本質上是多值(複雜)的數據。
只要邏輯(而不是物理)關係數據模型被保留,那麼就可以使用多值列來表示這樣的數據,這正是Access正在做的事情(它將關係數據模型映射到複雜模型)。請注意,complex(xml)數據模型不一定必須是關係型的。但是,如果您要將這些數據映射到Access,那麼複雜的多值模型必須符合關係數據模型。
這完全是在Access中發生的。
這樣一個正確和合法的數學關係模型沒有暴露的事實在這裏沒什麼問題。我們是否建議,因爲Excel不公開使用的二進制代碼,那麼用戶將永遠不會了解計算機?或者,也許我們都必須編寫彙編程序,以便我們都正確地學習計算機的工作方式。
在一天結束時,誰在乎,爲什麼會這樣?現在人們駕駛自動駕駛汽車的事實並沒有拋棄他們使用不同的齒輪來操作汽車的概念。我們關閉全社會的想法是因爲有人打算駕駛自動汽車,或者在這種情況下使用複雜的數據,這對我們來說太笨了。
因此請記住,SQL中的擴展確實存在於Access中以查詢多值數據,但這裏也指出這些基礎表未公開。但是,如上所述,暴露這樣的表將仍然需要一個不改變或混亂級聯刪除,因爲該功能是必需的維護複雜數據模型(xml)和使用兩個之間的特徵交集和正確的數學關係模型相關表格來表示這些數據。
換句話說,您可以使用相關的表格來表示複雜的數據模型如果您刪除用戶使用參照完整性選項玩的能力。 RI選項必須保持在隱藏表格中設置,否則這些數據將無法將跳閘返回到其消耗的XML或複雜數據模型。
如前所述,關於用戶被教授汽油如何與氧氣反應以學習駕駛汽車,或者使用文字處理器以及被迫學習關係模型以及暴露底層表格在這裏沒什麼意義。
但是,這裏提到的關於這樣的表格暴露的觀點是合理的擔憂。
REAL問題是SQL服務器和Oracle等不能消耗或表示複雜的數據而訪問可以消費這些數據。
如前所述,複雜的數據船在LONG前航行! XML,soap和互聯網的基本技術都基於這種複雜的數據模型。
在效果上,SQL服務器,Oracle和大多數數據庫不能消耗此多值數據表示它無需用戶具有在關係的方式來創建和模型這樣的數據是SQL服務器等的大的缺點
訪問權獨立於使用此數據的能力。
因此,對於任何使用智能手機,iPad或網絡的用戶,您都在使用基於複雜數據構建的基本技術,這些技術都是Access現在允許的。
由於越來越多的數據本質上是複雜的,很可能其他行業將不得不效仿。如果數據庫行業沒有改變,那麼主流的傳統關係數據庫系統將不會成爲這些數據的休憩處。
現在,遠離在相關表中存儲數據的趨勢正在迅速發展,像SharePoint這樣的產品甚至Google文檔都證明了這一概念。因此,Access只是對市場壓力作出反應,其他數據庫供應商很可能不得不效仿或放棄成爲稱爲互聯網的「時尚」的一部分。
XML和複雜的數據結構是現在的行業和事實 - 這不是一個我們都應該逃避的問題,但實際上是擁抱。
Albert D. Kallal (Access MVP)
Edmonton, Alberta Canada
[email protected]
多值字段在很多方面與查找相似,所以http://access.mvps.org/access/lookupfields.htm。它們主要對Sharepoint有價值,除非您使用Sharepoint,否則建議通常不會使用它們。用SQL複製表(select into,insert into)也不起作用。對於你的學生來說,這可能是一個很好的時機,可以讓你瞭解應用程序有時會有反功能:) – Fionnuala