Access 與 Excel 最重要的區別是什么?


最核心的區別是:

一、Access 是基於關系型數據庫(RDBMS)設計的 2、Excel 是基於任意形式的電子表格設計的 他們的區別就是RDBMS和電子表格的區別。 只要理解了RDBMS和電子表格的區別,就能理解它們之間的區別。 要解釋RDBMS和電子表格的區別,可能是個比較難的事情,畢竟如果沒有學過數據庫原理,有些概念不好 理解。 但還是可以嘗試解釋一下。 1、自由和規范 表面上來看,很多時候Access和Excel中的表格是一樣的,都是行列式的表格。 但在Access中對“表格”的處理是和Excel中對“表格”的處理是不一樣的。 因為Access是基於RDBMS的,它對表格是有規范要求的。這個被稱做“范式”

Access中對表格的設計、窗體的設計,都是用來規定表格的規范、和數據的規范的。 RDBMS還有一個對數據的最核心的要求是要保證數據的”一致性“和”完整性“。 而Excel是一個“自由”的表格,它對表格的結構、內容沒有規范化的要求。即使你希望創造的其實是一個 規范化的表格,比如“人員基本信息表”,Excel也不會強制要求你一定要滿足某種規范。實際上你可以隨 便瞎設計、隨便瞎填,只要看的人看得懂就可以了,雖然看的人未必喜歡。 但在Access中你是不能瞎填的,你需要設計表的結構、關鍵字、每個字段的長度、錄入的數據需要符合的 條件等等。 雖然Excel也增加了很多對表格錄入數據進行“規范”的功能,真想費點功夫,結合VBA對錄入的數據做嚴 格控制,也是可以做得到的。但與Access相比,它還是要隨意得多,而且用Excel實現比Access還是麻煩得 多。 普通用戶用Excel的時候,也因為懶或因為嫌麻煩或干脆就不會,實際上都沒有去設計這種“規范”。所 以,用Excel錄入“保證質量”的數據,比用Access錄入“保證質量”的數據,要難得多得多。 舉個例子,給客戶開發軟件經常需要將客戶的Excel中的數據導入到系統用的數據庫中來(也是某種類似於 Access的關系型數據庫)。通常會下發一個Excel文件,里面做好表格,附上填寫說明,發給所有相關人 員,讓他們按這個填寫,然后統 一回收后,一起導入到數據庫中去。 想得很美,然而,收上來的Excel文件的內容真的是五花八門,什么樣的都有,有且不限於以下幾種“亂 搞”的情況:

1、刪除掉某些欄位(導入時遇到這種真是很要命)

2、隔幾行添加一個小計行或合計行(導入時要再把它們清除干凈)

3、最后自己加一個“備注”說明一下情況(真的多此一舉,比如某個人已經離職了,按理不需要填報上來 了,但他們不刪除掉這一行,在后面自己加了個說明)

4、本該寫金額的地方,自己在金額后面加了個括號,補充說明了一下這個金額為什么是這么個金額的原因 (真的多此一舉,破壞掉了整列都是金額的要求,導入前這些文字都要刪除掉)

5、該填的不填,空着(比如必填的身份證號之類的)

6、填得不符合規范(比如要求填“在職”或“退休“,非有人要填”5月已退休“)

7、把要填的表格,復制了幾份(導入時不注意看,很容易漏掉,其實都填在一個表上就行了呀)

8、把欄位的順序自己調了調(真要命)

9、重復的數據(導入前都要做去掉重復數據的工作)

10、隔幾行空一行,大概是為了好看(然而導入前要把空行都刪除掉) 。。。。。。

Access 與 Excel 最重要的區別是什么? 

當然這樣的數據在Excel中都能”安全“地存在,看的人大概也不會有什么”不適“,用也照樣用。然而在 Access中,這樣的數據連錄入進去的機會都不會有。因為Access在數據錄入時,就把這些亂七八糟的都攔 住了。 所以: Excel自由、靈活,但缺乏規范,在對數據有規范化要求的時候,用它就很勉強了。數據的一致性和完整性 難以得到保障。 Access要求更嚴格、更規范,數據的一致性和完整性能得到保障,但它不能適用於所有需要”表格“的場 合,比如要做一個不太規范的表格,或者只是填幾個數做點計算,用Access顯然不太合適。

二、表間的關系 前面說過了,Access是基於關系型數據庫的。所以它的一個重要功能,是處理”表和表之間的關系“。 表和表之間能有什么關系呢?這個對於Excel的人來說,好象是個新的概念,但在Excel中也是能夠體現這種 關系的。 比如有兩個工作表,一個是”人員清單“,一個是”人員工資“。”人員工資“中的姓名來自於”人員清 單“。這兩個表之間就存在着一個基於”人員姓名“的”一對多“的關系。也就是一個人,可能在工資表 中有多條記錄(多個月的工資)。 但在Excel中,這種關系並不是很強制性的。多數情況下,只是我們這么在”解釋“,而並不是這么在”要 求“或”限制“。 比如,我們在”人員工資“表里添加一行,這個人是新員工,他在”人員清單“里還沒有記錄。這種情 況,在EXCEL里是允許的。但你添加了這條工資記錄時,這兩個表單數據的”一致性“就被破壞了,因為 你的工資表里出現了一個”人員清單“里沒有的人(這樣的情況在現實生活中其實也是不應該存在的)。 所以,在Excel里兩個表間的關系並非”強制性“的,只是我們將它們之間的關系“在我們腦中進行了解 釋”,而並沒有在Excel里對它進行定義。 還有,比如你在“人員清單”里刪除了某個離職員工的數據,但在“人員工資”里沒有刪除,也會造成 “一致性”和“完整性”被破壞的情況。 所以,我們在Excel里經常會見到各種數據錯亂的問題。我們可以提高警惕,小心操作,但從基礎上,很難 防止這種事情發生。 但在Access里,你可以對兩個表設置”表單的關系”,如果設置好表間的關系,以上這些情況是不允許 的。你必須要先在”人員清單“里添加了這個人,才能去”人員工資“里添加他的工資記錄。你刪除人員 資料的時候,他的工資數據也可以被同時刪除掉。所以,你對這兩個表的關系的理解,並不只是存在你頭 腦中,還可以體現在Access對這兩個表的關系的定義中。 表間的關系最終會在查詢和統計上體現出來。 Excel最強的並不是表和表之間的查詢統計,它主要強在”單個表“的各種操作上,但它能實現的這些功 能,基本上Access都有而且更強大。涉及到多個表的數據統計,比如”查詢3月份工資高於平均值的那些人 的姓名和email“這種,要把幾個表倒騰一會兒才能出來結果,如果把3月改成4月,估計又要重新倒騰一 2020/6/2 Access 與 Excel 最重要的區別是什么? - 知乎 https://www.zhihu.com/question/28880606 3/3 回,如果中間添加了幾條新的工資記錄,估計又要重新倒騰一回。但用Access,一條SQL語句或建一個查 詢就可以搞定了,改查詢條件也很容易,數據被修改后,重新執行查詢就可以了。 至於說到”優劣“,其實沒有什么”優劣“,因為它們是不同的產品,基於不同的應用來設計的,各有各 的針對性。 至於說到哪些場合適合用哪個,這個因為點太多,其實有點不太好總結,我只總結一條吧: 如果有什么功能,只能在Access和Excel中選擇,先想想”這個功能是不是要用RDBMS的方式來完成更合 適?“,如果答案是”是“的話,就用Access,不要勉強用Excel來代替,因為那樣會很痛苦。其它情 況,都可以先用Excel再說。 至於哪些場合適合用RDBMS,只要知道如何”把現實中數據間的關系,通過關系模型加以描述“,你就知 道哪些場合適合用RDBMS了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM