數據庫系統概述
數據庫系統為我們提供了一種把與我們的工作和生活緊密相關的信息集合在一起的方法它還提供了在某個集中的地方存儲和維護這些信息的方法數據庫系統主要由三大部分組成數據庫管理系統(DBMS:它是專門負責組織和管理數據信息的程序)數據庫應用程序(它使我們能夠獲取顯示和更新由DBMS存儲的數據)數據庫(按一定結構組織在一起的相關數據的集合)
一般來說DBMS和數據庫應用程序都駐留在同一台計算機上並在同一台計算機上運行很多情況下兩者甚至結合在同一個程序中以前使用的大多數數據庫系統都是用這種方法設計的但是隨著DBMS技術的發展目前的數據庫系統正向客戶/服務器模式發展客戶/服務器數據庫將DBMS和數據庫應用程序分開從而提高了數據庫系統的處理能力數據庫應用程序運行在一個或多個用戶工作站(客戶機)上並且通過網絡與運行在其它計算機上(服務器)的一個或多個DBMS進行通信
下面是數據庫系統中一些概念和述語
數據庫管理系統(DBMS)
數據庫管理系統(DBMS)是用於描述管理和維護數據庫的程序系統是數據庫系統的核心組成部分它建立在操作系統的基礎上對數據庫進行統一的管理和控制其主要功能有
描述數據庫描述數據庫的邏輯結構存儲結構語義信息和保密要求等
管理數據庫控制整個數據庫系統的運行控制用戶的並發性訪問檢驗數據的安全保密與完整性執行數據檢索插入刪除修改等操作
維護數據庫控制數據庫初始數據的裝入記錄工作日志監視數據庫性能修改更新數據庫重新組織數據庫恢復出現故障的數據庫
數據通信 :組織數據的傳輸
DBMS主要有四種類型文件管理系統層次數據庫系統網狀數據庫系統和關系數據庫系統因為目前關系數據庫系統應用最為廣泛所以我們重點對關系數據庫系統中的幾個概念進行介紹
關系數據庫(Relational Database)一個關系數據庫是由若干表組成在Delphi中數據庫概念對應到物理文件上是有一些不同的對於dBASEFoxProParadox這三種數據庫系統數據庫對應於某一個子目錄而其它類型如MS AccessBtrieve則是指某個文件這是因為前者的表為單獨的文件而後者的表是聚集在一個數據庫文件中的
表(Table)一個表就是一組相關的數據按行排列象一張表格一樣比如一個班所有學生的期末考試成績存在一個表中每一行對應一名學生在這一行中包括學生的學號姓名以及各門課程的成績
字段(Field)在表中每一列稱為一個字段每一個字段都有相應的描述信息如數據類型數據寬度等
記錄(Record)在表中每一行稱為一條記錄
索引(Index)為了加快訪問數據庫的速度許多數據庫都使用索引
數據庫應用程序
DBMS中存儲了大量的數據信息其目的是為用戶提供數據信息服務而數據庫應用程序正是與DBMS進行通信並訪問DBMS中的數據它是DBMS實現其對外提供數據信息服務這一目的的唯一途徑簡單地說數據庫應用程序是一個允許用戶插入修改刪除並報告數據庫中的數據的計算機程序數據庫應用程序在傳統上是由程序員用一種或多種通用或專用的程序設計語言編寫的但是近年來出現了多種面向用戶的數據庫應用程序開發工具這些工具可以簡化使用DBMS的過程並且不需要專門編程Delphi就是一種強有力的數據庫應用程序開發工具
用來生成數據庫應用程序的語言主要分為三大類型
過程化語言
標准的計算機程序設計語言如PascalBasic和C都是過程化語言這些語言可以通過某種應用程序接口(API)來創建數據庫應用程序這種API由一組標准的函數(或調用)組成這些函數和調用則擴展了語言的功能使之能訪問數據庫中的數據當程序設計人員用過程化語言創建數據庫應用時必須把應用的代碼編寫成一系列的過程每個過程執行應用的某一部分的工作如一個過程查詢數據庫而另一過程更新數據庫中的數據然後不同的過程通過其他的用戶界面過程(例如菜單系統)聯系在一起並且在應用中的適當地方運行
上述這些過程化語言一般用來創建非數據庫應用程序它們通常被稱為第三代語言(GL)還有一些過程化程序設計語言是某種特定的DBMS專用的這些語言一般被稱為第四代語言(GL)即數據庫專用語言常見的數據庫專用的過程化語言如dBASE語言Paradox數據庫的PAL語言等等
結構化查詢語言(SQL)
結構化查詢語言(Structure Query Language)是基於關系模型的數據庫查詢語言它是一種非過程化的程序語言也就是說沒有必要寫出將如何做某事情只需寫出做到什麼就可以了寫出的語句可看作是一個問題稱為查詢(Query)針對這個查詢得到所需的查詢結果下面是一個例子
Select NameTotal from Class where Total>
這個查詢意為從數據庫表Class中將總分(Total)大於的所有人選出來並列出他們的姓名(Name)和總分(Total)
把SQL描述為子語言更適當一些因為它沒有任何屏幕處理或用戶輸入/輸出的能力它的主要目的是為了提供訪問數據庫的標准方法而不管數據庫應用的其余部分是用什麼語言編寫的它既是為數據庫的交互式查詢而設計的(因此被稱為動態SQL)同時也可在過程化語言編寫的數據庫應用程序中使用(因此被稱為嵌入式SQL)
[] [] [] []
From:http://tw.wingwit.com/Article/program/Delphi/201311/25182.html