VB6基本資料庫應用(二):建立資料庫

幾羅星人發表於2013-07-25

這是同樣系列的第二篇,上一篇在:http://blog.csdn.net/jiluoxingren/article/details/9451987


建立資料庫

前文再續,書接上一回。這一章將會講述如何在Access中建立資料庫。我將同時講述Access2003和2013兩種版本的操作方法。


先來講如何建立一個資料庫,當然,建立一個資料庫的操作自然也包括了建立表,增加欄位這些操作。


先說2003的操作方式:


選擇【空資料庫...】,然後在彈出來的【檔案新建資料庫】對話方塊中選擇好路徑,填好檔名,單擊【建立】就有一個新的資料庫檔案了。

這時候會彈出一個對話方塊,如下圖:


如圖在左邊的物件那一列選擇【表】,右邊選擇【使用設計器建立表】,然後按左上角的【開啟】,就會開啟表設計器視窗,如下圖:


至今為止,我都沒有說要設計一個什麼程式來作為示例教導大家如何使用資料庫,既然前面以StudentID欄位作為例子,就設計一個學生管理系統為例吧。那麼在【欄位名稱】的第一行處輸入StudentID(即學生編號),我之前說過,欄位名等不要用中文,所以這裡用的是英文。在【資料型別】的第一行處選擇【數字】(雖然選擇【自動編號】會讓我們後面的程式更方便,不過為了說多一些知識,就讓我繞個彎子吧),之後下面的常規那裡原本是空白的,就會變成如圖所示的樣子。


下面我們來研究一下下面的【常規】選項卡有什麼用。對於我們來說,一般有用的是【欄位大小】,【小數數位】,【必填欄位】和【索引】這四個。以次來說。


【欄位大小】指的是每一個記錄中這個欄位所能儲存的資料大小,對於現在的【數字】,當然指的就是數字的大小了。一般有【位元組】,【整形】,【長整型】,【單精度型】,【雙精度型】,【同步複製ID】,【小數】。當我們在選擇【欄位大小】的時候,右邊的藍色字提醒我們最常用的是【雙精度型】和【長整型】。各種型別的儲存範圍和VB大概對應的資料型別如下表:

型別 儲存範圍 VB對應型別
位元組 儲存從 0 到 225(無小數位)的數字。 Byte
整型 儲存從 -32,768 到 225(無小數位)的數字 Integer
長整型 (預設值)儲存從 -2,147,483,648 到 2,147,483,647(無小數位)的數字。
Long
單精度型 儲存從-3.402823*(10^38) 到-1.401298*(10^-45 )的負值,
從 1.401298*(10^-45) 到 3.402823*(10^38) 的正值。
Single
雙精度型 儲存從–1.79769313486231*(10^308) 到–4.94065645841247*(10^324) 的負值,以及從 4.94065645841247*(10^324) 到 1.79769313486231*(10^308) 的正值。
Double
同步複製ID 全域性唯一識別符號 (GUID)(GUID:在 Access 資料庫中,一種用於建立同步複製唯一識別符號的 16 位元組欄位。GUID 用於標識副本、副本集、表、記錄和其他物件。在 Access 資料庫中,GUID 是指同步複製 ID。)
String
小數 28位的小數
Double

上面的這些資料可以在選擇【欄位大小】的時候按下F1來檢視(注:對於【小數】這個型別的說明,原文是這樣表述的“儲存從 -10^38-1 到 10^38-1 範圍的數字 (.adp);儲存從 -10^28-1 到 10^28-1 範圍的數字 (.mdb)”它的表達方式 -10^38-1 之類的很令人費解,既不是-10的38次方減一,也不是-10的38-1次方,無論哪一個都是很小的負整數,不是小數。所以取了原文的小數數位作為這裡的描述)那麼現在StudentID作為一個ID,ID可能多達10多位,就只能取【雙精度型】了,【長整型】達不到那麼大的數。但是對於小的內容,我們就應該設定為範圍小的資料型別,這樣資料庫引擎對他的處理會更快,消耗的記憶體也更少。


【小數數位】從字面上理解就可以了,從上面的描述中可以知道,只有【單精度型】,【雙精度型】,【小數】這三種型別設定這個屬性才是有意義的。【小數】型別的有28位小數,無整數部分,單精度型別的是7位小數,雙精度的是15位小數,如果設定了超過該型別所承受的小數數位,則還是按照這個型別所能支援的最大小數數位來計算。這裡的StudentID就設定為0好了。


【必填欄位】就是說明在一個記錄中這個欄位是否是必須填寫的,這個屬性只有兩個選擇,要不就【是】,要不就【否】,會中文的都知道是什麼意思了,不解釋了。這裡的StudentID就設定為【是】好了。


還有一個就是【索引】,可以選擇的是【無】,【有(無重複)】,【有(有重複)】。有索引可以加快搜尋和排序的速度,但是可能降低更新資料的速度。一般我都選有,而有重複和無重複的差別就是是否允許欄位中出現重複的資料,這裡的StudentID就設定為【有(無重複)】好了。


最終的設定如下:


然後我們回到【欄位名稱】的第一行,單擊滑鼠右鍵,選擇【主鍵】(如下圖)。雖然定義主鍵不是必須的,但是還是推薦這樣做,定義你認為最重要的欄位為主鍵即可,這裡當然就是StudentID了。


說了那麼多,我們繼續表的建立。在【欄位名稱】那一欄的第二行,我們輸入StudentName,別簡單地輸入Name就算數了,雖然它允許(在2013的版本里會發出警告的),但是在SQL語句和資料庫引擎裡是保留字,有其獨特的用途,所以不要直接使用保留字來做欄位名,表面和資料庫名。Access的保留字列表:http://wenku.baidu.com/view/f09e8be3172ded630b1cb664.html


在資料型別的那一列的第二行選擇【文字】,在下面【常規】選項卡中修改如下的屬性為表中的值:

屬性名 修改之後的值
必填欄位
允許空字串
索引 有(有重複)

最後輸入好的表就有兩個欄位了,以後要新的欄位的時候在新加也是可以的。


最後直接點選表編輯器右上角的關閉(上圖紅色框),在彈出的時候儲存表的更改那裡選擇是,在隨後的表另存為中修改表名稱為Student並確定。


關閉表編輯器之後,我們又回到了最初儲存資料庫之後的視窗,在左邊物件那一列選擇【表】,你就會發現下面多了一個名為Student的表,就是我們剛才建立的(如下兩張圖的第一張),要想輸入資料,雙擊它就會出來一個視窗(如下兩張圖的第二張)



對於2003資料庫的建立,就是怎麼多,最後在檔案選單按一下儲存就可以關閉Access了。

對於2013版本的Access,他的建立顯得沒那麼麻煩,其實要做的工作還是怎麼多,只不過都和2003版本的很相似,就是操作的介面不同罷了。下面來說一下:


首先在啟動Access 2013之後,我們會看到如下的新建介面

選擇空白桌面資料庫,彈出如下的視窗。這裡要留意了,Access 2013預設建立擴充名為*.accdb的新型資料庫檔案,我們方便操作的是*.mdb檔案,兩種檔案不相容的。所以我們單擊紅色框的選擇路徑按鈕,在修改資料庫的檔名和路徑的同時修改格式,如下圖:


在彈出的檔案新建資料庫對話方塊裡修改檔名和路徑,留意藍色框中選擇的檔案版本是2002-2003資料庫,如下圖:

單擊確定之後就會回到剛才的新建對話方塊,在那裡單擊建立(如上兩張圖)就可以了。

完成之後我們看到的是如下的介面:


你會發現2013用起來真是清爽。可以看到最左邊的側邊欄顯示的是當前的資料庫有哪些表。這裡的表1是預設新建的。右邊是編輯表資料和欄位的檢視。在沒有資料之前可以通過那個“單擊以新增”來新增欄位,ID這個欄位是預設自動新增的,在新增了自己需要的欄位之後如果不需要他可以刪掉(之後再說明怎麼刪,因為ID這個是預設的主鍵,不能在當前的檢視下刪除)。照樣,我們單擊“單擊以新增”來新增欄位,單擊之後會出來一個選單,讓我們選擇欄位的資料型別。我們選擇【數字】(如下圖)


然後輸StudentID,之前2003版本中的【常規】選項卡里的屬性已經挪到了介面的上方,如下圖的紅色框區域:


資料型別,必須,唯一,已索引是2003版本中介紹的三個屬性中的兩個,還有一個是欄位大小,要在別的檢視才能設定,下面和怎麼刪掉ID欄位,設定新的主鍵一起說。

編輯表資料和欄位的檢視上面的的【表1】那裡(也就是ID上面的那個)單擊右鍵,選擇【關閉】。這時候他會提示你是否儲存更改,單擊是之後會出現【另存為】對話方塊,在表名稱那裡輸入Student,這些操作都是和2003版的很相似的。


在左邊側邊欄的【表1】那裡單擊右鍵,選擇【設計檢視】,如下圖:


開啟之後出來的是我們在2003版本看得很熟,我花了很大的篇幅去說的【表編輯器】,幾乎一模一樣,只不過2013版本的表編輯器不是一個視窗,而是一個選項卡,跟編輯表資料和欄位的檢視一樣。如下圖:


留意上圖的紅色框,裡面有一個鑰匙的圖示,那就是主鍵的符號,正因為ID欄位是主鍵,所以不能隨意刪掉,我們在第二行,StudentID欄位單擊右鍵,選擇【主鍵】,這時候變成第二行前面有了鑰匙的符號,第一行沒有,也就是說主鍵已經從ID這個欄位變為StudentID這個欄位,這時候我們就可以在第一行ID那裡單擊右鍵,選擇【刪除行】刪掉ID這個欄位了。而下面的【常規】選項卡也和2003版本的一樣,要修改欄位大小可以在這裡修改。同樣地新增StudentName欄位,同樣不要只用Name這個名字,用2013版本的朋友注意參見上面的2003的介紹,修改好【常規】選項卡里需要修改的屬性。


最後就是按Ctrl+S儲存了,或者按檔案選單儲存,都一樣。那麼下一章將會講述資料庫的連線。未完,待續。


下一章:連線資料庫與SQL語句的Select語句初步 http://blog.csdn.net/jiluoxingren/article/details/9474661

相關文章