基本概念
數(shù)據(jù)(data):描述事物的符號記錄稱為數(shù)據(jù)。
數(shù)據(jù)庫(DataBase,DB):是長期存儲在計算機內、有組織的、可共享的大量數(shù)據(jù)的集合,具有永久存儲、有組織、可共享三個基本特點。
數(shù)據(jù)庫管理系統(tǒng)(DataBase Management System,DBMS):是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件。
數(shù)據(jù)庫系統(tǒng)(DataBase System,DBS):是有數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)(及其應用開發(fā)工具)、應用程序和數(shù)據(jù)庫管理員(DataBase Administrator DBA)組成的存儲、管理、處理和維護數(shù)據(jù)的系統(tǒng)。
實體(entity):客觀存在并可相互區(qū)別的事物稱為實體。
屬性(attribute):實體所具有的某一特性稱為屬性。
碼(key):唯一標識實體的屬性集稱為碼。
實體型(entity type):用實體名及其屬性名集合來抽象和刻畫同類實體,稱為實體型。
實體集(entity set):同一實體型的集合稱為實體集。
聯(lián)系(relationship):實體之間的聯(lián)系通常是指不同實體集之間的聯(lián)系。
模式(schema):模式也稱邏輯模式,是數(shù)據(jù)庫全體數(shù)據(jù)的邏輯結構和特征的描述,是所有用戶的公共數(shù)據(jù)視圖。
外模式(external schema):外模式也稱子模式(subschema)或用戶模式,它是數(shù)據(jù)庫用戶(包括應用程序員和最終用戶)能夠看見和使用的局部數(shù)據(jù)的邏輯結構和特征的描述,是數(shù)據(jù)庫用戶的數(shù)據(jù)視圖,是與某一應用有關的數(shù)據(jù)的邏輯表示。
內模式(internal schema):內模式也稱為存儲模式(storage schema),一個數(shù)據(jù)庫只有一個內模式。他是數(shù)據(jù)物理結構和存儲方式的描述,是數(shù)據(jù)庫在數(shù)據(jù)庫內部的組織方式。
常用數(shù)據(jù)模型
層次模型(hierarchical model)
網(wǎng)狀模型(network model)
關系模型(relational model)
(1)關系(relation):一個關系對應通常說的一張表
(2)元組(tuple):表中的一行即為一個元組
(3)屬性(attribute):表中的一列即為一個屬性
(4)碼(key):表中可以唯一確定一個元組的某個屬性組
(5)域(domain):一組具有相同數(shù)據(jù)類型的值的集合
(6)分量:元組中的一個屬性值
(7)關系模式:對關系的描述,一般表示為 關系名(屬性1, 屬性2, 。.., 屬性n)
面向對象數(shù)據(jù)模型(object oriented data model)
對象關系數(shù)據(jù)模型(object relational data model)
半結構化數(shù)據(jù)模型(semistructure data model)
關系型數(shù)據(jù)庫
基本關系操作:查詢(選擇、投影、連接(等值連接、自然連接、外連接(左外連接、右外連接))、除、并、差、交、笛卡爾積等)、插入、刪除、修改
關系模型中的三類完整性約束:實體完整性、參照完整性、用戶定義的完整性
數(shù)據(jù)庫索引:順序索引、B+ 樹索引、hash 索引
數(shù)據(jù)庫完整性
數(shù)據(jù)庫的完整性是指數(shù)據(jù)的正確性和相容性。
完整性:為了防止數(shù)據(jù)庫中存在不符合語義(不正確)的數(shù)據(jù)。
安全性:為了保護數(shù)據(jù)庫防止惡意破壞和非法存取。
觸發(fā)器:是用戶定義在關系表中的一類由事件驅動的特殊過程。
關系數(shù)據(jù)理論
數(shù)據(jù)依賴是一個關系內部屬性與屬性之間的一種約束關系,是通過屬性間值的相等與否體現(xiàn)出來的數(shù)據(jù)間相關聯(lián)系。
最重要的數(shù)據(jù)依賴:函數(shù)依賴、多值依賴。
范式
第一范式(1NF):屬性(字段)是最小單位不可再分。
第二范式(2NF):滿足 1NF,每個非主屬性完全依賴于主鍵(消除 1NF 非主屬性對碼的部分函數(shù)依賴)。
第三范式(3NF):滿足 2NF,任何非主屬性不依賴于其他非主屬性(消除 2NF 非主屬性對碼的傳遞函數(shù)依賴)。
鮑依斯-科得范式(BCNF):滿足 3NF,任何非主屬性不能對主鍵子集依賴(消除 3NF 主屬性對碼的部分和傳遞函數(shù)依賴)。
第四范式(4NF):滿足 3NF,屬性之間不能有非平凡且非函數(shù)依賴的多值依賴(消除 3NF 非平凡且非函數(shù)依賴的多值依賴)。
數(shù)據(jù)庫恢復
事務:是用戶定義的一個數(shù)據(jù)庫操作序列,這些操作要么全做,要么全不做,是一個不可分割的工作單位。
事物的 ACID 特性:原子性、一致性、隔離性、持續(xù)性。
恢復的實現(xiàn)技術:建立冗余數(shù)據(jù) -》 利用冗余數(shù)據(jù)實施數(shù)據(jù)庫恢復。
建立冗余數(shù)據(jù)常用技術:數(shù)據(jù)轉儲(動態(tài)海量轉儲、動態(tài)增量轉儲、靜態(tài)海量轉儲、靜態(tài)增量轉儲)、登記日志文件。
并發(fā)控制
事務是并發(fā)控制的基本單位。
并發(fā)操作帶來的數(shù)據(jù)不一致性包括:丟失修改、不可重復讀、讀 “臟” 數(shù)據(jù)。
并發(fā)控制主要技術:封鎖、時間戳、樂觀控制法、多版本并發(fā)控制等。
基本封鎖類型:排他鎖(X 鎖 / 寫鎖)、共享鎖(S 鎖 / 讀鎖)。
活鎖死鎖:
(1)活鎖:事務永遠處于等待狀態(tài),可通過先來先服務的策略避免。
(2)死鎖:事務永遠不能結束
a、預防:一次封鎖法、順序封鎖法;
b、診斷:超時法、等待圖法;
解除:撤銷處理死鎖代價最小的事務,并釋放此事務的所有的鎖,使其他事務得以繼續(xù)運行下去。
可串行化調度:多個事務的并發(fā)執(zhí)行是正確的,當且僅當其結果與按某一次序串行地執(zhí)行這些事務時的結果相同??纱行詴r并發(fā)事務正確調度的準則。
責任編輯:haq
-
數(shù)據(jù)庫
+關注
關注
7文章
3842瀏覽量
64547 -
C++
+關注
關注
22文章
2113瀏覽量
73747
原文標題:C++基礎語法梳理:數(shù)據(jù)庫!帶你深入淺出了解數(shù)據(jù)庫
文章出處:【微信號:cyuyanxuexi,微信公眾號:C語言編程學習基地】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論