顯示具有 資料庫 標籤的文章。 顯示所有文章
顯示具有 資料庫 標籤的文章。 顯示所有文章

2014年9月12日 星期五

資料庫的概念

所謂資料庫就是由許多記載不同資料的表格組成的一組資料, 例如學校裡的老師, 學生, 課程, 學生成績可以組成學校資料庫. 資料庫加上一些規定, 原則就可以組成一個管理系統, 例如60分及格, 學科一半不及格留級, 留級三次退學.

以下內容, 請配合免費企業資訊系統分享暨設計內容說明來了解.

資料表格則由一組相關的資料組成, 例如學生資料表, 有學生姓名, 學號, 姓別, 入學日期, 家長姓名. 然後學生成績表, 有學生, 科目, 表試別, 成績.

沒有電腦以前, 資料庫就是一張一張的資料表格, 查資料或統計時, 就一張一張翻. 有了電腦以後, 這些紙張轉變成電子表格, 並增加了許多檢查資料正確性的功能, 讓資料快速轉變成正確有用的資訊.

在MS Office的套件中, Access是資料庫軟體, 對每一個表格的每一個欄位都有資料型態的嚴格管理, 並可以建立索引, 提供快速查詢. 表格間可以進行關聯設定, 組成另一個較多資料的虛擬資料表. 還有預存程序可以對資料庫資料進行增刪.

當然還有更高階的資料庫系統, 如 MS SQL SERVER, 免費的MySQL, Oracle等等, 具有更強大的功能, 但需要投入很多的人力物力來操作維護, 是不適合一般小企業或個人的.

Excel 是一個由表格組成的計算工具, 因為是表格, 而且可以有很多表格記錄各種資料, 也可以依規定原則進行運算得到各種結果, 所以也具有資料庫, 管理系統的功能. 只是Excel對資料的限制很少, 做為資料庫, 安全性就低了一些.

Access的資料庫功能在Excel中都是比較薄弱的. 但Access對大多數人來說是陌生的, 也因功能較強, 所以需要比較多的專業知識, 這也造成一般人使用上的困難. 雖然Excel在資料庫上功能不強, 但其簡易的使用性與普及性, 反而使得一般人進入資料庫應用變得容易, 而且操作資料庫的基礎工具, 在Excel中都有, 因此選擇Excel做為資料庫系統, 對一般人是一項不錯的選擇.

但不管你選用什麼工具, 資料庫的基本關念都是一樣的, 就是有效率的建立收集統計資料, 以產生有用的資訊.

在開始一個資料庫系統前, 當然已經有了一個主題, 例如上述的學校管理, 或是士農工商都會有的庫存管理, 人員管理. 然後針對管理主題, 開始列出必要的相關資料, 規劃資料表格, 建立資料表, 收集輸入持續產生的資料.

以本站分享的系統為例, 主題是貨品的買進, 加工, 銷售, 盤點的管理, 包含數量, 金額, 時間及未來變化情況的掌握. 所以是以貨品為中心的管理系統. 需要有貨品表, 買進, 銷售記錄表, 加工的庫存異動調整表, 庫存月結表等等.

資料表在設計時, 有一個很重要的觀念就是唯一性, 例如, 姓名會重複, 但身份證號, 學號不能重複, 這不能重複的欄位, 就可以做為唯一性的指標, 避免找錯人. 還有另一種唯一性, 它的達成是由幾個欄位組成的. 例如月考成績表, 唯一性是由學生+日期+科目的組合來達成的.

在Access中, 設了唯一性的欄位, 若輸入相同的資料時會出現錯誤訊息而無法完成, 保證了資料的唯一性, 但在Excel中, 如果要達成唯一性這個功能, 就要另外用寫巨集程式去檢查. 這種防呆的工作會讓系統變得有點笨重, 所以使用者要學著了解, 自我進行檢查.

例如不同的東西不該有相同貨號, 同一種東西因為包裝, 顏色而有不同貨號倒是可以的. 像同一種泡麵, 有袋裝, 碗裝, 5包裝, 箱裝的, 都可以給不同的貨號, 重點是貨號的唯一性.

另外, 資料表的設計, 需要有精簡的概念. 所謂的精簡, 是指有絕對相關性的資料才放在同一個表格. 例如進貨表格, 只需記錄跟那個廠商在何時買了多少量的什麼東西, 而不必記錄廠商的電話號碼. 若在進貨表格中記錄電話號碼, 你會看到電話號碼一直重複跟隨廠商出現, 形成多餘的浪費. 廠商的電話號碼只需記錄在廠商表中, 經由連結或查詢就可以找到了, 不必一直重複記錄.

唯一與精簡是設計資料庫每一個表格的要項, 掌握了, 就掌握了資料庫的核心了.

設計好了各個資料表格, 在Excel 中是以工作表來表現的, 工作表的名稱就是表格名稱, 寫在第一列的就是欄位名稱, 原則上, 欄位名稱都要不一樣, 這樣查詢時才能明確知道查那一欄資料. 表格與欄位名稱關係到資料的運作, 一但設定了, 儘量不要改, 否則巨集程式也要跟著改, 會很麻煩, 且易出錯. 因為這些東西都直接與使用者會接觸到, 所以使用者也要了解, 不要隨意更改. 當然, 你也可以用保護工作表的方式保護起來.

現在可以開始填入資料了.

有了資料, 資料的運用變成資訊才是重點, 否則收集資料是沒有用的. 這個資料的運用會因每一個企業, 個人而有不同, 這個不同的運用, 就形成了企業原則. 一般系統的設計, 使用者不會直接看到資料庫, 只會看到資料輸入, 查詢, 修改/刪除的畫面, 這個畫面會有一些按鈕, 使用者按了按鈕, 按鈕就會啟動對應的企業原則, 或是更新相關的資料庫, 或是產生報表.

 這些資料庫, 企業原則, 操作畫面, 就形成了管理系統的三個層面. 在網路的環境, 可以把這系統放在不同的電腦中, 例如資料庫與企業原則放在一台伺服器上, 操作畫面就放在各個有需求的電腦上再連到伺服器作資料作業. 當然依系統大小, 可能資料庫很多台, 企業原則又獨立一台伺服器.

Excel也有做畫面的工具, 只是能用的工具很少. Excel工作表其實也具有畫面的工能, 資料的輸入, 查詢, 修改, 刪除功能都有了, 也具有一些可以在工作表使用的畫面工具, 只是之前說過了, 彈性非常大, 安全性低些. 但這是使用者要小心的, 熟悉了, 也沒有太大的問題. 所以工作表除了作為資料表格, 也可以用來作為資料操作的介面. 當然在Excel也可以把表格與資料操作分開, 但這好像違背了選用Excel簡單的初衷了. 因此用Excel來做管理系統, 就是把資料庫, 企業原則, 操作畫面集中在一起, 甚至是一個檔案中.


2014年7月8日 星期二

EXCEL與工作自動化

        學習EXCEL是現前的上班族很重要的一項工作技能, 要能在工作上有進一步的發展, 利用EXCEL 來做一些工作的管理, 例如記錄表格的設計, 簡單的數字計算, 繪圖等等, 都可以讓工作取得大幅的進步, 產生很大的效益.

EXCEL基本上是用來處理一些表格, 計算及其所延伸出來的相關工作, 要能用得好, 除了本身的工作有這方面的需求外, 還得花上一些時間, 精神來學習如何操作, 並思考如何結合到工作上, 或工作上的問題, 思考如何運用EXCEL來解決. 如果自身的工作沒有這個需求或不願意花時間思考如何結合工作與工具, 就不會取得大幅長成與熟練.

        EXCEL用到一定的程度時, 漸漸的會發現有一些工作很耗時或重覆在執行, 這時侯自動化的需求就會產生了. EXCEL所提供的自動化, 公式可以算是初階的功能. 公式是包裝好的程式, 又稱為函數, 是會傳回資料的程式. 如果會組合幾個函數一起工作, 就具備了程式的能力了. 例如配合使用IF()函數與WEEKDAY()函數來設定某日的工作.

EXCEL中所提供的另一項自動化的功能是巨集, 巨集是一連串操作EXCEL的動作的組合. EXCEL提供了把動作過程記錄起來的功能, 存放在巨集中, 然後你可以在稍後呼叫執行這個巨集, EXCEL就會自動重覆執行這些動作, 你不必再親自來過.

        雖然有了巨集的功能, 但是能完全一樣的再使用的機會很小, 就算是以相對位置錄製, 仍然有限, 因為在自動化的過程, 常需要一些檢查判斷的結果作為下一個動作的依據, 而錄製巨集沒有辦法做到. 這時候就需要自行調整巨集的內容了.

        EXCEL的巨集是以Visual Basic 為基礎的一連串指令, 所以要修改巨集, 得學習Visual Basic. Visual Basic是一套操作電腦的程式語言, 一般人聽到操作電腦的程式語言, 立刻就會產生排斥, 直覺的認為太難了. 其實難的不是Visual Basic, 難的是你自己的邏輯, 一組完整完善的工作邏輯, 然後用電腦看得懂的方式請電腦來完成.

EXCEL中附的這個版本的Visual Basic是專門用來操作EXCEL, 稱為Visual Basic for Application. EXCEL是由物件所建構起來的一個工作環境, 所以要修改巨集, 還得學習EXCEL物件的相關的知識, 包含物件的屬性, 方法與事件.

        打開Excel工作環境, 出現的畫面是由許多儲存格所組成的一張表格, 儲存格與資料表就是EXCEL的主要物件. 資料表是資料庫的基本元素, 一個資料庫基本上是由一群具有相關性質的資料表所組成的, 所以EXCEL是具備資料庫的功能的, EXCEL也確實有資料庫的相關工具可以使用. 只是EXCEL作為一個資料庫, 功能上有許多的欠缺, 在安全與嚴謹度上明顯不足. 當然這跟EXCEL產品的定位有關, 作為一個通用型的工具必然有的缺點.

        應用EXCEL的巨集與資料庫來工作已經是屬於高階能力, 主要的應用就是建立一套資訊系統. 建立資訊系統除了要學習程式設計, 還要學習資料庫規劃與操作, 如果不是工作上的需求, 很少人會有意願與機會投入, 這一般在中大型企業或是系統開發商才會有的工作, 而且用的工具都是比較專業的資料庫與程式語言.

其實個人或是小型企業也會有資訊系統的需求. 但買一套管理系統, 貴的功能太強大用不著, 便宜的功能又不太容易適用, 缺這缺那的, 最主要是後續的調整與維護都是錢, 要持續擁有一套合用的系統,, 所費不貲. 如果個人或是小型企業能開發自己適用的簡易的系統, 對個人或是小型企業應該是一項重大的幫助. 個人或是小型企業要如何開發自己適用的系統呢? 當然是決心與適當的工具配合, 外加一本合適的指導書.

首先考量的當然是成本, 如果成本不高, 引發了業主的決心, 就可以透過指導書來學習開發一套簡易的資料庫系統. 以此為基礎, 業主可以持續調整擴充自己的需求, 達成以適當的成本擁有合用的資料庫系統的目標. 在這個考量下, EXCEL會是一個不錯的選項, 如果業主已經擁有EXCEL, 那成本就只有指導書了. 雖然EXCEL不夠嚴謹, 不是完全可靠, 但以自行開發維護角度考量, 除了費用低, 還有易於操作的方便性, 可以克服這個問題點, 這會讓學習過程更加容易.

最重要的就是業主的決心了, 因為這是一項還算大的過程, 主要的困難點還是在於毅力. 過程中要學習把想法化為邏輯程序, 這會比較抽象, 常需要重覆測試修改, 以達到幾乎零錯誤. 如果用DIY的觀點把這個過程轉化成樂趣, 最終將獲得極大的成就感.

剩下的指導書, 協助個人或是小型企業擁有自己的資料庫的夢想而展開並完成撰寫, 能透過詳細的說明, 一步一步帶領學習者建立觀念, 擁有技術, 享受樂趣, 品味成就感, 最終為個人或小企業帶來效益.

除此之外, 一點點的英文能力也是需要的, 因為程式碼主要是用英文來寫成的, 但不必害怕, 只會用到很簡單的英文, 而這些英文可以把它們當作一個符號就好.