初學者如何學習FileMaker資料庫設計?之二
寫這支程式的目的是什麼?做什麼用的?進而詳解它的作業流程與過程的細節,了解得愈透徹,程式的規劃就能愈細化,愈能貼近使用者工作流程與習慣,甚而為之改善既有作業模式與流程,更驅精簡而省時,這是寫程式者該有的態度。不是一昧地迎合使用者的習慣去寫不合邏輯的作業流程,若是這麼做,只會讓您於未來將費更大心力與時間去調整與修改,何不在設計之初就跟使用者一同深入探討,更參酌其他相同工作性質的使用者,他們用了什麼不同的方式完成一樣的工作,這樣會讓自己的設計的視野廣度更大,更能為使用者提供有效的不錯建議,從而調整既有的作業模式,大大改善工作效率,使用者需要的正是這樣的設計者,設計慎於始的了解、協調、規劃,彼此印可之後著手設計,設計者要多方周詳寫好簡便好用的程式給使用者,不要輕覻備而不用的功能,這往往會為自己省下未來的時間與成本。
為方案命名,著手草寫資料庫需要用到哪些資料表,訂定各資料表的主鍵,以及各表之間的欄位關聯,達到資料欄位精簡,即而給各欄位適當的資料類型,至於哪些欄位是要經由其他既有的欄位經過計算產生的結果,這是計算欄位,於該欄位後面寫好它的與某些欄位共組成的計算式,這種類型的欄位,Access是在2010版之後才有的功能,大大提昇速效設計。檢查周詳完善後即可建立資料庫及其所轄資料表的各個欄位。
為各資料表建立彼此有關的欄位關聯,有一對一、一對多、多對多、甚而不相關的欄位,因特定目的必須引用取用,硬生生與之關聯,這種資料表,屬於單一筆的資料表設定,如提供使用者機關、地址、電話等等基本資料建立,此為單筆記錄型的資料表,便於在畫面或報表上與其他資料表一同引用。
參考範本時,除了試著瀏覽各個版面,其上各種物件大小與安排位置,了解輸入不同的欄位屬性,做了哪些不同的專屬屬性,並實際各輸入數筆資料,體會不同欄位輸入時的差異性,再回頭查看它們屬性做了哪些不同的設定,還有到資料庫去查看這個資料表的這個欄位它做了什麼不一樣的指定與設定,這些不同的差異,是否意味它有特定的用途,逐漸深入了解,相信這對此範本用途與設計理念會有整體的感受,之後再從功能表之【檔案】/【管理】項目下,參考其下:
資料庫
安全性
值清單
版面
指令碼
外部資料來源
容器
自訂函數
自訂功能表
各個項目內,有此範本所有有關的設定,值得一探究竟,這是深入寶山挖掘寶礦的做法,相信所花費的心力愈多,荷負寶囊而回的內容就會愈多愈豐富。有了這些完整的設計慨念,相信未來在設計屬於自己的系統時會得力而順手。
資料庫:資料表、欄位、關聯,這是規劃後,第一步設計切入著手的地方,完善的事前規劃,有助於減少後續無謂的調整。
安全性:查看這個範本,有幾個使用者,各使用者賦予哪些權限。
值清單:可來自資料表的欄位,也可以由自己自訂的項目。固定不變的項目用自訂的;項目由使用者決定或彈性選用的用欄位。
版面:所有的作業畫面,舉凡資料的操作或顯示與列印都稱為版面。當版面數不少,可為之增加 資料夾 存放相同用途的版面,方便整理與尋找。
指令碼:每個指令碼名稱由一個以上的指令碼組成,以完成特定目的的工作,我們可以將每個指令碼名稱視為一個獨立程序,做為提供觸動版面畫面上物件時,執行其指定的「指令碼名稱」,完成指定的工作。
請試著點各個指令碼名稱,點 編輯 鈕,就能看到它由多少個指令碼組成,要完成的工作目的是什麼。
凡是常用慣例工作,都可以儲存成一個一個獨立的指令碼名稱,供爾後引用,所以指令碼名稱要與它工作完成的目的儘量明確相符,不要怕名稱太長,規劃得愈細,更有助於未來的引用,加速系統的開發。
每次完成的指令碼,最好都複製一份到文件檔中,隨著不同系統開發,因應需求的不同,會讓您的指令碼的功能更齊全而豐富,方便以後直接取用加入新開發系統。(這個方式行不通)
在windows中使用FileMaker,無法透過複製指令碼的功能將指令碼複製出來彙整到Word中,因此沒能如願前述。
若爾後開發新系統,有用到之前系統相同的指令碼功能時,可以同時將之前的系統開啟,將所要的程式碼名稱點選,點編輯鈕,將其內之程式碼選取全部或片斷,再到其畫面功能表之 編輯 / 選 拷貝 ,關閉相關畫面,到功能表之 視窗 / 選 新系統設計畫面,即可貼過來使用。
外部資料來源:提供引進現有的其他檔案來共組系統,用來快速擴展所開發系統功能。
容器:設定容器欄位所儲存的圖片預存的位置,以及加速預覽的縮圖設定。
自訂函數:常用運算的結果判斷,如帳號或身分證檢查,是否合乎運算規則,可預先寫好函數,供爾後直接拿來取用。
自訂功能表:為了限制使用者的操作,必須隱藏開發系統時的各種功能,因此可以由設計者為自己所開發的系統設計自己的功能表供使用者就功能表上的項目來作業,設定程式在開啟執行時使用自訂功能表,只出現自訂功能表,沒有開發環境時的功能表項目。
