第十五章 資料庫基本觀念與操作
Download
Report
Transcript 第十五章 資料庫基本觀念與操作
第十五章 資料庫基本觀念與操作
15-1
15-2
15-3
15-4
資料庫基本認識
Delphi支援的資料庫種類
Delphi的資料庫存取模式
BDE Administrator
15-1
資料庫基本認識
將資料存入硬碟的方式有二種,其一是檔案,其二是
資料庫。此二種模式最大的差別,在於資料庫與使用
者之間多了一個資料管理員
於檔案模式中,程式設計者必須了解資料的型態、長
度,親自撰寫程式才能取得硬碟資料;於資料庫模式
中,程式設計者的工作就輕鬆了,因為程式設計者與
硬碟之間多了一個資料管理員,就如同您身旁有一位
秘書或出門有司機一樣,凡事只要動口而不必動手,
當然工作會輕鬆愉快。所以,使用者可使用不同的應
用程式,或甚至不寫任何程式,即可透過資料管理者
取得資料。所以本書不介紹使用檔案模式存取硬碟資
料,直接介紹資料庫,就如同現代人開車不學手排車,
其道理是相同的。
資料表(Table)
假設有員工基本資料如下,若將以下資料以資料庫模式存入硬碟,則稱
此檔案為資料表
編號
姓名
性別
職務
年齡
A01
張建原
男
教師
38
A02
洪國勝
男
教師
37
B01
孫得昌
男
主任
42
欄位(Field)
B02
王麗萍
女
組長
32
上圖中的直向資料,例如編號、姓名、年齡及職務等稱為欄位,本例共
有五個欄位。
記錄(Record)
上圖中的橫向資料,例如A01、張建原、男、教師稱為一筆記錄,本例
共有四筆記錄。
資料項(Data Item)
上圖中的“A01”、“張建原”或“主任”等單一資料稱為資料項,本例
共有二十個資料項,資料項是資料庫的最小單位。
資料庫(Database)
眾多相關資料表的集合稱為資料庫。
資料集(DataSet or RecordSet)
有時候我們常至一個或一個以上的資料
表,使用SQL敘述萃
取某些欄位或某些合於條件的記錄,而
形成一個資料集合,此一集合即稱為資
料集。
索引檔(Index)
索引檔只取原始檔案記錄編號和索引欄兩個欄位,
然後將索引欄位遞增或遞減排序存檔,此種檔案
稱為索引檔。
唯有將欲搜尋欄位製成索引檔才能使用Findkey
或Gotokey方法快速搜尋。其次,若欲關聯多個
資料表,欲關聯的欄位均應事先製作索引。
為什麼要使用索引檔呢?
讀者可以想像一下,一本國語字典至少都有兩種
索引,一是注音索引表,另一是部首索引表。各
位可以注意每個索引表都只有兩個欄位,一是國
字本身,一是頁數,而較大的字典甚至還有電信
明碼或四角號碼等索引。電腦的索引檔原理也是
相同的,增加索引檔只是用來增加查詢的速度而
已,並不會使原來的資料倍增
15-2 Delphi 支援的資料庫種類
Delphi支援兩種關聯性資料庫伺服器
(Relational Database Management systems,
簡稱RDBMS),分別是本地資料庫
( Local Database) 及遠端資料庫伺服器
(Remote Database Servers) 分別說明如下 :
本地資料庫
資料庫與程式同存一台電腦或同一區域
網路的稱為本地資料庫,Delphi 可支援
存取的本地資料庫有 Paradox、dBase、
FoxPro 及 Access。
遠端資料庫伺服器
資料庫存在遠地的專屬電腦,稱為遠端資料庫
伺服器,此類資料庫伺服器通常提供一組標準
的介面語言供各地的使用端Client User存取資
料,此標準介面稱為結構查詢語言(Structured
Query Language) ,所以這些資料庫伺服器又
稱為SQL伺服器,Delphi支援的遠端資料庫伺
服器有InterBase、Oracle、Sybase、Informix、
Microsoft SQL Server 及 DB2.
為便利初學者學習Delphi的資料庫程式設計,
本書使用的資料庫種類僅為Paradox及Access。
15-3 Delphi的資料庫存取模式
Delphi共提供4種存取資料庫的模式,分別是BDE、
ADO、dbExpress 及InterBase,分別說明如下:
BDE
BDE是Borland Database Engine 的縮寫,是Borland公
司的資料存取模式,所有的物件均已元件化,放在元
件盤的BDE標籤之下,這些物件主要是存取Paradox或
dBase的資料表,本書將於第十六章介紹
ADO
ADO是ActiveX Data Object 的縮寫,此種模式是微軟
的資料存取標準,Borland公司亦將這些物件元件化,
放在元件盤的ADO標籤之下,此種模式主要是存取以
ADO為基礎的資料庫。
dbExpress
dbExpress元件,它是一種簡便且跨平台的存取模式,限於篇幅,
本書尚無介紹,若需進一步了解,請自行翻閱相關書籍。
InterBase
InterBase元件,這些物件可以直接存取InterBase的資料庫,本書
亦無法介紹,請自行翻閱相關書籍。
Data Access
資料存取(Data Access)元件,它是扮演以上4種存取模式與資
料連繫(Data Control)物件之間的橋樑,請看16-2及20-1節。
Data Controls
資料連繫(Data Controls)元件,這些元件的主要功能是於表單
顯示資料項的內容。
以上四種資料存取模式,也就是資料存取(Data Access) 及資
料連繫(Data Controls)元件都是以上4種資料存取模式所共用
15-4 BDE Administrator
BDE Administrator的功能為設定資料庫
的種類、存放路徑及為此路徑取別名,
以下範例將示範於本地硬碟建立Paradox
資料庫。
別名(Alias)
使用BDE元件存取資料庫的首要工作是
設定資料庫的別名,所謂的資料庫別名
就是將資料表所在位置的資料夾名稱取
一個識別字,此識別字即稱為別名,以
方便我們取用資料表,例如本書的資料
表均放在 C:\DelBook資料夾,筆者將此
資料夾取一個別名為horng。
範例
15-4a
示範於本地硬碟C:\DelBook建立Paradox
資料庫,並取別名為horng。
15-5
Database Desktop
Database Desktop的功能是提供一個操作
環境,讓程式設計者或資料使用者操作
以下項目:
1. 欄位型態及大小的定義。
2. 資料的新增、修改、刪除。
3. 資料的查詢。
以下範例將示範以上操作項目。
範例
15-5a
假設有學生成績資料如下,該如何以資
料庫儲存。
編號
姓
名
性別
生
a01
洪國勝
True
a02
洪子堯
a03
a04
日
身高
電 話
1964/5/30
170
073455168
True
1997/12/12
100
061112222
洪焌維
True
1999/6/2
60
023334168
陳惠敏
False
1967/5/3
164
048889168
照片
備註
補充說明:
1. 什麼是Validity Checks?
Validity Checks可協助程式設計者設定資料檢核條件,
可事先設定其預設值(Default value)、最大值
(Maximun value)及最小值(Minimun value)等。
例如,在學生考試的欄位中若設定最小值為0、最大
值為100,則當使用者不慎欲填入560分時,即會主動
提醒使用者超出預計範圍,並拒絕使用者輸入560分。
2. 什麼是Secondary Indexes?
於Paradox中,若同一個資料表欲使用兩個索引鍵,則
應點選Secondary Indexes。
習題
1. 假設你要開一家DVD/VCD出租店,
則你的資料庫應如何規劃。
2. 同上範例,請自行找一個行業,並規
劃其資料庫。