日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

数据库复习笔记(全覆盖,包括往年部分真题)(常用的数据网站汇总)

發布時間:2023/12/19 综合教程 36 生活家
生活随笔 收集整理的這篇文章主要介紹了 数据库复习笔记(全覆盖,包括往年部分真题)(常用的数据网站汇总) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

PS:大學開始寫博客,寫了三年了,雖然大二太忙了,專業知識學的潦草,也沒寫太多博客。大三開始寫專業課的復習筆記,沒想到這一篇博文瀏覽和點贊這么高,心里還是挺高興的。當時寫的時候也沒注意,加上好久沒寫了,結果用了富文本,本來一直用的Markdown,寫到一半才發現,所以這一篇的排本就很丑,如果大家看著不舒服可以留言,我可以修改一下格式,當然,好好學習,學習的知識才是最重要的!

## 1、數據庫系統概述

**1.1 數據庫的基本概念**
數據庫:
長期儲存在計算機內、有組織的、可共享的大量數據的集合。
*基本特征:*
數據按一定的數據模型組織、描述和儲存
可為各種用戶共享、冗余度較小、易擴展
數據獨立性較高
數據 :
描述事物的符號記錄
數據有結構的:記錄是計算機存儲數據的一種格式或一種方法
數據庫管理系統及其功能:
位于用戶應用與操作系統之間的一層數據管理軟件 ,是基礎軟件,是一個大型復雜的軟件系統
用途: 科學地組織和存儲數據、高效地獲取和維護數據
數據庫系統
是指在計算機系統中引入數據庫后的系統構成。
在不引起混淆的情況下常常把數據庫系統簡稱為數據庫。
元數據
用來描述數據的數據。
**1.2 數據管理技術的產生和發展,以及每個階段的特點**

## 2、數據模型

**2.1數據模型的基本概念**
是對現實世界數據特征的模擬和抽象,用來描述數據是如何組織、存儲和操作的。

**2.2數據模型的分類及每類常用的數據模型**
對應不同的應用層次分成三種類型:分別是概念模型,邏輯模型和物理模型;
概念模型:
信息世界的基本概念:
實體(Entity)
客觀存在并可相互區別的事物稱為實體。
可以是具體的人、事、物或抽象的概念。
屬性(Attribute)
實體所具有的某一特性稱為屬性。一個實體可以由若干個屬性來刻畫。
碼(Key)
唯一標識實體的屬性集稱為碼。
實體型(Entity Type)
用實體名及其屬性名集合來抽象和刻畫同類實體稱為實體型
實體集(Entity Set)
同一類型實體的集合稱為實體集
聯系(Relationship)
1.實體內部的聯系:組成實體的各屬性之間的聯系
2.實體之間的聯系: 通常是指不同實體集之間的聯系
實體之間的聯系有一對一(1:1)、一對多(1:n)和多對多(m:n)等多種類型

**2.3數據模型的組成要素**
數據模型是嚴格定義的一組概念的集合, 精確地描述了系統的靜態特性、動態特性和完整性約束條件。
數據模型由三部分組成:
數據結構–描述系統的靜態特性 數據結構的類型來命名數據模型
數據操作–描述系統的動態特性 對數據庫中各種對象的實例允許執行的操作的集合
完整性約束
一組完整性規則的集合
完整性規則:
給定的數據模型中數據及其聯系所具有的制約和依存規則。
用以限定符合數據模型的數據庫狀態以及狀態的變化,以保證數據的正確、有效和相容。
數據模型對完整性約束條件的定義
反映和規定必須遵守的基本的通用的完整性約束條件。
提供定義完整性約束條件的機制,以反映具體應用所涉及的數據必須遵守的特定的語義約束條件。
理解
完整性約束使用一些規則,規范數據的操作,來保證數據的正確、有效和相容。

ER圖

ER圖分為實體、屬性、關系三個核心部分。實體是長方形是實體,屬性是橢圓形,關系為菱形。

## 3、數據庫系統結構

**3.1數據庫模式和實例的概念以及區別**
*模式(Schema)*
是對數據庫邏輯結構和特征的描述
是型的描述,不涉及具體值
模式是相對穩定的
*實例(Instance)*
數據庫某一時刻的狀態——模式的一個具體值
同一個模式可能有很多實例
實力隨數據庫中數據的更新而變動
**3.2數據庫系統的三級模式結構**
*模式(Schema)*
模式(也稱概念模式):
數據庫中全體數據的邏輯結構和特征的描述
所有用戶的公共數據視圖
一般,某個應用的數據庫有一個模式
模式是數據庫系統模式結構的中心:
與數據的物理存儲細節和硬件環境無關
與具體的應用程序、開發工具及高級程序設計語言無關
定義模式:
DDL定義數據的邏輯結構,以某種數據模型為基礎
數據記錄由哪些數據項構成,數據項的名字、類型、取值范圍等
定義數據之間的聯系
定義與數據有關的安全性、完整性要求
*外模式 (External Schema)*
外模式(也稱子模式或用戶模式):
數據庫用戶使用的局部數據的邏輯結構和特征的描述
數據庫用戶的數據視窗,是與某一應用有關的數據的邏輯表示
外模式與模式的關系:
外模式通常是模式的自己、一個模式可以有多個外模式,反映了不同的用戶的應用需求、看待數據的方式、對數據保密的要求
對模式中某一數據,在不同的外模式種結構、類型、長度、保密級別等都可以不同
外模式與應用的關系:
一個外模式可以為多個應用系統所使用,一個應用程序只能使用一個外模式
外模式的用途:
每個用戶只能看見和訪問所對應的外模式中的數據,簡化用戶視圖
保證數據庫安全性的一個有力措施
*內模式 (Internal Schema)*
內模式(也稱為存儲模式):
是數據物理結構和存儲方式的描述
是數據再數據庫內部的表示方式
記錄的存儲方式(例如,順序存儲,堆存儲,Cluste按hash方法存儲等)
索引的組織方式(B+樹,Bitmap,Hash)
數據是否壓縮存儲
數據是否加密
數據存儲記錄結構的規定——如定長/變長,記錄是否可以跨頁存放等
一個數據庫只有一個內模式
三級模式是對于數據的三個抽象級別
數據庫管理系統內部提供二級映像
外模式/模式映像:
對每一個外模式,有一個外模式/模式映像 定義外模式與模式之間的對應關系 映像定義通常包含在各外模式的描述中
保證數據的邏輯獨立性
當模式改變時,數據庫管理員堆外模式/模式映像做相應改變,使外模式保持不變
應用程序是依據數據的外模式編寫的,應用程序不必修改,保證了數據與程序的邏輯獨立性,簡稱數據的邏輯獨立性
模式/內模式映像:
定義了數據全局邏輯結構與存儲結構之間的對應關系。如,說明某個邏輯記錄對應何種存儲結構
數據庫中模式/內模式映像是唯一的
該映像定義通常包含在模式描述中
保證數據的物理獨立性
當數據庫的存儲結構改變了(例如選用了另一種存儲結構) ,數據庫管理員修改模式/內模式映像,使模式保持不變
模式不變,則應用程序不變。保證了數據與程序的物理獨立性,簡稱數據的物理獨立性

**3.3數據庫系統的兩級映像功能與數據獨立性**
保證了應用程序的穩定性
除非應用需求本身發生變化,否則應用程序一般不需要修改
從程序為中心——發展為以數據為中心
具有了數據與程序之間的獨立性,使得數據的定義和描述可以從應用程序中分離出去
數據的存取由數據庫管理系統管理
簡化了應用程序的編制
大大減少了應用程序的維護和修改
**3.4SQL SERVER數據庫種類及文件(參考教材8.6節)**

個別題目:

## 4、關系數據庫基礎

**4.1關系模型的基本概念**

屬性取值范圍
關系模式
1.最早由E.F.Codd在1970年提出。
2.是從表(Table)及表的處理方式中抽象出來的,是在對傳統表及其操作進行數學化嚴格定義的基礎上,引入集合理論與邏輯學理論提出的。
3.是數據庫的三大經典模型之一,現在大多數數據庫系統仍然使用關系數據模型。
4.標準的數據庫語言(SQL語言)是建立在關系模型基礎之上的,數據庫領域的眾多理論也都是建立在關系模型基礎之上的。
關系的前兩種定義:
笛卡爾乘積的子集就是一個關系
關系是滿足特定規范的二維表
關系與關系模式的區別:
1.同一關系模式下,可有很多的關系
2.關系模式是關系的結構,關系是關系模式在某一時刻的數據
3.關系模式是穩定的:而關系是某一時刻的值,是隨時間可能變化的
碼:也稱作鍵,指的是取值具有唯一性的屬性,可以唯一的確定表中的一個元組,他可以由一個屬性組成,也可以由多個屬性共同構成;
候選碼:某一屬性組的值能唯一地標識一個元組,而其子集不能的屬性組
主碼:若一個關系有多個候選碼,則選定一個作為主碼
外碼:必須與其所參照的主碼具有相同的域,且外碼的取值只能引用參照表中主碼的值或者使用空值。

4.2關系的類型
基本關系
實際存在的表,是 實際存儲數據的邏輯表示
查詢表
查詢結果對應的表
視圖表
由基本表或者其他視圖表導出的表
4.3關系的性質
列是同質的,即每一列中的分量是同一類型的數據,來自同一個域
關系中的元組(行)無先后順序
關系中的屬性(列)無先后順序
在關系中的所有元組必須是獨一無二的
在元組中的每個值是一個原子值
4.4什么是復合屬性、多值屬性
4.5關系數據庫和關系數據庫模式
*4.6什么是完整性約束,五種約束的概念*
1、關系的完整性約束
完整性通常包括域完整性、實體完整性、參照完整性和用戶自定義完整性;其中域完整性、實體完整性和參照完整性是關系模型必須滿足的完整性的約束條件
2、域完整性約束
指屬性的值域的完整性
3、實體完整性規則
關系中的主碼值不可以為空值
意義:關系中的元組都是通過主碼來識別的,若主碼為空,則會出現不可識別的個體,這是不允許的。
4、參照完整性規則
如果關系R1的外碼Fk與關系R2的主碼Pk相對應時。那么R1的每一個元組的Fk值都等于R2的某個元組的Pk值或者為空。
意義:如果關系R1的某個元組t1參照R2的某個元組t2,則必須要求t2存在。
5、用戶定義的完整性規則
用戶根據具體應用的環境來定義的完整性約束。
*五種約束*
域約束
鍵約束
非空約束
實體完整性約束
參照完整性約束

4.7關系代數八種運算的符號、意義及表示方法。在這八種運算中哪些屬于基本運算?
基本運算
選擇(σ)
設R是一個n元關系,F是一個形如riθc的公式,其中θ∈{=,≠,>,<,≤,≥},R的選擇操作定義為?F(R)={(r1,…,ri ,…,rn )|(r1,…,ri ,…,rn )∈R∧riθc }。
白話: 把符合條件的拿出來
投影(Π)
設R是一個n元關系,R的投影操作定義為∏i1,i2,…,im(R) = {(ri1, …,rim)|(r1 ,…,ri1,…,rim,…,rn)∈R}。
白話: 看橫行, 如果有兩個橫行相同, 只寫一個. 因此若是S關系投影操作的話, 也就是有b和a
并(∪)
設R和S是n元關系,而且兩者各對應屬性的數據類型也相同。R和S的并操作定義為 R∪S = { t | t∈R∨t∈S }。
白話: R和S關系合一起, 相同的不寫
交(∩)
設R和S是n元關系,而且兩者各對應屬性的數據類型也相同。R和S的交操作定義為 R ? S = { t | t∈R∧t∈S }= R-(R-S)。
白話: 相同的拿出來
差(-)
設R和S是n元關系,而且兩者各對應屬性的數據類型也相同。R和S的差定義為 R-S ={ t | t∈R∧t?S}。
白話: 因為是R-S, 找R在S關系中沒有的
笛卡爾積(X)
設R是n元關系,S是m元關系,R和S的的笛卡爾積定義為R×S={(r1,…,rn,s1,…,sm)|(r1,…, rn )∈R∧(s1, …,sm )∈S}。
白話: 和普通的笛卡爾乘機差不多, 自己看看, 規律很好找

連接()


設R是n元關系,S是m元關系,A是R的屬性,B是S的屬性,A和B的值域具有相同的數據類型,θ∈{=, ≠, >, <, ≤, ≥}。R和S的連接操作定義為這里寫圖片描述![在這里插入圖片描述](https://img-blog.csdnimg.cn/20201124202758225.png#pic_center)
其中,r[A]表示元組r在屬性A上的值,s[B]表示元組s在屬性B上的值。我們稱A和B是連接屬性。
除(/)

4.8什么叫“并兼容”的兩個關系?哪些關系代數運算要求兩個關系必須是“并兼容”的?什么叫“重復消除”?
兩個關系有相同數量的屬性,每對對應的屬性有同樣的值域; 并,交,差。

個別習題:

選D

選B

## 5、SQL語言

**5.1SQL語言的功能組成**
數據查詢,數據操縱,數據定義,數據控制;

**5.2單表查詢,主要掌握以下SQL語句用法,并復習實驗2相關部分**
(1)不帶元組篩選條件的單表查詢
檢索所有行和列:**SELECT * FROM Student**
(2)重命名查詢結果關系列名(友好列標題)
在原始字段之后跟上As再指定標題即可:**SELECT Sno As 學號,Sname As 姓名……**
(3)TOP關鍵字
TOP n語法只說明顯示前n條數據:**SELECT TOP 3 * FROM Student**
(4)篩選元組:IN、BETWEEN、DISTINCT、LIKE的用法
1.可以在BETWEEN…AND語法前使用NOT取反
檢索年齡不在19-21歲的學生信息,顯示學號,姓名:**SELECT Sno,Sname FROM Student WHERE Sage NOT BETWEEN 19 AND 21**
2.要檢索的信息是一系列取值列表,可以使用IN
從Teacher表中檢索職稱為教授或者副教授的信息:**SELECT * FROM Teacher WHERE Tport IN(‘教授’,’副教授’)**
3.使用DISTINCT關鍵字,表示檢索時顯示不重復信息
顯示Teacher表中有哪些職稱,要求信息不重復:**SELECT DISTINCT Tprot FROM Teacher**
4.使用LIKE關鍵字進行模糊查詢
查詢Student表中姓劉的同學:**SELECT * FROM Student WHERE Sname LIKE ‘劉%’**
(5)空值檢查
檢索Master數據庫中spt_values表里low字段為空的數據行:**SELECT * FROM spt_values WHERE low IS NULL**
(6)查詢結果排序
使用ORDER BY對顯示的數據進行排序,升序時ASC可以省略
顯示Course表的所有行,要求按照課程名稱降序顯示:**SELECT * FROM Course ORDER BY Cname DESC**
顯示Course表的所有行,要求按照課程學分降序,學分相同再按照課程號升序排列:**SELECT * FROM Course ORDER BY Ccredit DESC,Cno ESC**
(7)返回“計算列”
對Course表,顯示課程號、課程名、學分,另外額外增加一列“學時”,學時等于學分*16:**SELECT Cno,Cname,Ccredit, Ccredit*16 AS 學時 FROM Course**
(8)五個匯總函數的用法
COUNT(統計Teacher表中教授的數量):**SELECT COUNT(*) FROM Teacher WHERE Tprot = ‘教授’** (COUBT()函數返回匹配指定條件的行數,COUNT(*)函數返回表中的記錄數)
SUM(求和):對Course表中必修課的學分進行求和:**SELECT SUM(Ccredit) FROM Course WHERE XKLB=’必修’**
MAX
MIN
AVG:分別用來計算最大值,最小值,平均值,顯示Teacher表中教師年齡最大,最小,平均年齡:**SELECT MAX(Tage),MIN(Tage),AVG(Tage) FROM Teacher**
(9)分組及對分組的篩選
對Course表,按照必修和選修進行分類,統計每種類別的課程數量:**SELECT XKLB As 類別,COUNT(Cname) AS 數量 FROM Course GROUP BY XKLB**
對Student表按照專業和性別進行分組,顯示每個專業,每種性別的學生數量,按照學生數量降序排列:**SELECT Smajar,Ssex,COUNT(Sno) FROM Student GROUP BY Smajor,Ssex,ORDER BY COUNT(Sno) DESC**

**5.3多表連接查詢,主要掌握以下SQL語句用法,并復習實驗2相關部分**
(1)內聯接
對SC和Student表進行內連接,顯示學生的學號,姓名,課程號,分數:
語法一:**SELECT Student.Sno,Student.Sname,SC.Cno,SC.Grade FROM SC JOIN Studet ON SC.Sno=Student.Sno**
語法二:**SELECT Student.Sno,Student.Sname,SC.Cno,SC.Grade FROM SC,Student WHERE SC.Sno=Studet,Sno**
(2)外聯接
讓Student表和SC表進行左外連接,即不管學生是否選課,該學生的信息都會顯示出來:
**SELECT Student.Sno,Student.Sname,SC.Sno,SC.Grade FROM Student LEFT OUTER JOIN SC ON Student.Sno= SC.Sno**
讓SC表和Teacher表進行完全外連接,顯示教師編號,教師姓名,教師講授的課程號:
**SELECT Teacher.Tno,Teacher.Tname.SC.Cno FROM SC FULL OUTER JOIN Teacher ON SC.Tno=Teacher.Tno**
(3)交叉聯接
對學生和課程兩張表進行交叉連接:**SELECT * FROM Student CROSS JOIN Course**
(4)自聯接
(5)補充:一個查詢優化的例子(參考課件第7講)

**5.4子查詢,主要掌握以下SQL語句用法,并復習實驗2相關部分**
(1)帶有IN謂詞的子查詢
查詢在SC表中選修了課程的學生信息:**SELECT * FROM Student WHERE Sno IN (SELECT DISTINCT Sno FROM SC)**
(2)帶有比較運算符的子查詢
(3)帶有ANY或ALL謂詞的子查詢
在教室表中,檢索比任何一個女教師年齡都大的男教師的信息:**SELECT * FROM Teacher WHERE Tsex=’男’ AND Tage > ALL(SELECT Tage FROM Teacher WHERE Tsex=’女’)**
(4)帶有EXISTS謂詞的子查詢(只需掌握一層EXISTS)
查詢和王國在同一專業學習的所有學生的基本信息:**SELECT Sno,Sname,Smajar FROM Student S1 WHERE EXISTS(SELECT * FROM Student S2 WHERE S2 WHERE S1.Smajor=S2.Smajor AND S2.Sname=’王國’)**

**5.5集合查詢,主要掌握以下SQL語句用法,并復習實驗2相關部分**
(1)并
將學生的學號、姓名和教師的教工號,姓名,在一個檢索結果中顯示出來:**SELECT Sno,Sname FROM Student UNION SELECT Tno,Tname FROM Teacher**
(2)交
對專業名以計算機開頭的學生及年齡是21歲的學生,用交運算求兩者的交集:**SELECT Sno,Sname,Sage,Smajor FROM Student WHERE Smajor LIKE ‘計算機%’ INTERSECT SELECT Sno,Sname,Sage,Smajor FROM Student WHERE Sage=21**
(3)差
查詢專業名以計算機開頭,但不包括年齡是21歲的學生:**SELECT Sno,Sname,Sage,Smajor FROM Student WHERE Smajor LIKE ‘計算機%’ EXCEPT SELECT Sno,Sname,Sage, Smajor FROM Student WHERE Sage=21**

**5.6數據的增、刪、改(利用SQL語言),并復習實驗3相關部分**
將學生表中的學號,姓名,性別,院系,年齡,電話,郵箱抽取出來,插入Teacher表,所有新插入的數據,職稱為講師:
**INSERT INTO Teacher(Tno,Tname,Tsex,Tdept,Tage,Tport,Tel,EMAIL)SELECT Sno,Sname,Ssex,Sdept,Sage,’講師’,Tel,EMAIL FROM Student**
將Course表中的編號是B002的課程,學分修改為3分:
**UPDATE Course SET Ccredit=3 WHERE Cno=’B002’**
刪除Course表中編號為B009的記錄
**DELETE FROM Course WHERE Cno=’B009’**

字符截取函數SUBSTRING
查詢姓名中第二個漢字和第三個漢字相同的學生:**Select * from Student Where SUBSTRING(Sname,2,1)=SUBSTRING(Sname,3,1)**

**5.7DDL數據定義語言,主要掌握以下SQL語句用法,并復習實驗3相關部分**
(1)創建數據庫(簡易版)
CREATE DATABASE 數據庫名字
(2)刪除數據庫
DROP DATABASE 數據庫名字
(3)創建數據庫表:指定數據類型、是否允許為空、標識列
(4)修改數據庫表:增加列、修改列、刪除列
Alter table 表名 add 字段名 類型 是否為空
Alter table 表名 alter column 字段名 類型 是否為空
Alter table 表名 drop column 字段名 類型 是否為空
(5)刪除數據庫表
DROP table 表名
(6)完整性約束條件
①完整性約束條件的分類:按作用對象、按狀態
②默認值約束
③對數據格式的約束
④對取值范圍或取值集合的約束
⑤元組級約束
⑥主鍵約束
⑦唯一性約束
⑧外鍵約束
⑨刪除約束
(7)視圖的概念(復習實驗3相關部分)
(8)視圖的優點
(9)視圖的創建
創建一個名為vwSCs的視圖,將學生表中院系是計算機科學學院的學生學號、姓名、性別、專業四個字段顯示出來:
**CREATE VIEW vwScs AS SELECT Sno,Sname,Ssex,Tel,EMAIL FROM Student WHERE Sdept=’計算機科學學院’**
(10)視圖的修改
通過對視圖進行數據更新,將楊華的電話修改為66666666:**UPDATE vwScs SET TEL=’66666666′ WHERE Sname =’楊華’**
(11)刪除視圖
(12)視圖的更新
①視圖可更新性的基本判斷原則
(1)視圖中的每一列都必須和一個基本表中的一個源列對應
(2)視圖中的每一行都必須和一個基本表中的一個源行對應
②視圖可更新性的具體判斷標準
只要修改只影響與視圖相關的一個基礎表,視圖就可以修改,
包含聚合函數的視圖不可更新
存在計算列或者導出列的視圖不可更改
(14)索引的概念和作用(參考教材4.7節)
(15)索引的創建和管理(復習實驗3相關部分)

**5.8DCL數據控制語言,主要掌握以下相關概念及SQL語句用法,并復習實驗4相關部分**
(1)SQL SERVER的安全控制過程、安全控制模型
(2)SQL SERVER的身份驗證模式
(3)SQL SERVER登錄名的管理
(4)SQL SERVER數據庫用戶的管理
(5)SQL SERVER權限的管理
(6)SQL SERVER角色的管理

**5.9 Transact-SQL編程,主要掌握以下相關概念及T-SQL語句用法,并復習實驗5相關部分**
(1)Transact-SQL基礎語法
(2)Transact-SQL流程控制語句
(3)Transact-SQL常用函數
(4)存儲過程概述
(5)存儲過程(包括帶輸入和輸出參數的)的創建與管理

**6、數據庫設計(復習數據庫設計案例)**

6.1數據庫設計的基本過程及每階段的主要任務
數據庫設計通常分為6個階段
1、需求分析:分析用戶的需求,包括數據、功能和性能需求;
分析方法常用SA(Structured Analysis) 結構化分析方法,SA方法從最上層的系統組織結構入手,采用自頂向下,逐層分解的方式分析系統。
數據流圖表達了數據和處理過程的關系,在SA方法中,處理過程的處理邏輯常常借助判定表或判定樹來描述。在處理功能逐步分解的同事,系統中的數據也逐級分解,形成若干層次的數據流圖。系統中的數據則借助數據字典(data dictionary,DD)來描述。數據字典是系統中各類數據描述的集合,數據字典通常包括**數據項,數據結構,數據流,數據存儲,和處理過程** 5個階段。
2、概念結構設計:主要采用E-R模型進行設計,包括畫E-R圖;
3、邏輯結構設計:通過將E-R圖轉換成表,實現從E-R模型到關系模型的轉換;
4、數據庫物理設計:主要是為所設計的數據庫選擇合適的存儲結構和存取路徑;
常用的存取方法有三類:1.索引方法,目前主要是B+樹索引方法。2.聚簇方法(Clustering)方法。3.是HASH方法。
5、數據庫的實施:包括編程、測試和試運行;
6、數據庫運行與維護:系統的運行與數據庫的日常維護。
6.2 掌握E-R建模和繪制E-R圖的方法
6.3 “數據庫邏輯結構設計階段”的任務
6.4 掌握將E-R模型轉換為關系模型的規則和方法
(1)每個實體類型轉換成一個關系模式。實體的屬性就是關系模式的屬性,實體的的碼就是關系的主碼。
(2)實體之間的聯系轉換,根據不同的情況進行不同的處理:一個 1:1 的聯系可以轉換為一個獨立的關系模式,也可以與任意一端的關系模式合并;一個 1:n 的聯系可轉換為一個獨立的關系模式,也可以與 n 端實體對應的關系模式合并;一個 m:n 的聯系必須轉換為一個關系模式。
6.5 掌握關系模式的非形式化設計原則和更新異常的概念
6.6 掌握1NF、2NF、3NF的概念和規范化方法(參考教材5.1、5.2、5.3節)
*規范化*的基本思想是消除關系模式中的數據冗余,消除數據依賴中不合適的部分,解決數據插入、刪除和修改時發生的異常現象。關系數據庫的規范化過程中為不同程度的規范化要求設立的不同的標準或準則稱為范式。一個低一級的范式的關系模式,通過模式分解可以轉換為若干個高一級的范式的關系模式的集合,這種過程叫做規范化。
6.6.1 第一范式
如果關系模式R所有屬性均為簡單屬性,即每個屬性都是不可再分的,則稱R為第一范式。
6.6.2 第二范式
如果關系模式屬于第一范式,R(U,F)中的所有非主屬性都完全函數依賴于任意一個候選關鍵字,則稱關系R屬于第二范式。即不存 在某非主屬性對某候選關鍵字存在部分函數依賴。
6.6.3 第三范式
如果關系模式R屬于第二范式,R(U,F)中的所有非主屬性對任何候選關鍵字都不存在傳遞函數依賴,則稱R是屬于第三范式。

6.7 反規范化的基本概念(參考教材5.4節)
常用的反規范化技術有哪些?
解:反規范化常用的方法是合并 1:1 聯系的表,合并 1:n 聯系的表,復制 1:n 聯系 1端表中數據到 n 端,復制 m:n 聯系中 m 端和 n 端數據到新產生的聯系表中。

有關ER圖的例題

例題一:


(2)將所畫的 E-R 圖轉換為關系模型。
解: 讀者(借閱證號 ,姓名,地址)
圖書(編號,書名,出版社,單價,作者姓名)
借閱(借閱證號,圖書編號,借閱日期)
作者(姓名,性別,工作單位)

例題二

2. 設計滿足下述業務需求的 E-R 圖(注意:實體、屬性和聯系名稱均用中文表示)。

某圖書館要實現如下的業務:新書的入庫,讀者信息的入庫,讀者對圖書的借閱 和歸還業務。此外,圖書館還要維護書籍的作者信息,在有需求的情況下可以查 詢作者聯系方式。

(1)圖書,需要存儲:圖書編號、索書號、書名、出版社、單價;

(2)作者,需要存儲:作者編號、姓名、性別、聯系電話;(3)讀者,需要存儲:借閱證號、姓名、聯系電話。圖書編號是指圖書館中的每一本書,有一個全館唯一的編號。假定一個作者可以撰寫多本圖書,但是一個圖書只能屬于一個作者。一個讀者可以借多本圖書,一本書也可以先后在不同時刻被多個讀者借閱。讀者借閱圖書時,要記錄借閱的日期時間。你的設計中暫不考慮讀者的還書業務,也不考慮同一個索書號的庫存問題。

2. 將該 E-R 圖轉換為等價的關系模式,分別指出每個關系的主鍵和外鍵,并畫出各關系間的主鍵、外鍵參照(注意:關系模式的表示規范請參照下圖、不用寫數據類型;關系和屬性名稱均用中文表示)。

作者(作者編號,姓名,性別,聯系電話)

圖書(圖書編號,索書號,書名,出版社,單價,作者號)

讀者(借閱證號,姓名,聯系電話)

借閱(圖書編號,借閱證號,借閱日期)

說明:借閱表也可增加一個自增字段作為主鍵

例題三:

3. 設計滿足下述業務需求的 E-R 圖,并寫出你在確定 E-R 模型約束條件時所做的其他假設(注意:實體、屬性和聯系名稱均用中文表示)某研究所擬開發一套系統管理其科研人員及科研項目,經分析,有如下需求:

1) 該研究所由多個研究部門組成,每個員工屬于某一個研究部門;

2) 該研究所有若干研究項目,每個項目由且僅由一個部門負責;

3) 每個員工可參與多個研究項目(注:可參與不由員工所屬部門負責的項目),當員工參與研究項目時,需記錄這個員工在所參與的每個項目上的工作時間和角色。

4) 員工的基本信息包括:員工號、姓名、性別、生日、職稱、年齡;

5) 部門的基本信息包括:部門號、部門名、辦公地址;

6) 研究項目的基本信息包括:項目編號、項目名稱、項目經費;

7) 上面信息中的員工號,部門號和項目編號都具有唯一性。

**7、 數據庫保護**

7.1事務的基本概念
7.2 事務的定義
事務是用戶定義的一個數據操作序列,這些操作要么全部執行,要么全部不執行,是一個不可分割的工作單元;
7.3 事務的特征
7.4 并發控制
事務是并發控制的基本單位。
7.5 并發操作引發的問題
并發操作帶來的數據不一致性包括:丟失修改、不可重復讀、讀 “臟” 數據。
7.6并發控制的基本方法(封鎖協議,并發調度的可串行性,兩段鎖協議)
并發控制主要技術:封鎖、時間戳、樂觀控制法、多版本并發控制等。
基本封鎖類型:排他鎖(X 鎖 / 寫鎖)、共享鎖(S 鎖 / 讀鎖)。

7.7 死鎖的概念、預防、診斷與解除(詳見教材第7.2節)
活鎖和死鎖:
活鎖:事務永遠處于等待狀態,可通過先來先服務的策略避免。
死鎖:事物永遠不能結束
預防:一次封鎖法、順序封鎖法;
診斷:超時法、等待圖法;
解除:撤銷處理死鎖代價最小的事務,并釋放此事務的所有的鎖,使其他事務得以繼續運行下去。
7.7數據庫故障類型
事務內部故障,系統故障,介質故障,計算機病毒

7.8數據庫恢復的基本方法(詳見教材第7.3節)
7.9備份和恢復數據庫(詳見教材第11章)
7.10 備份類型和備份內容(詳見教材第11.2節)
數據庫備份,就是通過特定的辦法,將數據庫的必要文件復制到轉儲設備的過程。其 中,轉儲設備是指用于放置數據庫拷貝的磁帶或磁盤。數據庫備份的作用就是防止數據丟失,最大限度地降低災難性數據丟失的風險,從數據庫中定期保存用戶對數據庫所做的修改,當數據庫出現故障時,用以將數據庫從錯誤狀態下恢復到正確狀態的副本。還有一個作用,就是對數據庫進行轉儲。
7.11 備份策略(詳見教材第11.3節)
7.12 恢復策略(詳見教材第11.5節)

**8 、數據庫新技術**
8.1 什么是大數據?(參考教材14.2)
8.2 數據倉庫與數據挖掘(參考教材14.3)
8.3 NoSQL數據庫(參考教材14.4)

總結

以上是生活随笔為你收集整理的数据库复习笔记(全覆盖,包括往年部分真题)(常用的数据网站汇总)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。