




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第5章數據庫應用程序設計
本章主要內容:數據庫基礎知識數據庫應用程序結構Delphi7中的ADO組件簡介如何為應用程序建立數據庫連接5.1數據庫基礎知識
5.1.1數據庫的基本概念1.數據數據(Data)是數據庫中存儲的基本對象。所謂數據,就是能被計算機識別與處理的符號。數據的種類很多,如數字、文字、表格、圖形、圖像、聲音等都屬于數據。2.數據庫數據庫(Database,簡稱為DB)就是以一定的組織方式存儲在計算機存儲介質中的互相關聯的數據的集合。它能以最佳方式、最少重復、最大獨立性為多種應用提供共享服務。一個數據庫常包含許多數據表、索引信息以及其他相關信息。5.1數據庫基礎知識3.數據庫管理系統數據庫管理系(DatabaseManngementSystem,簡稱為DBMS)是支持人們建立、使用和修改數據庫的軟件系統。它是位于用戶和操作系統之間層面的數據管理軟件。它為用戶或應用程序提供訪問數據庫的方法,包括數據庫的建立、查詢、更新及各種數據控制。
DBMS可以分為層次型、網狀型、關系型和面向對象型等幾種類型。數據庫在建立、使用和維護時由數據庫管理系統統一管理,統一控制。數據庫管理系統使用戶方便地定義數據和操作數據,并能夠保證數據的安全性、完整性、并發性及發生故障后的系統恢復。通常DBMS包括以下主要功能:5.1數據庫基礎知識
(1)數據定義功能
(2)數據操縱功能
(3)數據庫的運行管理
(4)數據庫的建立和維護功能
(5)數據庫通信功能4.數據庫系統數據庫系統(DataBaseSystem,簡稱為DBS)是指在計算機系統中引入數據庫后的系統構成,一般由數據庫、數據庫管理系統及其開發工具、應用系統構成。如圖5-1所示。5.1數據庫基礎知識應用系統應用開發工具軟件DBMS編譯系統操作系統硬件圖5-1DBS的層次結構
5.1數據庫基礎知識數據庫系統從最終用戶角度看,分為單用戶結構、主從式結構、分布式結構和客戶/服務器結構。
(1)單用戶結構整個數據庫系統(包括應用程序、DBMS、數據)都裝在一臺微機上,由一個用戶獨占,不同機器之間不能共享數據。
(2)主從式結構此結構指一個主機帶多個終端的多用戶結構,數據庫系統(包括應用程序、DBMS、數據)都集中存放在主機上,所有處理任務都由主機完成,各個終端用戶并發地存取數據庫,共享數據資源。
(3)分布式結構5.1數據庫基礎知識分布式結構的數據庫系統是地理上(或物理上)分散而邏輯上集中的數據庫系統。
(4)客戶/服務器結構隨著工作站功能的增加和廣泛使用,人們開始把DBMS功能和應用分開,網絡中專門用于執行DBMS功能的計算機稱為數據庫服務器(簡稱服務器Server),其他安裝DBMS的外圍應用開發工具、且支持用戶應用的計算機稱為客戶機(Client),這就是客戶/服務器結構的數據庫系統(Client/Server結構,簡稱C/S結構),它是目前普遍使用的數據庫系統。5.1數據庫基礎知識5.關系數據庫關系數據庫(RelationalDatabase)是以關系模型作為數據的組織存儲方式。關系數據庫通常包含多張表,表由記錄組成,記錄由字段組成。表(Table):一個表就是一組相關的數據按行排列,象一張表格一樣。字段(Field):在表中,每一列稱為一個字段。每一個字段都有相應的描述信息,如數據類型、數據寬度等。記錄(Record):在表中,每一行稱為一條記錄。索引(Index):索引是按照指定字段建立的順序鏈表,能加快訪問數據庫的速度。5.1數據庫基礎知識6.數據庫應用程序的設計數據庫應用程序的設計包括兩個部分:
(1)數據庫設計
(2)應用程序設計。5.1.2數據庫產品簡介
VFoxPro、Access、Paradox等屬于單用戶版數據庫產品。這類數據庫的數據被按照一定格式儲存在磁盤里,使用時由應用程序通過相應的驅動程序甚至直接對數據文件進行讀取。
MSSQLServer、OracleUniversalServer、Informix-UniversalServer等屬于大型數據庫。這類數據庫的數據集中存放服務器上,統一由運行在服務器上的數據庫服務程序管理,用戶使用客戶端軟件通過網絡訪問數據庫服務程序。5.1數據庫基礎知識客戶/服務器數據庫系統結構
這類型數據庫的特點是:適合于網絡應用,可以同時被多個用戶所訪問,數據庫管理系統可以賦予不同的用戶以不同的安全訪問權限,支持的數據量大,能完全地支持SQL語言。5.1數據庫基礎知識5.1.3常用SQL語句1.SELECT語句
SELECT語句可以從數據庫中按用戶要求檢索數據,并將查詢結果以表格的形式返回。
SELECT語句的語法形式如下:
SELECT[ALL|DISTINCT][TOPn[PERCENT]]字段列表
[INTO新表
]FROM源表
[WHERE搜索條件
][GROUPBY分組字段][HAVING搜索條件
][ORDERBY排序字段
[ASC|DESC]]5.1數據庫基礎知識(1)基本查詢SELECTau_fname,au_lname,phoneFROMauthors該查詢是把表中指定內容列出來。(2)條件查詢SELECTau_fname,au_lname,phoneASTelephoneFROMauthorsWHEREstate='CA'僅返回state為‘CA’的行。(3)對查詢結果排序:SELECTau_fname,au_lname,phoneASTelephoneFROMauthorsWHEREstate='CA'andau_lname<>'McBadden'ORDERBYau_lnameASC5.1數據庫基礎知識2.INSERT語句將新行添加到表或視圖中。
INSERT語句的語法形式如下:INSERT[INTO]表名
[(字段1[,...字段n])]VALUES({DEFAULT|NULL|字段值1}[,...字段值n])
下面的例子中,通過Insert語句增加了一行記錄到publishers表中。INSERTpublishers(pub_id,pub_name,city,state)VALUES('9998','San','wash','wa')
字段名與字段值必須對應,且數據類型一致。5.1數據庫基礎知識3.DELETE語句DELETE語句用來從表中刪除數據。其語法為:DELETE[FROM]表名
[WHERE搜索條件
]
從publishers中刪除pub_id為‘9998’的記錄記錄的例子。DELETEpublishersWHEREpub_id='9998'
如果沒有指定WHERE子句,表示刪除所有記錄。從employee表中刪除所有記錄的例子。DELETEfromemployee5.1數據庫基礎知識4.UPDATE語句
UPDATE語句用以更新表中一列或多列數據值。其語法如下:UPDATE表名
SET字段名
={表達式
|DEFAULT|NULL}[,..n][WHERE搜索條件]
下面的語句把pub_id為9998的記錄的state字段修改為'NY'。UPDATEpublishersSETstate='NY'WHEREpub_id='9998'
如果不加上WHERE子句,則UPDATE語句會修改表中的每一行數據。5.1數據庫基礎知識5.CREATETABLE語句用CREATETABLE語句創建表快捷明了。其語法如下:CREATETABLE表名
(字段1類型(長度[,小數位數]){[DEFAULT默認值]|[NULL]}[,...n])下例顯示了創建jobs表的定義。CREATETABLEjobs(job_id
smallint,
job_descvarchar(50)NOTNULLDEFAULT'NewPosition',
min_lvl
tinyintNOTNULL,
max_lvl
tinyintNOTNULL)5.1數據庫基礎知識6.ALTERTABLE語句
ALTERTABLE語句可以添加或刪除表的列。其語法如下:ALTERTABLE表名
{ADD[列名類型(長度
[,小數位數
])][,...n]|DROP
COLUMN列名
[,...n]}
下例添加一個允許空值的列,而且沒有通過DEFAULT定義提供值。各行的新列中的值將為NULL。ALTERTABLEdoc_exaADDcolumn_bVARCHAR(20)NULL下例從一中刪除字段column_b。ALTERTABLEdoc_exaDROP
COLUMNcolumn_b5.1數據庫基礎知識7.DROPTABLE語句刪除表定義及該表的所有數據、索引、觸發器、約束和權限規范。DROPTABLE表名表名:是要刪除表的名稱。例如:刪除employee表。DROPTABLEemployee5.2數據庫應用程序結構5.2.1OLEDBOLEDB可提供對存儲在不同信息源的數據進行統一訪問的能力,它是微軟開發的一種底層數據庫訪問技術。常用OLEDB提供者有:
MicrosoftJet4.0OLEDBProvider
用于微軟Access數據庫。
MicrosoftOLEDBProviderforODBCDrivers
用于ODBC數據源。
MicrosoftOLEDBProviderforOracle
用于Oracle數據庫。
MicrosoftOLEDBProviderforSQLServer
用于微軟SQLServer數據庫。5.2數據庫應用程序結構5.2.2ADO(ActiveXDataObjects)
ADO是MicrosoftActiveXDataObjects的縮寫,也是微軟開發的適用于Windows操作系統的數據庫訪問技術。它位于OLEDB的上層,封裝了OLEDB的所有功能,為那些不能直接訪問OLEDB的語言(如VisualBasic和腳本語言)提供編程接口。5.2數據庫應用程序結構
OLEDB、ADO與編程語言和數據存儲的關系
5.2數據庫應用程序結構5.2.3ODBCODBC(OpenDatabaseConnectivity)即開放的數據庫連接技術。ODBC是微軟和一些數據庫廠商聯合制定的,它通過應用程序接口API提供了一種跨平臺的,用來訪問關系數據庫中數據的手段,是訪問數據庫的通用方法。數據源是對數據庫的有名聯接,即DSN。用戶DSN
系統DSN
文件DSNODBC添加新數據源的步驟:5.2數據庫應用程序結構5.2.4數據庫應用程結構在Delphi7的數據庫應用程序中,最基本的構成是3類組件:數據控制組件、數據集組件和數據源組件。
(1)數據控制組(DataControl)件用于顯示和修改數據庫中的信息,為用戶操作數據庫提供一個可視化的界面,常用的組件有TDBEdit、TDBText、TDBGrid、TDBGrid。
(2)數據集組件(DataSet)一方面通過ADO與實際的數據庫相連接,另一方面通過TDataSource組件與數據庫控制組件相連,常用的有TADODataSet、TADOTable、TADOQuery組件。
(3)數據源組件(DataSource)負責將數據集組件和數據控制組件連接起來,。5.2數據庫應用程序結構使用ADO組件編寫的應用程序通常具有以下結構:圖5-8基于ADO的數據庫應用程序結構5.3Delphi7中的ADO組件
Delphi對ADO技術的支持,是通過將ADO常用對象封裝進Delphi的ADO組件中,并結合Delphi本身的開放式數據庫組件結構實現的。使用ADO組件,可以迅速實現數據庫連接,建立數據庫應用,使用ADO組件更利于我們升級和維護開發的系統。通過ADO連接的數據庫應用程序分發時不需要進行額外配置,Windows系統中已默認安裝了ADO的支持組件MDAC。
Delphi的ADO組件共有7個,位于ADO面板上,分別是:TADOConnection、TADODataSet、TADOTable
TADOQuery、TADOStoredProc、TADOCommand和RDSConnection。其中后面的6個組件可以直接連接到數據庫,但更為常用的方式是通過TADOConnection組件連接到數據庫。5.3Delphi7中的ADO組件這些組件的作用如下:TADOConnection:該組件用于建立數據庫的連接。TADODataSet:這是ADO提取及操作數據庫數據的主要數據集,該組件可以從一個或多個基表中提取數據。TADOTable:主要用于操作和提取單個基表的數據。TADOQuery:該組件是通過SQL語句實現對數據庫數據的提取及操作。TADOStoredProc:該數據集是專門用于運行數據庫中的存儲過程的。TADOCommand:該組件用于運行一些SQL命令。RDSConnection:一個進程或一臺計算機傳遞到另一個進程或計算機的數據集合,用于遠程數據訪問。5.3Delphi7中的ADO組件圖5-9ADO各組件之間的關系5.4連接數據庫5.4.1連接本地數據庫將TADOConnection
組件連接到數據庫是通過設置ConnectionString
屬性實現的。1.使用OLDDB提供者連接ACCESS數據庫2.使用ODBC數據源連接Paradox數據庫3.5.2連接到數據庫服務器【例5-1】編寫一個簡單數據庫應用程
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年餐飲行業勞動合同樣本
- 如何進行年度財務總結計劃
- 2025醫療設備采購合同范本
- 生物教學中學生自主學習的激勵計劃
- 制定高效團隊管理的工作總結計劃
- 《2025年挖掘機租賃合同》
- 利用社區資源豐富班級活動計劃
- 工業自動化設備用戶培訓手冊
- 廣西河池市鳳山縣2023-2024學年十校聯考最后數學試題含解析
- 廣西陸川縣聯考2023-2024學年中考沖刺卷數學試題含解析
- 數字PID控制實驗
- 文體中心項目可行性研究報告
- 三國群英傳2-所有武將屬性
- 氫氣儲存和運輸 課件全套 第1-5章 氫氣存儲與運輸概述- 材料基固態儲運氫
- 幼兒園大班語言《騎著恐龍去上學》課件
- 正弦交流電的產生(公開課)課件
- 智慧雙碳管理云平臺建設方案
- 單基因遺傳病的分子生物學檢驗-醫學院課件
- 公務攝影拍攝技巧分享課件
- 2023持續炎癥-免疫抑制-分解代謝綜合征(PICS)
- 華東師范大學 PPT 37
評論
0/150
提交評論