數據庫的發展歷程:數據庫
- 網狀型數據庫
- 層次型數據庫
- 關係數據庫
- 面向對象數據庫
關係數據庫是最成熟、使用最普遍的數據庫。編程
面向對象數據庫是由面向對象的編程語言催生的新型數據庫,更加適合面向對象編程,但誕生時間較短,技術尚不成熟,還未大規模地應用於開發。安全
關係數據庫分爲2類:服務器
- 桌面數據庫:適用於小型的、單機的程序,不須要網絡和服務器,實現起來比較方便,但只提供數據存取的功能。常見的有Access。
- 客戶/服務器數據庫:適用於大型的、多用戶的數據庫管理系統,客戶端向用戶顯示信息及實現與用戶的交互;服務器實現對數據庫的操做和對數據的計算處理。服務器端通常包含DBMS(數據庫管理系統),負責數據的存儲、安全、一致性、併發、恢復、訪問等操做。常見的有Oracle、MySQL、SQL Server。
SQL,全稱Structured Query Language,結構化查詢語言。網絡
SQL是操做關係數據庫的標準語言,是全部關係數據庫通用的。併發
SQL只是制定的一個標準,由具體的關係數據庫廠商來實現,因此某些關係數據庫可能不支持SQL中的少數語句。編程語言
各關係數據數據庫在SQL基礎上進行一些擴展,增長一些額外的功能,這些額外的功能是該種關係數據庫特有的,只能對該種數據庫使用。函數
若是想讓程序跨關係數據庫,儘可能使用SQL,不要使用某種關係數據庫特定的功能/語句。性能
數據表是存儲數據的邏輯單元。對象
數據表中,一行稱爲一條記錄,一列稱爲一個字段。
主鍵:惟一標識此條記錄。
SQL語句大體可分爲:
- 查詢語句:select
- DML(Data Manipulation Language,數據操做)語句:操做記錄,包括insert、update、delete。
- DDL(Data Definition Language,數據定義)語句:操做數據庫對象(通常是表、約束、索引、視圖),包括create、alter、drop、truncate。
- DCL(Data Control Language,數據控制)語句:操做數據庫用戶權限,包括grant、revoke。
- 事務控制語句:包括commit、rollback、savepoint。
SQL語句不區分大小寫。
數據庫對象:
- 表table
- 數據字典:即系統表,一張特殊的表,存儲數據庫的相關信息,通常由DBMS維護。
- 約束constraint:執行數據校驗,保證數據完整性
- 視圖view:表中數據的邏輯顯示,視圖自己並不存儲數據
- 索引index:至關於書的目錄,用於提升查詢性能
- 函數function:完成一次特定的計算
- 存儲過程procedure:用於完成一次完整的業務處理
- 觸發器trigger:至關於一個事件監聽器,當數據庫發生特定事件後,觸發器被觸發,完成相應處理
函數、存儲過程、觸發器屬於數據庫編程的內容,須要大量使用數據庫特性。
數據庫標識符:
- 用於定義表名、列名、變量名等
- 可包含字母、數字、三個特殊字符(#_$),必須以字母開頭
- 不能使用當前數據庫系統的關鍵字、保留字
一般使用多個單詞鏈接而成,單詞之間用下劃線鏈接。