1、第十六章資料庫基本觀念與操作n資料庫基本認識nBCB支援的資料庫種類nBCB的資料庫存取模式nBDE AdministratornDatabase Desktop1 6-1 資料庫基本認識n將資料存入硬碟的方式有二種,其一是檔案,其二是資料庫。此二種模式最大的差別,在於資料庫與使用者之間多了一個資料庫管理系統(Database Management System DBMS),如下圖所示:n於檔案模式中,程式設計者必須了解資料的型態、長度,親自撰寫程式才能取得硬碟資料;於資料庫模式中,程式設計者的工作就輕鬆了,因為程式設計者與硬碟之間多了一個資料庫管理系統,就如同您身旁有一位秘書或出門有司機一樣
2、,凡事只要動口而不必動手,當然工作會輕鬆愉快。所以,使用者可使用不同的應用程式,或甚至不寫任何程式,即可透過資料庫管理系統取得資料。所以本書不介紹使用檔案模式存取硬碟資料,直接介紹資料庫,就如同現代人開車不學手排車,其道理是相同的。資料表(Table)假設有員工基本資料如下,若將以下資料以資料庫模式存入硬碟,則稱此檔案為資料表。n欄位(Field)上圖中的直向資料,例如編號、姓名、年齡及職務等稱為欄位,本例共有五個欄位。n記錄(Record)上圖中的橫向資料,例如A01、張建原、男、教師稱為一筆記錄,本例共有四筆記錄。n資料項(Data Item)上圖中的A01、張建原 或 主任 等單一資料稱
3、為資料項,本例共有二十個資料項,資料項是資料庫的最小單位。n資料庫(Database)眾多相關資料表的集合稱為資料庫。n資料集(DataSet or RecordSet)有時候我們常至一個或一個以上的資料表,使用SQL 敘述萃取某些欄位,而形成一個資料集合,此一集合即稱為資料集。n索引檔(Index)索引檔只取原始檔案記錄編號和索引欄兩個欄位,然後將索引欄位遞增或遞減排序存檔,此種檔案稱為索引檔。唯有將欲搜尋的欄位製成索引檔才能使用Findkey 或Gotokey 方法快速搜尋。其次,若欲關聯多個資料表,欲關聯的欄位均應事先製作索引。為什麼要使用索引檔呢?n讀者可以想像一下,一本國語字典至少都
4、有兩種索引,一是注音索引表,另一是部首索引表。各位可以注意每個索引表都只有兩個欄位,一是國字本身,一是頁數,而較大的字典甚至還有電信明碼或四角號碼等索引。電腦的索引檔原理也是相同的,增加索引檔只是用來增加查詢的速度而已,並不會使原來的資料倍增。1 6-2 BCB 支援的資料庫種類nBCB 支援兩種關聯式資料庫伺服器(Relational Database Management Systems,簡稱RDBMS),分別是本地資料庫(Local Database)及遠端資料庫伺服器(RemoteDatabase Servers),說明如下:本地資料庫n資料庫與程式同存一台電腦或同一區域網路的稱為本地
5、資料庫,BCB可支援存取的本地資料庫有Paradox、dBase、FoxPro 及Access。遠端資料庫伺服器n資料庫存在遠地的專屬電腦,稱為遠端資料庫伺服器,此類資料庫伺服器通常提供一組標準的介面語言供各地的用戶端存取資料,此標準介面稱為結構查詢語言(Structured Query Language),所以這些資料庫伺服器又稱為SQL 伺服器,BCB 支援的RDBMS 有InterBase、Oracle、Sybase、Informix、Microsoft SQL Server 及DB2 等。n為便利初學者學習BCB 的資料庫程式設計,本書使用的資料庫種類僅為Paradox 及Access
6、。1 6-3 BCB 的資料庫存取模式nBCB 共提供4 種存取資料庫的模式,分別是BDE、ADO、dbExpress 及InterBase,分別說明如下:BDEnBDE 是Borland Database Engine 的縮寫,是Borland 公司的資料存取模式,所有的物件均已元件化,放在元件盤的BDE 標籤之下,如下圖,這些物件主要是存取後端的資料庫伺服器,本書將於第十七章介紹。ADOnADO 是ActiveX Data Object 的縮寫,此種模式是微軟的資料存取標準,Borland 公司亦將這些物件元件化,放在元件盤的ADO 標籤之下,如下圖所示,此種模式主要是存取以ADO 為基礎
7、的資料庫,本書將於第二十一章介紹。dbExpressndbExpress 元件,如下圖所示,它是一種簡便且跨平台的存取模式,限於篇幅,本書尚無介紹,若需進一步了解,請自行翻閱相關書籍。InterBasenInterBase 元件,如下圖所示,這些物件可以直接存取InterBase 的資料庫,本書亦無介紹,請自行翻閱相關書籍。Data Accessn資料存取(Data Access)元件,如下圖所示,它是扮演以上4 種存取模式與資料連繫(Data Controls)元件之間的橋樑,請看17-2 及21-1 節。Data Controlsn資料連繫(Data Controls)元件,如下圖所示,這
8、些元件的主要功能是於表單顯示資料項的內容。n以上四種資料存取模式,如下圖所示,也就是資料存取(Data Access)及資料連繫(Data Controls)元件都是以上4 種資料存取模式所共用。1 6-4 BDE Administr atornBDE Administrator 的功能為設定資料庫的種類、存放路徑及為此路徑取別名,以下範例將示範於本地硬碟建立Paradox 資料庫。別名(Alias)n使用BDE 元件存取資料庫的首要工作是設定資料庫的別名,所謂的資料庫別名就是將資料表所在位置的資料夾名稱取一個識別字,此識別字即稱為別名,以方便我們取用資料表,例如本書的資料表均放在C:BCBbook資料夾,筆者將此資料夾取一個別名為horng。範例16-4an示範於本地硬碟C:BCBbook 建立Paradox 資料庫,並取別名為horng。1 6-5 Database DesktopnDatabase Desktop 的功能是提供一個操作環境,讓程式設計者或資料使用者操作以下項目:n1.欄位型態及大小的定義。Paradox 的欄位型態如下圖所示。n2.資料的新增、修改、刪除。n3.資料的查詢。以下範例將示範以上操作項目。範例16-5an假設有學生成績資料如下,該如何以資料庫儲存。