- 表哥的Access入門:以Excel視角快速學習數據庫開發(第2版)
- 林書明
- 3431字
- 2021-10-29 12:01:00
前言
為什么要學習數據庫知識?
當你在商場或超市結賬時,是否注意過收銀員面前顯示器上的軟件?收銀員利用這個軟件,結合掃描設備,就可以完成掃描商品、記錄銷售金額、扣減庫存、查看歷史記錄、退貨、換貨等操作,我們可以將這個軟件稱為“一個賣貨的軟件”,用專業一點兒的術語來說,這其實是一個典型的商品進銷存軟件。
你可能會想:商品進銷存軟件,如此高大上的名字,不是只有在企業中才用的嗎?它與我們的生活有什么關系?是的,商品進銷存軟件確實是企業中最常用的軟件之一,但其實我們的生活時時刻刻都離不開類似的軟件。
商品進銷存軟件本質上屬于數據記錄和處理軟件,在人工智能技術廣泛應用的今天,智能設備無時無刻不在記錄和處理著與你有關的數據,很多時候你甚至意識不到。
在數據庫無處不在、數據思維無處不在的今天,不主動了解一點數據庫知識,真的有點“OUT”了。特別是對于已經熟悉Excel的我們來說,學習點兒數據庫知識,不僅可以幫助我們深刻理解這個數字時代的世界,還可以提高我們的工作效率,從而構建全新的“數據觀”。
為什么要學習Access?
回到前面超市收銀臺的場景,利用Microsoft Office中的Access也能制作出具有類似功能的軟件,并且幾乎不用編寫代碼,即可讓Office用戶過把軟件設計的癮。
Access作為Microsoft Office組件之一,在眾多領域中發揮著作用:利用Access可以構建中小型企業的生產、計劃、庫存、銷售、人事管理、培訓等數據庫管理系統,可以開發大公司的“部門級”應用,等等。不僅如此,Access還是一款極具效力的個人工作效率提升工具,在很多Excel難以施展能力的場所,Access能輕松應對。
提到數據庫,有些人(特別是對數據庫一知半解的人)動不動就拿Oracle、SQL Server等大型數據庫系統說事兒。筆者在這里告訴大家,如果你想學習數據庫知識,Access絕對是一款優秀的入門工具,原因很簡單,Access具有易獲得性、易安裝性及普及性。Access作為一款易學、易用、功能靈活的小型桌面數據庫管理系統,其能力主要體現在以下兩方面。
1.簡單的操作,強大的功能
Access具有強大的可視化操作能力,這一點在所有的數據庫管理系統中是領先的。Access讓人印象尤其深刻的是其查詢、窗體、報表及宏的可視化設計方式,它讓用戶無須編寫代碼,就能開發數據庫應用程序。
由于本書的目標是使Excel用戶快速入門Access數據庫知識,因此很多地方會以Excel為Access的參照物進行對比。我們知道,同為Office組件之一的Excel具有靈活的數據處理和分析能力,然而其能力是有局限的。例如,對數據的規范化存儲與管理、表間的同步修改及刪除、無代碼應用程序的開發等功能,如果使用Excel實現,則會非常麻煩,甚至無能為力;如果使用Access實現,則可以以其內置功能輕松完成。
利用Access中強大的查詢功能,可以非常容易地進行各類統計分析操作,并且可以方便地組合多個相關的數據表,從而實現靈活的表間操作。此外,在處理數據的數量方面,與Excel相比,Access在分析處理幾十萬、上百萬行數據時,速度優勢相當明顯,能夠大幅提升工作效率。
在數據處理自動化方面,如果使用Excel,那么通常需要編寫復雜的VBA程序代碼來實現;如果使用Access,那么利用其自帶的“宏”功能,我們幾乎可以拋棄VBA,簡單地以拖曳鼠標的方式,就像拼七巧板一樣,將Access中的基礎操作按照自定義的順序排列起來,形成連續、定制化的業務邏輯,從而輕松實現數據業務的自動化操作,這樣不但顯著提升了數據庫應用程序的開發效率,還大大降低了用戶的學習難度。
2.使用Access可以開發軟件
對沒有接受過編程訓練的人來說,學習編程不亞于學習“火星文”,而Access改變了這一切,讓我們可以輕松開發出實用的數據庫應用程序。
使用Access可以開發各種數據庫應用程序,如生產管理、銷售管理、庫存管理等企業管理軟件。利用Access,我們可以輕松地建立數據之間的關系,在不編寫代碼的情況下模擬真實商業活動的業務邏輯,從而設計出功能完善的軟件界面。此外,我們可以通過Access的“報表”功能,設計出滿足用戶需求的各種格式的單據報表。通過對本書內容的學習,你會發現,Access作為一款開發數據庫應用程序的“傻瓜”軟件,即使是非計算機專業人員,也能快速掌握。
Access軟件滿足了企業管理人員的需求,使其無須學習編程語言,就能開發出實現自己管理思想的軟件,并且使其能夠借助軟件來規范企業的業務規則,推行其管理理念。Access可以幫助非計算機專業的管理人員實現開發軟件的“夢想”,使其成長為懂管理、會編程的復合型人才。
很多管理人員有絕妙的想法和創意,他們也能夠很清晰地將這些想法和創意以圖文形式表達出來,但由于這些想法和創意需要一些計算機技能來實現,因此束手無策,或者不得不求助“永遠很忙”的信息技術(IT)部門的支援,以至于好的想法和創意長時間無法變為現實。如果他們能夠花一些時間,學習一些Access知識,自己編寫一個體現自己獨特管理思想的軟件,將這些想法和創意變成現實,豈不快哉!
Access和Excel對比,有什么優勢?
讀到這里,你可能會產生這樣的疑問:Access的功能如此強大,為什么用戶普及率遠遠不如Excel呢?筆者認為,造成這種現狀的主要原因有以下兩點。
1.“自由”軟件與“強規則”軟件
與Access對用戶的要求相比,Excel幾乎是一款“自由”軟件,Excel界面對用戶的操作行為幾乎沒有任何約束,用戶可以在Excel的單元格中輸入任何內容,包括文本、數字、日期等,甚至可以在Excel單元格中輸入幾千字的文章。
Access是一款“強規則”軟件,用戶在使用Access前,必須預先了解Access中必須遵守的一些“規則”。在Access數據表中,如果規定了在某一列中只能輸入日期,那么該列絕對不會接收其他類型的數據,如果強行輸入,那么Access會以報錯的方式拒絕接收。如果規定Access數據表中的某一列中不能有重復內容出現,那么在該列中不能輸入重復內容。
民間有句俗話,叫作“沒有規矩,不成方圓”,正是Access中的各種“規則”,避免了數據處理活動中各種“意外”的發生。要知道,在Excel中,由于用戶組織數據不規范,造成Excel報告難以理解、難以維護、難以擴展的例子比比皆是。因此,用“自律才能自由”這句話描述Access簡直再合適不過了。
2.當前的Access培訓存在問題
如果你恰巧在書店翻閱本書,那么,請你隨手翻閱幾本其他關于Access的書籍,你會發現,這些書籍基本遵循一個套路,那就是如何創建數據表、創建查詢、設計窗體和制作報表。
這個套路本身沒有錯誤,然而,大部分Access培訓資料只讓讀者知其然,而不知其所以然;只介紹Access的操作,卻不介紹這些操作背后隱藏的邏輯。按照這種教材學習,充其量只能成為Access的操作工,很難成為Access數據庫應用程序的設計者。
當前的Access培訓機構基本也存在同樣的問題,很多培訓師只是按照培訓資料上的操作步驟,告訴學員先進行什么操作,后進行什么操作,一個界面控件的排列介紹幾十分鐘,將Access的核心內容淹沒在瑣碎的操作細節中,讓學員感到茫然,難以抓住培訓的重點。
本書特點
本書會竭力避免當前Access書籍和培訓中普遍存在的問題,以案例教學的方式,通過一個簡單的小飯館數據庫管理軟件的開發案例,介紹如何規范Access數據、創建查詢和設計窗體,以及如何制作Access報表和宏。本書不僅會介紹Access的操作,而且會詳細介紹這些操作背后隱含的Access數據庫的相關知識,讓讀者不但知其然,還知其所以然。
Access作為一款流行的小型數據庫管理系統,與其他數據庫管理系統相比,具有易學、易用的特點,在很大程度上避免了對用戶的編程要求。但是有得必有失,Access為了保持其開發的靈活性,在開發過程中會涉及各種各樣的設置選項,介紹Access中全部選項的設置方法和設置效果是龐雜且無趣的。所以,本書以一個小飯館數據庫管理軟件為例,從頭到尾介紹整個軟件的設計過程。在設計過程中,我們只對案例中用到的設置選項進行詳細介紹,從而避免打斷思路、分散注意力,并且減輕學習負擔。
本書不是一本大而全的Access書籍,而是一本以案例為導向,幫助讀者快速了解Access功能、理解數據庫思維,指導讀者開發一個小型數據庫管理軟件的案例手冊。
因為本書假設讀者對Excel已經有了一定程度的了解或使用經驗,所以沒有像大部分Access書籍那樣,一開始就引入大量的數據庫專業術語,而是以讀者的Excel知識為基礎,逐步過渡到Access相關知識,讓讀者感覺自己不是在學習一門全新的技術,而是將已掌握的Excel技術“自然擴展”到Access技術,從而減輕讀者的學習負擔。
本書適合對Excel比較熟悉,并且想進一步利用Access技術提升個人能力的Microsoft Office技術愛好者,以及想進一步利用Access技術提高個人及本部門工作效率的職場人士閱讀。此外,對于已經讀過一些“Access操作手冊”,但對Access還沒有建立一個清晰邏輯的Access初學者,本書也非常適用。
最后,我們打個比方,如果說學習Excel是學習一項技能,那么學習Access是學習一項真正的技術。如果你已經掌握了Excel,那么,學習一些Access知識會幫助你建立全新的“數據觀”,讓你的數據分析和處理能力有質的飛越。
作者
- Facebook Application Development with Graph API Cookbook
- C# Programming Cookbook
- PHP 7底層設計與源碼實現
- 數據結構(Java語言描述)
- 人臉識別原理及算法:動態人臉識別系統研究
- C程序設計實踐教程
- Flowable流程引擎實戰
- Spring 5 Design Patterns
- Python計算機視覺和自然語言處理
- Java EE Web應用開發基礎
- 分布式架構原理與實踐
- Microsoft Exchange Server 2016 PowerShell Cookbook(Fourth Edition)
- Java Web開發基礎與案例教程
- Mastering OpenStack
- VMware vSphere Design Essentials