本節部分知識點來自《資料庫系統概論(第 5 版)》
資料(data):描述事物的符号記錄稱為資料。
資料庫(database,db):是長期存儲在計算機内、有組織的、可共享的大量資料的集合,具有永久存儲、有組織、可共享三個基本特點。
資料庫管理系統(database management system,dbms):是位于使用者與作業系統之間的一層資料管理軟體。
資料庫系統(database system,dbs):是有資料庫、資料庫管理系統(及其應用開發工具)、應用程式和資料庫管理者(database administrator dba)組成的存儲、管理、處理和維護資料的系統。
實體(entity):客觀存在并可互相差別的事物稱為實體。
屬性(attribute):實體所具有的某一特性稱為屬性。
碼(key):唯一辨別實體的屬性集稱為碼。
實體型(entity type):用實體名及其屬性名集合來抽象和刻畫同類實體,稱為實體型。
實體集(entity set):同一實體型的集合稱為實體集。
聯系(relationship):實體之間的聯系通常是指不同實體集之間的聯系。
模式(schema):模式也稱邏輯模式,是資料庫全體資料的邏輯結構和特征的描述,是所有使用者的公共資料視圖。
外模式(external schema):外模式也稱子模式(subschema)或使用者模式,它是資料庫使用者(包括應用程式員和最終使用者)能夠看見和使用的局部資料的邏輯結構和特征的描述,是資料庫使用者的資料視圖,是與某一應用有關的資料的邏輯表示。
内模式(internal schema):内模式也稱為存儲模式(storage schema),一個資料庫隻有一個内模式。他是資料實體結構和存儲方式的描述,是資料庫在資料庫内部的組織方式。
層次模型(hierarchical model)
網狀模型(network model)
關系模型(relational model)
關系(relation):一個關系對應通常說的一張表
元組(tuple):表中的一行即為一個元組
屬性(attribute):表中的一列即為一個屬性
碼(key):表中可以唯一确定一個元組的某個屬性組
域(domain):一組具有相同資料類型的值的集合
分量:元組中的一個屬性值
關系模式:對關系的描述,一般表示為 <code>關系名(屬性1, 屬性2, ..., 屬性n)</code>
面向對象資料模型(object oriented data model)
對象關系資料模型(object relational data model)
半結構化資料模型(semistructure data model)
對象類型
對象
操作類型
資料庫模式
模式
<code>create schema</code>
基本表
<code>create schema</code>,<code>alter table</code>
視圖
<code>create view</code>
索引
<code>create index</code>
資料
基本表和視圖
<code>select</code>,<code>insert</code>,<code>update</code>,<code>delete</code>,<code>references</code>,<code>all privileges</code>
屬性列
<code>select</code>,<code>insert</code>,<code>update</code>,<code>references</code>,<code>all privileges</code>
sql 文法教程:runoob . sql 教程
基本關系操作:查詢(選擇、投影、連接配接(等值連接配接、自然連接配接、外連接配接(左外連接配接、右外連接配接))、除、并、差、交、笛卡爾積等)、插入、删除、修改
關系模型中的三類完整性限制:實體完整性、參照完整性、使用者定義的完整性
資料庫索引:順序索引、b+ 樹索引、hash 索引
mysql 索引背後的資料結構及算法原理
資料庫的完整性是指資料的正确性和相容性。
完整性:為了防止資料庫中存在不符合語義(不正确)的資料。
安全性:為了保護資料庫防止惡意破壞和非法存取。
觸發器:是使用者定義在關系表中的一類由事件驅動的特殊過程。
資料依賴是一個關系内部屬性與屬性之間的一種限制關系,是通過屬性間值的相等與否展現出來的資料間相關聯系。
最重要的資料依賴:函數依賴、多值依賴。
第一範式(1nf):屬性(字段)是最小機關不可再分。
第二範式(2nf):滿足 1nf,每個非主屬性完全依賴于主鍵(消除 1nf 非主屬性對碼的部分函數依賴)。
第三範式(3nf):滿足 2nf,任何非主屬性不依賴于其他非主屬性(消除 2nf 非主屬性對碼的傳遞函數依賴)。
鮑依斯-科得範式(bcnf):滿足 3nf,任何非主屬性不能對主鍵子集依賴(消除 3nf 主屬性對碼的部分和傳遞函數依賴)。
第四範式(4nf):滿足 3nf,屬性之間不能有非平凡且非函數依賴的多值依賴(消除 3nf 非平凡且非函數依賴的多值依賴)。
事務:是使用者定義的一個資料庫操作序列,這些操作要麼全做,要麼全不做,是一個不可分割的工作機關。
事物的 acid 特性:原子性、一緻性、隔離性、持續性。
恢複的實作技術:建立備援資料 -> 利用備援資料實施資料庫恢複。
建立備援資料常用技術:資料轉儲(動态海量轉儲、動态增量轉儲、靜态海量轉儲、靜态增量轉儲)、登記日志檔案。
事務是并發控制的基本機關。
并發操作帶來的資料不一緻性包括:丢失修改、不可重複讀、讀 “髒” 資料。
并發控制主要技術:封鎖、時間戳、樂觀控制法、多版本并發控制等。
基本封鎖類型:排他鎖(x 鎖 / 寫鎖)、共享鎖(s 鎖 / 讀鎖)。
活鎖死鎖:
活鎖:事務永遠處于等待狀态,可通過先來先服務的政策避免。
死鎖:事物永遠不能結束
預防:一次封鎖法、順序封鎖法;
診斷:逾時法、等待圖法;
解除:撤銷處理死鎖代價最小的事務,并釋放此事務的所有的鎖,使其他事務得以繼續運作下去。
可串行化排程:多個事務的并發執行是正确的,當且僅當其結果與按某一次序串行地執行這些事務時的結果相同。可串行性時并發事務正确排程的準則。