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