关系数据库——基础
數(shù)據(jù)庫系統(tǒng)概論
四個基本概念
數(shù)據(jù):數(shù)據(jù)庫中存儲的基本對象,描述一個事物的符號記錄,數(shù)據(jù)和其語義不可分開說
數(shù)據(jù)庫(DB):是長期儲存在計算機內(nèi)、有組織的、可共享的大量數(shù)據(jù)的集合。
數(shù)據(jù)庫管理系統(tǒng):一個管理數(shù)據(jù)的軟件
主要功能:
數(shù)據(jù)定義功能:
(1)提供數(shù)據(jù)定義語言(DDL):創(chuàng)建表(CREATE),修改表(ALTER),刪除表(DROP);
(2)定義數(shù)據(jù)庫中的數(shù)據(jù)對象
操縱功能:
提供數(shù)據(jù)操縱語言(DML,即增刪改查的操作),實現(xiàn)對數(shù)據(jù)庫的基本操作 (查詢、插入、刪除和修改)
事務管理和運行管理:
數(shù)據(jù)庫由DBMS統(tǒng)一管理和控制保證數(shù)據(jù)的安全,完整性、多用戶對數(shù)據(jù)的并發(fā)使用、發(fā)生故障后的系統(tǒng)恢復
建立和維護功能:(1)數(shù)據(jù)庫初始數(shù)據(jù)裝載轉換;(2)數(shù)據(jù)庫轉儲;(3)介質故障恢復;(4)數(shù)據(jù)庫的重組織;(5)性能監(jiān)視分析等
數(shù)據(jù)庫系統(tǒng):由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)應用程序和數(shù)據(jù)庫管理員(DBA)等組成的存儲、管理、處理和維護數(shù)據(jù)的系統(tǒng)。
數(shù)據(jù)模型
兩類數(shù)據(jù)模型
概念模型:第一次抽象,用于數(shù)據(jù)庫設計
邏輯模型和物理模型:第二次抽象
1)邏輯模型主要包括網(wǎng)狀模型、層次模型、關系模型、面向對象模型等,按計算機系統(tǒng)的觀點對數(shù)據(jù)建模,用于DBMS實現(xiàn)
2)物理模型是對數(shù)據(jù)最底層的抽象,描述數(shù)據(jù)在系統(tǒng)內(nèi)部的表示方式和存取方法,在磁盤或磁帶上的存儲方式和存取方法
數(shù)據(jù)模型的組成要素
數(shù)據(jù)結構
1)描述數(shù)據(jù)庫的組成對象,以及對象之間的聯(lián)系
2)描述與數(shù)據(jù)之間聯(lián)系有關的對象
3)是對系統(tǒng)靜態(tài)特性的描述
4)分類:(1)非關系型:網(wǎng)狀,層次;(2)關系型;(3)面向對象型
數(shù)據(jù)操作
1)對數(shù)據(jù)庫中各種對象(型)的實例(值)允許執(zhí)行的操作及有關的操作規(guī)則
2)增刪改查
3)是對系統(tǒng)動態(tài)特性的描述
數(shù)據(jù)的完整性約束條件
1)一組完整性規(guī)則的集合
2)完整性規(guī)則:給定的數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系所具有的制約和儲存規(guī)則
3)用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫狀態(tài)以及狀態(tài)的變化,以保證數(shù)據(jù)的正確、有效、相容
實體完整性:具體的數(shù)據(jù)的屬性信息是否完整
參照完整性:該屬性對應的值存在
用戶定義完整性:看心情
關系模型
基本概念:
1)關系(Relation):一個關系對應通常說的一張表
2)元組(Tuple):表中的一行即為一個元組
3)屬性(Attribute):表中的一列即為一個屬性,給每一個屬性起一個名稱即屬性名
4)碼(Key) :唯一確定一個元組的屬性或屬性組
5)域(Domain) :是一組具有相同數(shù)據(jù)類型的值的集合
6)分量:元組中的一個屬性值
7)關系模式:對關系的描述,一般表示為
? 關系名(屬性1,屬性2,……,屬性n)
學生(學號,姓名,年齡,性別,系,年級)
8)注意規(guī)范:不能出現(xiàn)大表套小表。
數(shù)據(jù)操作:增刪改查,對若干元組操作的集合
數(shù)據(jù)的完整性約束條件:
1)實體完整性
2)參照完整性
3)用戶定義完整性
數(shù)據(jù)庫系統(tǒng)結構
數(shù)據(jù)庫系統(tǒng)模式的概念
數(shù)據(jù)庫系統(tǒng)的三級模式結構
模式:數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結構和特征的描述,所有用戶的公共數(shù)據(jù)視圖,綜合了所有用戶的需求,一個數(shù)據(jù)庫只有一個模式,模式是相對穩(wěn)定的,但是實體是相對變動的
地位:1)是數(shù)據(jù)庫系統(tǒng)模式結構的中間層;2)與數(shù)據(jù)的物理存儲細節(jié)和硬件環(huán)境無關;3)與具體的應用程序、開發(fā)工具及高級程序設計語言無關
定義:1)數(shù)據(jù)的邏輯結構(數(shù)據(jù)項的名字、類型、取值范圍等);2)數(shù)據(jù)之間的聯(lián)系;3)數(shù)據(jù)有關的安全性、完整性要求
外模式:模式的子集,一個數(shù)據(jù)庫可以有多個,是數(shù)據(jù)庫中局部數(shù)據(jù)的邏輯結構和特征的描述
內(nèi)模式:1)是數(shù)據(jù)物理結構和存儲方式的描述;2)是數(shù)據(jù)在數(shù)據(jù)庫內(nèi)部的表示方式
一個數(shù)據(jù)庫只有一個內(nèi)模式。
數(shù)據(jù)庫的二級映像功能與數(shù)據(jù)的獨立性
外模式/模式映像:保證了數(shù)據(jù)的邏輯獨立性。不唯一
1)當模式改變時,數(shù)據(jù)庫管理員修改有關的外模式/模式映象,使外模式保持不變
2)應用程序是依據(jù)數(shù)據(jù)的外模式編寫的,從而應用程序不必修改,保證了數(shù)據(jù)與程序的邏輯獨立性,簡稱數(shù)據(jù)的邏輯獨立性。
模式/內(nèi)模式映像:保證了數(shù)據(jù)的物理獨立性。唯一
1)當數(shù)據(jù)庫的存儲結構改變了(例如選用了另一種存儲結構),數(shù)據(jù)庫管理員修改模式/內(nèi)模式映象,使模式保持不變,進而外模式也不發(fā)生改變
2)應用程序不受影響。保證了數(shù)據(jù)與程序的物理獨立性,簡稱數(shù)據(jù)的物理獨立性
數(shù)據(jù)的存取由DBMS管理的好處:
1)用戶不必考慮存取路徑等細節(jié)
2)簡化了應用程序的編制
3)大大減少了應用程序的維護和修改
?
數(shù)據(jù)庫系統(tǒng)的組成
硬件,操作系統(tǒng),數(shù)據(jù)庫設計人員,數(shù)據(jù)庫管理人員,數(shù)據(jù)庫管理系統(tǒng),用戶等等。
總結
- 上一篇: python基础小白题3
- 下一篇: leetcode180. 连续出现的数字