国产91在线无码_少妇人妻无码高清_91人妻中文字幕无码专区在线_国产福利在线播放_免费 无码 国产成年视频网站

【10.Delphi數(shù)據(jù)庫編程】0.數(shù)據(jù)庫系統(tǒng)開發(fā)基礎(chǔ)(delphi 數(shù)據(jù)庫編程)

0.數(shù)據(jù)庫系統(tǒng)開發(fā)基礎(chǔ)

數(shù)據(jù)庫系統(tǒng)主要由三大部分組成:

(1)數(shù)據(jù)庫(按一定結(jié)構(gòu)組織在一起的相關(guān)數(shù)據(jù)的集合)。

(2)數(shù)據(jù)庫管理系統(tǒng)DBMS:它是專門負(fù)責(zé)組織和管理數(shù)據(jù)信息的程序)。

(3)數(shù)據(jù)庫應(yīng)用程序(它使用戶能夠獲取、顯示和更新DBMS存儲(chǔ)的數(shù)據(jù))。

0.1數(shù)據(jù)庫的基本概念

1.數(shù)據(jù)庫(DataBase 數(shù)據(jù)庫簡(jiǎn)單的定義是:有蘊(yùn)含著一定的意義的數(shù)據(jù),一些按照一定的規(guī)律組織起來所組成的數(shù)據(jù)集合。在數(shù)據(jù)庫中除了用一些作為外部信息的數(shù)據(jù)之外,還有一些內(nèi)部信息數(shù)據(jù)。這些數(shù)據(jù)定義了數(shù)據(jù)庫的用戶及其相應(yīng)的權(quán)限,數(shù)據(jù)庫表單的定義等等,通常把存放這些數(shù)據(jù)的地方叫做數(shù)據(jù)字典。數(shù)據(jù)字典是有數(shù)據(jù)庫系統(tǒng)自行創(chuàng)建并自動(dòng)維護(hù)的,它實(shí)際上也是數(shù)據(jù)庫的一組表和視圖,與其他的表單和試圖并沒有物理結(jié)構(gòu)上的區(qū)別,唯一不同的是它的內(nèi)容。

2.關(guān)系數(shù)據(jù)庫(Relational DataBase) 關(guān)系數(shù)據(jù)庫是由若干個(gè)表組成的,每一張二維表對(duì)應(yīng)著一種聯(lián)系。表的每一行稱為記錄;表的每一列叫做字段;域就是屬性的取值范圍。對(duì)于 DBASE、FoxPro、Paradox 這三種數(shù)據(jù)庫系統(tǒng),數(shù)據(jù)庫對(duì)應(yīng)于某一個(gè)子目錄,而其他類型如 MS Access、BTrieve 則是指某個(gè)文件。

表(Table):一個(gè)表就是一組相關(guān)的數(shù)據(jù)按行排列,像一張表一樣。

字段(Field):在表中,每一列稱為一個(gè)字段。每一個(gè)字段都用相應(yīng)的描述信息,如數(shù)據(jù)類型、數(shù)據(jù)域等。

記錄(Record):在表中,每一行稱為一條記錄。

索引(Index):為了加快訪問數(shù)據(jù)庫的速度、許多數(shù)據(jù)庫都使用索引。

主鍵(Primary Key,PK):主鍵是對(duì)于這張表的惟一標(biāo)識(shí),即一個(gè)列或幾個(gè)列的組合。主鍵最顯著的特點(diǎn)就是在任何給定的條件,沒有兩個(gè)主鍵包含相同的值,這個(gè)稱作主鍵的惟一性原則。同時(shí)主鍵中每一個(gè)屬性都不能被去掉,而同時(shí)仍能夠保持主鍵的惟一性,這個(gè)我們稱作主鍵的最小性原則。

關(guān)系型數(shù)據(jù)庫系統(tǒng)具有很多優(yōu)點(diǎn):

(1)關(guān)系數(shù)據(jù)庫有深厚的理論基礎(chǔ),它是基于關(guān)系代數(shù)和關(guān)系理論的模型。

(2)以二維表的形式表示數(shù)據(jù)。

(3)不需要用戶了解它在計(jì)算機(jī)中的物理存儲(chǔ)形式。

(4)用系統(tǒng)表來提供其本身的內(nèi)容和結(jié)構(gòu)。

(5)可以通過SQL語言來操縱。SQL語言是專門用于操作這種模型的語言。

3.?dāng)?shù)據(jù)庫管理系統(tǒng)(DBMS)

數(shù)據(jù)庫管理系統(tǒng)是一個(gè)用來管理數(shù)據(jù)庫的軟件,是數(shù)據(jù)庫能夠正常工作的核心。對(duì)數(shù)據(jù)庫的所有操作,包括創(chuàng)建各種數(shù)據(jù)庫的數(shù)據(jù)類型、表單、視圖、存儲(chǔ)過程,以及其他的數(shù)據(jù)庫應(yīng)用程序?qū)τ跀?shù)據(jù)庫中數(shù)據(jù)的讀取和修改,都是經(jīng)由數(shù)據(jù)庫管理系統(tǒng)完成的。當(dāng)數(shù)據(jù)庫應(yīng)用程序把對(duì)于數(shù)據(jù)庫數(shù)據(jù)的操作指令通過數(shù)據(jù)庫管理系統(tǒng)的接口函數(shù)發(fā)送給數(shù)據(jù)庫管理系統(tǒng)后的一切工作都只是數(shù)據(jù)庫管理系統(tǒng)的的了,數(shù)據(jù)庫應(yīng)用程序所要做的就只是等候數(shù)據(jù)庫管理系統(tǒng)把它所需要的數(shù)據(jù)給它,然后進(jìn)行加工處理。

4.?dāng)?shù)據(jù)庫應(yīng)用程序

數(shù)據(jù)庫應(yīng)用程序是通過DBMS訪問數(shù)據(jù)庫中的數(shù)據(jù)并向用戶提供數(shù)據(jù)服務(wù)的程序。簡(jiǎn)單地說,它們是允許用戶插入、刪除和修改并報(bào)告數(shù)據(jù)庫中數(shù)據(jù)的程序。這種程序是由程序員使用通用或者專用的程序設(shè)計(jì)軟件開發(fā)的。

0.2 數(shù)據(jù)庫設(shè)計(jì)

1.數(shù)據(jù)庫的建立

創(chuàng)建一個(gè)數(shù)據(jù)庫的過程有以下幾個(gè)步驟:

(1) 確定數(shù)據(jù)庫的使用范圍。

(2) 確定支持?jǐn)?shù)據(jù)庫所需要的字段。

(3) 將字段劃分成一些合理的數(shù)據(jù)表。 (4) 確定數(shù)據(jù)表之間的關(guān)聯(lián)。

在確定數(shù)據(jù)庫的需求后,要將這些需求劃分成幾個(gè)合理的數(shù)據(jù)表。 所謂合理的數(shù)據(jù)表,通常要滿足以下幾點(diǎn):

  • 數(shù)據(jù)表中的字段所描述的內(nèi)容有一定的聯(lián)系。
  • 數(shù)據(jù)表中至少有一個(gè)字段的記錄不是重復(fù)的。
  • 一個(gè)數(shù)據(jù)表與數(shù)據(jù)庫其他的數(shù)據(jù)表中至少一個(gè)能夠關(guān)聯(lián)。
  • 一個(gè)數(shù)據(jù)表與數(shù)據(jù)庫其他的同一數(shù)據(jù)表不要有多對(duì)多的關(guān)聯(lián)。

2.數(shù)據(jù)表的結(jié)構(gòu)

在數(shù)據(jù)表結(jié)構(gòu)中需要一個(gè)關(guān)鍵字段,數(shù)據(jù)表中的數(shù)據(jù)就是按主關(guān)鍵字段的順序存放的,而且利用主關(guān)鍵字能夠高效地與其他數(shù)據(jù)表建立關(guān)聯(lián)。索引也是數(shù)據(jù)表常用的,在數(shù)據(jù)庫中,利用索引可以加快訪問速度。

0.3 數(shù)據(jù)庫應(yīng)用程序的開發(fā)

1.初步設(shè)計(jì)

設(shè)計(jì)階段要根據(jù)用戶的需求,定義數(shù)據(jù)庫和應(yīng)用程序的功能,確定用戶的需求功能哪些在設(shè)計(jì)階段實(shí)現(xiàn),哪些在程序中實(shí)現(xiàn)。

2.功能實(shí)現(xiàn)

將客戶需求功能分成幾個(gè)合理的功能塊,分別進(jìn)行程序設(shè)計(jì)、調(diào)試。

常見的劃分方法上分成四個(gè)功能塊:

(1)信息處理

(2)數(shù)據(jù)庫管理

(3)系統(tǒng)維護(hù)

(4)輔助功能

信息處理是建立數(shù)據(jù)庫應(yīng)用程序的目的。設(shè)計(jì)數(shù)據(jù)庫應(yīng)用程序的目的是為客戶提供所需要的信息服務(wù),輔助管理工作,提高工作效率和水平。信息處理最基本的功能包括各類信息查詢,統(tǒng)計(jì)報(bào)表等功能,對(duì)于特定的應(yīng)用程序還可以有特定的功能。數(shù)據(jù)庫管理的主要功能是負(fù)責(zé)數(shù)據(jù)庫的更新、修改等。一個(gè)特定的數(shù)據(jù)庫管理操作要由它的用戶的權(quán)限決定,這個(gè)權(quán)限要由有權(quán)的用戶指定。系統(tǒng)維護(hù)的功能是保證數(shù)據(jù)庫應(yīng)用程序運(yùn)行的可靠性和安全性,一般包括用戶管理,口令設(shè)置,各類系統(tǒng)變量和數(shù)據(jù)字典維護(hù)等。

3.運(yùn)行和維護(hù)程序

用戶在使用應(yīng)用程序的過程中會(huì)對(duì)應(yīng)用程序提出一些建議和要求,根據(jù)用戶的建議和要求對(duì)數(shù)據(jù)庫應(yīng)用程序進(jìn)行適當(dāng)?shù)男薷暮屯晟?,從而提高程序的性能?/span>

0.4 SQL結(jié)構(gòu)化查詢語言基礎(chǔ)

0.4.1 SQL語言的發(fā)展

目前SQL語言被廣泛地使用,它具有強(qiáng)大的生命力,它使用所有數(shù)據(jù)庫用戶包括程序員、DBA管理員和終端用戶都受益非淺。

SQL語言具有以下優(yōu)點(diǎn):

(1)SQL語言是所有關(guān)系數(shù)據(jù)庫的公共語言。

(2)SQL是非過程化查詢語言。

有兩種方式使用SQL語言:一種是在終端交互方式下使用,稱為交互式SQL語言;另一種是嵌入在高級(jí)語言編寫的程序中使用,稱為嵌入式SQL語言 。

0.4.2 SQL的基本查詢功能

SELECT語句是使用最多的SQL語句,它完成的是數(shù)據(jù)庫的查詢功能,SQL SELECT語句,從數(shù)據(jù)表中選擇出符合條件的記錄。

Distinct語句的作用是對(duì)某個(gè)表所選擇的字段數(shù)據(jù),忽略重復(fù)的情況,也就是說,針對(duì)某個(gè)字段查詢出來的記錄結(jié)果是惟一的。

1.TOP和ORDER BY語句

TOP語句實(shí)現(xiàn)從第一條或最后一條開始(利用ORDER BY條件子句),返回特定記錄的數(shù)據(jù)的功能。如果沒有加上ORDER BY條件的話,所得到的數(shù)據(jù),將會(huì)是隨機(jī)的數(shù)據(jù)。此外,在TOP語句之后,除了可以加上數(shù)字以外,還可以利用保留字PERCENT來查詢。排序參數(shù):ASC遞增順序排列,默認(rèn)值。DESC遞減順序控制。

2.IN條件字句

指定要查詢哪一個(gè)外部數(shù)據(jù)庫的表。

3.HAVING條件子句

指定一特定的分組記錄,并滿足HAVING所指定的條件或狀態(tài),但條件是針對(duì)分組的條件設(shè)置。

4.GROUP BY條件子句

依據(jù)指定的字段,將具有相同數(shù)值的記錄合并成一條。

5.BETWEED…AND運(yùn)算符

決定某一數(shù)值是否介于特定的范圍之內(nèi)。

6.LIKE操作數(shù)

將一字符串與另一特定字符串樣式比較,并將符合該字符串樣式的記錄過濾出來。

0.4.3 SQL的其他應(yīng)用

1.SQL數(shù)字函數(shù)

(1) AVG:算數(shù)平均數(shù)。

(2) COUNT:計(jì)算記錄條數(shù)。

(3) FIRST與LAST:返回某字段的第一條數(shù)據(jù)與最后一條數(shù)據(jù)。

(4) MAX與MIN:返回某字段最大值與最小值。

(5) SUM:返回某特定字段或是運(yùn)算的總和數(shù)值。

2.SQL查詢的嵌套

嵌套的SQL查詢含義在于:在一個(gè)SQL語句中可以包含另一個(gè)SQL查詢語句,形成內(nèi)部嵌套的查詢類型,SELECT語句構(gòu)成的多層SQL查詢,必須用()將該語句括起來 。

3.SQL與數(shù)據(jù)庫的維護(hù)

(1) 表的建立CREATE TABLE語句:我們可以利用這個(gè)命令,來建立一個(gè)全新的表,但前提則是數(shù)據(jù)庫必須已經(jīng)存在。

(2) 表索引的建立CREATE INDEX語句:這個(gè)命令主要是對(duì)一個(gè)已經(jīng)存在的表建立索引 。

(3) 表的刪除DELETE語句:我們可以利用DELETE語句,將表中的記錄刪除。

(4) SELECT…INTO語句:可以通過這個(gè)命令,利用已經(jīng)存在的表查詢,來建立一個(gè)新表。

(5) INNER JOIN 操作數(shù):當(dāng)某一個(gè)共同的字段數(shù)據(jù)相等時(shí),將兩個(gè)表的記錄加以組合。

(6) UNION操作數(shù):可以通過UNION操作數(shù)來建立連接的查詢條件,UNION操作數(shù)可以將兩個(gè)以上的表或是查詢的結(jié)果組合起來。

(7) ALTER語句:在一個(gè)表建立后,利用ALTER語句,可以去修改表的字段設(shè)計(jì)。

(8) DROP語句:針對(duì)所指定的表或字段加以刪除,或是把索引刪除。

(9) INSERT INTO語句:新建一條數(shù)據(jù)到表當(dāng)中。

(10) UPDATE語句:建立一個(gè)UPDATE的查詢,通過條件的限制來修改特定的數(shù)據(jù)。

本文來源于<Delphi 程序設(shè)計(jì)教程>(第3版)作者:楊長(zhǎng)春

版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請(qǐng)發(fā)送郵件至 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。

(0)
上一篇 2023年3月17日 上午10:59
下一篇 2023年3月17日 上午11:15

相關(guān)推薦