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