時 間:2013-11-01 10:55:58 5.1 建表與相關(guān)字段屬性的解說 學習說明 我們都知道,無論是多么強大、多么先進的數(shù)據(jù)庫,都是基于存儲在表中的數(shù)據(jù)來運行的,因此,表的設(shè)計和建立就顯得特別重要,這也是數(shù)據(jù)庫中最基礎(chǔ)、最重要的組成部分之一——如若把數(shù)據(jù)庫比作一個倉庫的話,那么,表的設(shè)計,就好比這個倉庫的倉位設(shè)計,而表的建立,就好比是倉位建設(shè)的施工——因此,如若倉庫的倉位的設(shè)計和施工出了問題,毫無疑問,必然會給這個倉庫的管理帶來極大的不便,因此,希望大家能注重基本功的概念和練習,只有牢固的基本功,才能讓我們走得更遠、走得更好。
建表與相關(guān)字段屬性的解說 那么,我們應(yīng)該如何實現(xiàn)呢? 首先,進入我們先前存儲項目文件的C盤下的BXMIS目錄,雙擊鼠標左鍵打開【Data.mdb】文件,則如下圖所示:
對于熟悉Access 2003的人來說,這個界面可能有些陌生,但是原理都是一樣的——此時,我們注意到,當前默認顯示的是
接下來,我們選中【表(B)】選項,則如下圖所示:
如上圖所示,在【表】欄目下,我們會發(fā)現(xiàn),已經(jīng)有了8個名稱以Sys為前綴的表的存在,需要特別說明的是,這些表并非是Access本身就有的,而是《盟威軟件快速開發(fā)平臺》的系統(tǒng)表,也就是說,除非是教程的指引,這些表是不允許我們手工修改和刪除的——如若擅自改動或刪除這些平臺系統(tǒng)表,那么,可能會導致基于平臺運行的各類系統(tǒng)出現(xiàn)各種難以預(yù)料的故障。 接下來,我們正式開始建表,請依次點選【創(chuàng)建】——【表設(shè)計】,如下圖所示:
當我們點選【表設(shè)計】,打開表的設(shè)計視圖之后,如下圖所示:
在當前的設(shè)計視圖中,左側(cè)窗格的右側(cè)有一個
如上圖所示,表的設(shè)計界面,上半部分是【字段名稱】、【數(shù)據(jù)類型】和【說明】(【字段】的【說明】,類似備注),下半部分是【字段屬性】界面,默認尚未被激活,當在【字段名稱】列中輸入字段名稱,并將鼠標光標移到【數(shù)據(jù)類型】列之后(【數(shù)據(jù)類型】的默認值為文本,需要根據(jù)實際的需要進行調(diào)整),相應(yīng)的【字段屬性】就會被激活,如下圖所示:
為了便于表的建立,現(xiàn)在就將表設(shè)計說明書中的項目和表設(shè)計視圖中的對象(列或?qū)傩裕┑膶?yīng)關(guān)系以簡明的方式加以說明,如下表所示:
需要特別說明的是,雖然【字段屬性】是從屬于字段的,但是卻與【數(shù)據(jù)類型】密切相關(guān),因此,【數(shù)據(jù)類型】不同,相對應(yīng)的字段的【字段屬性】也有差異,比如,在字段的【數(shù)據(jù)類型】為文本的情況下,【字段屬性】中就沒有小數(shù)點位數(shù)的屬性設(shè)置項——這也是為什么在沒有選擇【數(shù)據(jù)類型】以前,【字段屬性】不被激活的根本原因——在【數(shù)據(jù)類型】沒有確定之前,由于不同的【數(shù)據(jù)類型】,所擁有的【字段屬性】也有所不同,因此,系統(tǒng)根本就無從判斷需要顯示哪些屬性項。 下面,我們就將ygID字段按表設(shè)計說明書的要求建設(shè)完畢,如下圖所示:
需要值得說明的是,本教程中沒有提到的【字段屬性】的相關(guān)設(shè)置項,請不要隨意更改——除非您對您的更改所帶來的實際影響和顯示效果非常明白——接下來,按照表設(shè)計說明書的要求,完成剩下字段的建立,如下圖所示:
此時,還有一項工作沒有完成,那就是設(shè)置主鍵,所謂主鍵,就是一條記錄的唯一標識符,這就好比在戶籍系統(tǒng)中,我們的身份證號是我們身份的唯一標識符一樣,因此,一個字段一旦被標識為主鍵,那么,這個字段的值,便是不允許出現(xiàn)重復(fù)的——這就如同在戶籍系統(tǒng)中,身份證號是不允許出現(xiàn)重復(fù)是一樣的,接下來,我們就開始設(shè)置主鍵——先在表設(shè)計視圖中選擇ygID字段,或者將鼠標光標移回ygID字段那一行內(nèi)的任意位置,然后再點選工具欄上的 如若已經(jīng)設(shè)置好了主鍵,則如下圖所示:
好了,字段的設(shè)計就告一段落,接下來,我們就可以保存已完成的工作——依次點選左上角的圓形Office按鈕——【保存(S)】命令,或單擊左上角的圓形Office按鈕右側(cè)的
如上圖所示,單擊保存按鈕之后,如若沒有事先保存,則會彈出【另存為】對話框,如下圖所示:
由于在表設(shè)計說明書中,該表的表名為:tblCodeyg,因此,接下來,刪除【表名稱(N)】下的文本框中的默認值:表1,然后輸入表設(shè)計說明書中的對應(yīng)的表名:tblCodeyg。需要強調(diào)的是,為了以后編寫代碼以及可能的后續(xù)開發(fā)的便利,表名最好以英文的形式(或字母的形式,可以包含數(shù)字和下劃線)來命名。
輸入完畢,單擊確認按鈕,我們注意到,此時的表的設(shè)計區(qū)域的頂部已經(jīng)發(fā)生了明顯的變化,已經(jīng)由先前的
如上圖所示,這其中的
現(xiàn)在,該表的設(shè)計工作就已經(jīng)全部完成了,首先,我們先通過單擊
接下來,單擊表名稱右側(cè)的 接下來,我們便可以按照同樣的方法,完成表設(shè)計說明書中tblCodelb表和tblBxmx的建立,在這里,需要值得說明的是tblBxmx表的czsj字段,按照表設(shè)計說明書的要求,這個字段是不需要手工輸入的,當前的操作時間,可以從操作系統(tǒng)中直接提取,所以,我們需要借助一個系統(tǒng)函數(shù)來實現(xiàn)這個設(shè)計目標,這就需要使用Now()函數(shù),該函數(shù)可以在錄入當前記錄的時候,自動提取當前的操作系統(tǒng)時間插入對應(yīng)的表格中。 在這里,需要再次強調(diào)的是,由于該函數(shù)直接從操作系統(tǒng)中提取時間,因此,如若操作系統(tǒng)時間錯誤,那么,該函數(shù)也必將插入錯誤的系統(tǒng)時間,因此,請確保您當前使用的操作系統(tǒng)時間沒有錯誤——由于該項操作涉及操作系統(tǒng)的控制面板,而操作系統(tǒng)的課程,并非Access的課程,因此,請大家參閱相關(guān)教程。 那么,既然可以使用系統(tǒng)函數(shù)從操作系統(tǒng)中自動提取時間,那么,在實際的表的設(shè)計中,應(yīng)該如何實現(xiàn)這個設(shè)計目標呢?或許已經(jīng)有人注意到,在字段的屬性中,有一個默認值的屬性,或者可以把該系統(tǒng)函數(shù)寫入默認值屬性來達到實現(xiàn)此功能的目的——完全正確,就是這樣——當然,這也不是唯一的實現(xiàn)方式,比如,我們也可以在后續(xù)的窗體建設(shè)中,再來實現(xiàn)此設(shè)計目標。 當前,我們就在當前環(huán)節(jié)實現(xiàn)此設(shè)計目標,首先,打開tblBxmx表的設(shè)計視圖,定位到czsj字段,然后【字段屬性】的在默認值一欄中,輸入以下字符:=Now(),如下圖所示:
需要值得注意的是,在這個位置,盡管我們可以借助系統(tǒng)函數(shù)來實現(xiàn)自動提取操作系統(tǒng)當前時間,來實現(xiàn)自動輸入的目的,但是,在當前的表中,我們?nèi)匀豢梢栽诒碇惺止ば薷拇藭r間,當然,在系統(tǒng)正式投入運行之后,手工直接向表中寫入數(shù)據(jù),是不被允許的,所以,不用擔心系統(tǒng)自動提取的數(shù)據(jù)會被修改而違背了我們設(shè)計的初衷,當然,在后續(xù)的窗體設(shè)計中,盡管也可以提供修改此時間的界面,但我們可以在設(shè)計的環(huán)節(jié),就可以禁用此功能,因此,可以確保此設(shè)計目標的實現(xiàn)。當然,這是后續(xù)的課程所需要講述的內(nèi)容,所以,其中的細節(jié),在這里就不過多闡述了。 |
|