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