第十五章 資料庫基本觀念與操作

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. 同上範例,請自行找一個行業,並規
劃其資料庫。