0.數據庫系統(tǒng)開發(fā)基礎
數據庫系統(tǒng)主要由三大部分組成:
(1)數據庫(按一定結構組織在一起的相關數據的集合)。
(2)數據庫管理系統(tǒng)(DBMS:它是專門負責組織和管理數據信息的程序)。
(3)數據庫應用程序(它使用戶能夠獲取、顯示和更新DBMS存儲的數據)。
0.1數據庫的基本概念
1.數據庫(DataBase) 數據庫簡單的定義是:有蘊含著一定的意義的數據,一些按照一定的規(guī)律組織起來所組成的數據集合。在數據庫中除了用一些作為外部信息的數據之外,還有一些內部信息數據。這些數據定義了數據庫的用戶及其相應的權限,數據庫表單的定義等等,通常把存放這些數據的地方叫做數據字典。數據字典是有數據庫系統(tǒng)自行創(chuàng)建并自動維護的,它實際上也是數據庫的一組表和視圖,與其他的表單和試圖并沒有物理結構上的區(qū)別,唯一不同的是它的內容。
2.關系數據庫(Relational DataBase) 關系數據庫是由若干個表組成的,每一張二維表對應著一種聯(lián)系。表的每一行稱為記錄;表的每一列叫做字段;域就是屬性的取值范圍。對于 DBASE、FoxPro、Paradox 這三種數據庫系統(tǒng),數據庫對應于某一個子目錄,而其他類型如 MS Access、BTrieve 則是指某個文件。
表(Table):一個表就是一組相關的數據按行排列,像一張表一樣。
字段(Field):在表中,每一列稱為一個字段。每一個字段都用相應的描述信息,如數據類型、數據域等。
記錄(Record):在表中,每一行稱為一條記錄。
索引(Index):為了加快訪問數據庫的速度、許多數據庫都使用索引。
主鍵(Primary Key,PK):主鍵是對于這張表的惟一標識,即一個列或幾個列的組合。主鍵最顯著的特點就是在任何給定的條件,沒有兩個主鍵包含相同的值,這個稱作主鍵的惟一性原則。同時主鍵中每一個屬性都不能被去掉,而同時仍能夠保持主鍵的惟一性,這個我們稱作主鍵的最小性原則。
關系型數據庫系統(tǒng)具有很多優(yōu)點:
(1)關系數據庫有深厚的理論基礎,它是基于關系代數和關系理論的模型。
(2)以二維表的形式表示數據。
(3)不需要用戶了解它在計算機中的物理存儲形式。
(4)用系統(tǒng)表來提供其本身的內容和結構。
(5)可以通過SQL語言來操縱。SQL語言是專門用于操作這種模型的語言。
3.數據庫管理系統(tǒng)(DBMS)
數據庫管理系統(tǒng)是一個用來管理數據庫的軟件,是數據庫能夠正常工作的核心。對數據庫的所有操作,包括創(chuàng)建各種數據庫的數據類型、表單、視圖、存儲過程,以及其他的數據庫應用程序對于數據庫中數據的讀取和修改,都是經由數據庫管理系統(tǒng)完成的。當數據庫應用程序把對于數據庫數據的操作指令通過數據庫管理系統(tǒng)的接口函數發(fā)送給數據庫管理系統(tǒng)后的一切工作都只是數據庫管理系統(tǒng)的的了,數據庫應用程序所要做的就只是等候數據庫管理系統(tǒng)把它所需要的數據給它,然后進行加工處理。
4.數據庫應用程序
數據庫應用程序是通過DBMS訪問數據庫中的數據并向用戶提供數據服務的程序。簡單地說,它們是允許用戶插入、刪除和修改并報告數據庫中數據的程序。這種程序是由程序員使用通用或者專用的程序設計軟件開發(fā)的。
0.2 數據庫設計
1.數據庫的建立
創(chuàng)建一個數據庫的過程有以下幾個步驟:
(1) 確定數據庫的使用范圍。
(2) 確定支持數據庫所需要的字段。
(3) 將字段劃分成一些合理的數據表。 (4) 確定數據表之間的關聯(lián)。
在確定數據庫的需求后,要將這些需求劃分成幾個合理的數據表。 所謂合理的數據表,通常要滿足以下幾點:
- 數據表中的字段所描述的內容有一定的聯(lián)系。
- 數據表中至少有一個字段的記錄不是重復的。
- 一個數據表與數據庫其他的數據表中至少一個能夠關聯(lián)。
- 一個數據表與數據庫其他的同一數據表不要有多對多的關聯(lián)。
2.數據表的結構
在數據表結構中需要一個關鍵字段,數據表中的數據就是按主關鍵字段的順序存放的,而且利用主關鍵字能夠高效地與其他數據表建立關聯(lián)。索引也是數據表常用的,在數據庫中,利用索引可以加快訪問速度。
0.3 數據庫應用程序的開發(fā)
1.初步設計
設計階段要根據用戶的需求,定義數據庫和應用程序的功能,確定用戶的需求功能哪些在設計階段實現,哪些在程序中實現。
2.功能實現
將客戶需求功能分成幾個合理的功能塊,分別進行程序設計、調試。
常見的劃分方法上分成四個功能塊:
(1)信息處理
(2)數據庫管理
(3)系統(tǒng)維護
(4)輔助功能
信息處理是建立數據庫應用程序的目的。設計數據庫應用程序的目的是為客戶提供所需要的信息服務,輔助管理工作,提高工作效率和水平。信息處理最基本的功能包括各類信息查詢,統(tǒng)計報表等功能,對于特定的應用程序還可以有特定的功能。數據庫管理的主要功能是負責數據庫的更新、修改等。一個特定的數據庫管理操作要由它的用戶的權限決定,這個權限要由有權的用戶指定。系統(tǒng)維護的功能是保證數據庫應用程序運行的可靠性和安全性,一般包括用戶管理,口令設置,各類系統(tǒng)變量和數據字典維護等。
3.運行和維護程序
用戶在使用應用程序的過程中會對應用程序提出一些建議和要求,根據用戶的建議和要求對數據庫應用程序進行適當的修改和完善,從而提高程序的性能。
0.4 SQL結構化查詢語言基礎
0.4.1 SQL語言的發(fā)展
目前SQL語言被廣泛地使用,它具有強大的生命力,它使用所有數據庫用戶包括程序員、DBA管理員和終端用戶都受益非淺。
SQL語言具有以下優(yōu)點:
(1)SQL語言是所有關系數據庫的公共語言。
(2)SQL是非過程化查詢語言。
有兩種方式使用SQL語言:一種是在終端交互方式下使用,稱為交互式SQL語言;另一種是嵌入在高級語言編寫的程序中使用,稱為嵌入式SQL語言 。
0.4.2 SQL的基本查詢功能
SELECT語句是使用最多的SQL語句,它完成的是數據庫的查詢功能,SQL SELECT語句,從數據表中選擇出符合條件的記錄。
Distinct語句的作用是對某個表所選擇的字段數據,忽略重復的情況,也就是說,針對某個字段查詢出來的記錄結果是惟一的。
1.TOP和ORDER BY語句
TOP語句實現從第一條或最后一條開始(利用ORDER BY條件子句),返回特定記錄的數據的功能。如果沒有加上ORDER BY條件的話,所得到的數據,將會是隨機的數據。此外,在TOP語句之后,除了可以加上數字以外,還可以利用保留字PERCENT來查詢。排序參數:ASC遞增順序排列,默認值。DESC遞減順序控制。
2.IN條件字句
指定要查詢哪一個外部數據庫的表。
3.HAVING條件子句
指定一特定的分組記錄,并滿足HAVING所指定的條件或狀態(tài),但條件是針對分組的條件設置。
4.GROUP BY條件子句
依據指定的字段,將具有相同數值的記錄合并成一條。
5.BETWEED…AND運算符
決定某一數值是否介于特定的范圍之內。
6.LIKE操作數
將一字符串與另一特定字符串樣式比較,并將符合該字符串樣式的記錄過濾出來。
0.4.3 SQL的其他應用
1.SQL數字函數
(1) AVG:算數平均數。
(2) COUNT:計算記錄條數。
(3) FIRST與LAST:返回某字段的第一條數據與最后一條數據。
(4) MAX與MIN:返回某字段最大值與最小值。
(5) SUM:返回某特定字段或是運算的總和數值。
2.SQL查詢的嵌套
嵌套的SQL查詢含義在于:在一個SQL語句中可以包含另一個SQL查詢語句,形成內部嵌套的查詢類型,SELECT語句構成的多層SQL查詢,必須用()將該語句括起來 。
3.SQL與數據庫的維護
(1) 表的建立CREATE TABLE語句:我們可以利用這個命令,來建立一個全新的表,但前提則是數據庫必須已經存在。
(2) 表索引的建立CREATE INDEX語句:這個命令主要是對一個已經存在的表建立索引 。
(3) 表的刪除DELETE語句:我們可以利用DELETE語句,將表中的記錄刪除。
(4) SELECT…INTO語句:可以通過這個命令,利用已經存在的表查詢,來建立一個新表。
(5) INNER JOIN 操作數:當某一個共同的字段數據相等時,將兩個表的記錄加以組合。
(6) UNION操作數:可以通過UNION操作數來建立連接的查詢條件,UNION操作數可以將兩個以上的表或是查詢的結果組合起來。
(7) ALTER語句:在一個表建立后,利用ALTER語句,可以去修改表的字段設計。
(8) DROP語句:針對所指定的表或字段加以刪除,或是把索引刪除。
(9) INSERT INTO語句:新建一條數據到表當中。
(10) UPDATE語句:建立一個UPDATE的查詢,通過條件的限制來修改特定的數據。
本文來源于<Delphi 程序設計教程>(第3版)作者:楊長春
版權聲明:本文內容由互聯(lián)網用戶自發(fā)貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發(fā)現本站有涉嫌抄襲侵權/違法違規(guī)的內容, 請發(fā)送郵件至 舉報,一經查實,本站將立刻刪除。