最近在複習資料庫相關知識點,過幾天就要考試了; 第一章 資料庫基礎知識 1、資料庫管理是數據處理的基礎工作,資料庫是數據管理的技術和手段。資料庫中的數據具有整體性和共用性。 1.2、資料庫系統的核心:資料庫管理系統。 1.3、資料庫核心:數據模型; 2、資料庫(DB)是一個按數據結構來存儲和管理數據 ...
最近在複習資料庫相關知識點,過幾天就要考試了;
第一章 資料庫基礎知識
1、資料庫管理是數據處理的基礎工作,資料庫是數據管理的技術和手段。資料庫中的數據具有整體性和共用性。
1.2、資料庫系統的核心:資料庫管理系統。
1.3、資料庫核心:數據模型;
2、資料庫(DB)是一個按數據結構來存儲和管理數據的電腦系統軟體。
2.2、資料庫是長期存儲在電腦內的有組織,可共用的數據集合。
3、數據管理系統(DBMS)能夠為數據的庫提供數據的定義(a.數據定義功能)、建立、維護、查詢和統計(b.數據操縱功能)等操作功能,並完成對數據完整性、安全性進行控制的功能(c.資料庫的建立和維護功能)(d.資料庫的運行管理功能)。
4、資料庫管理系統的數據控制主要指對數據安全性和完整性的控制。
數據安全性控制是為保證資料庫的安全可靠,防止不合法的使用造成數據泄漏和破壞,即避免數據被人偷看、篡改或破壞;
數據完整性控制是為了保證數據中的數據正確、有效和相容,以防止不合語義的錯誤數據被輸入或輸出。
5、資料庫管理技術經歷了手工管理、文件管理(最小存取單位是記錄)和資料庫技術(最小單位是數據項)三個發展階段。
6、資料庫分類:單用戶(access、fox base、FoxPro),多用戶(SQL sever、oracle、Informix、Sybase、Delphos)
7、資料庫系統管理數據的特點
①資料庫系統以數據模型為基礎
②資料庫系統的數據冗餘度小,數據共用度高
③數據系統的數據和程式之間具有較高的獨立性
④資料庫系統通過DBMS進行數據安全性和完整性的控制
⑤資料庫中數據的最小存取單位是數據項
8、數據系統的數據和程式之間的獨立性:數據和程式之間的依賴程度低、獨立程度大的特性稱為數據獨立性高。
數據獨立性可分為兩級
a. 數據的物理獨立性 數據的物理獨立性是指應用程式對數據存儲結構的依賴度。數據物理獨立性高是指當數據的物理結構發生變化時,應用程式不需要修改也可以正常工作。
b. 數據的邏輯獨立性 數據的邏輯獨立性是指應用程式對數據全局邏輯結構的依賴程度。數據邏輯獨立性高是指當資料庫系統的數據全局邏輯結構改變時,它們對應用程式不需要改變仍可以正常運行。
9、資料庫系統是指帶有數據並利用資料庫技術進行數據管理的電腦系統。一個資料庫系統應包括電腦硬體、資料庫、資料庫管理系統、應用程式系統及資料庫管理員。
10、資料庫管理系統體系中由支持系統的電腦硬體設設備、資料庫及相關的電腦軟體系統、開發和管理資料庫系統的人員3部分組成。
11、資料庫系統的人員組成及資料庫管理員(DBA)的職責
A 資料庫管理員應參與資料庫和應用系統的設計
B 資料庫管理員應參與決定資料庫的存儲結構和存儲策略
C 資料庫管理員要負責定義數據的安全性要求和完整性條件
D 資料庫管理員負責監視和控制資料庫系統的運行,負責系統維護和數據恢復
E 資料庫管理員負責資料庫的改進和重組
12、三級模式結構:邏輯模式(模式 一個)外模式(子模式 多個)內模式(存儲模式,物理模式 一個)
12.2、描述資料庫中全局邏輯結構和特征的是:模式。
12.3、子模式DDL用來描述:資料庫的局部邏輯結構。
13、資料庫系統二級映像技術及作用
資料庫系統二級映像技術是指外模式和模式之間的映像、模式和內模式之間的映像技術,二級映像技術不僅在三級數據模式之間建立了聯繫,同時也保證了數據的獨立性
① 外模式和模式之間的映像及作用:保證了外模式和數據模式之間的對應關係,也保證了數據的邏輯獨立性。
② 模式和內模式之間的映像及作用:保證了數據的邏輯模式和內模式之間的對應關係,也保證了數據的物理獨立性。
14、要保證資料庫的數據獨立性,需要修改的是:三層模式之間的兩種映射。
第二章 數據模型與概念模型
1、概念模型是對信息世界的管理對象、屬性及聯繫等信息的描述形式。概念模型不依賴電腦及資料庫管理系統,它是對現實世界的真實、全面的反映。
1.2、非關係模型中數據結構的基本單位是--基本層次聯繫。
1.3、通過指針鏈接來表示和實體之間聯繫的模型是:層次和網狀模型。
1.4、層次模型不能直接表達 m:n關係。
1.5、
2、實體間的聯繫:
(1)兩個實體之間的聯繫:
1)一對一聯繫
2)一對多聯繫
3)多對多聯繫
(2)多實體集之間的聯繫:
1)多實體集之間的一對多的聯繫
2)多實體集之間的多對多的聯繫
(3)實體集內部的聯繫?
3、資料庫中最常用的數據模型是層次模型、網狀模型和關係模型
4、數據模型具有數據結構、數據操作和完整性約束條件三要素
5、關係模型中的主要術語:
(1)關係:一個關係對應通常所說的一張二維表
(2)元組:表中的一行稱為一個元組
(3)屬性:表中的一列稱為一個屬性
(4)碼:表中的某個屬性或屬性組,它們的值可以惟一的確定一個元組,且屬性組中不存在多餘的屬性,這樣的屬性或屬性組稱為關係的碼。
(5)域:屬性的取值範圍稱為域。
(6)分量:元組中的一個屬性值稱為分量
(7)關係模式:關係的型稱為關係模式,關係模式是對關係的描述
6、關係操作包括數據查詢和插入、刪除、修改數據。關係中的數據操作是集合操作,無論操作的原始數據、中間數據或結果數據都是若幹元組的集合,而不是單記錄的操作方式。
7、關係的完整性約束條件包括:事體完整性、參照完整性、用戶自定義完整性和域完整性
第三章:資料庫系統的設計方法
1、資料庫系統的設計內容:資料庫的結構特性設計、資料庫的行為特性設計、資料庫的物理模式設計。
2、新奧熱量資料庫設計:需求分析、概念設計、邏輯設計、物理設計。
3、後續改:需求分析(分析各個用戶的需求)、概念結構設計(在結構化分析方法中,常用數據流程圖和數據字典來描述軟體的邏輯模式,概念模型,E-R圖,數據字典)、邏輯結構設計(數據模型,關係或非關係模型,邏輯模式,內外模式的確立)、物理結構設計(物理儲存安排,存取路徑的建立)、資料庫實施、資料庫的運行與維護。
圖一
圖二
4、數據字典(概念結構設計階段):1).數據項(不可再分的數據單位)2).數據結構(數據間的組合關係);3).數據流;4).數據儲存;5).處理過程。
5、數據抽象的三種基本方法:分類、聚集、囊括(繼承性)。
6、概念信息模型:E-R圖----實體-聯繫圖-->1.長方形:實體集名;2.橢圓形:實體集屬性;3.菱形:(實體間)聯繫。
7、E-R圖合併的衝突:屬性衝突、命名衝突、結構衝突。
7.1、邏輯結構設計的任務就是把概念模型結構轉化成某個具體的DBMS所支持的數據模型,併進行優化。
7.2、資料庫的物理結構設計是對於給定的邏輯數據模型,選取一個最適合應用環境的物理結構。資料庫的物理結構指的是資料庫在物理設備上的存儲結構和存取方法,它依賴於給定的電腦系統。
7.3、資料庫物理結構設計的內容主要指選擇存儲結構和存取方法,包括確定關係、索引、聚簇、日誌、備份等的存儲安排和存儲結構,確定系統配置等。
7.4、關係資料庫常用的存取方法有索引方法、聚簇方法和HASH方法等。
8、概念模型向關係模型的轉換:將實體集、屬性以及聯繫關係轉換為相應的關係模式【職工(職工號,姓名,年齡)】,關係模型中標有下劃線的屬性為碼(圖3、4例題)。
9、資料庫的運行與維護最主要的工作是組織數據入庫。
10、兩層結構的資料庫系統有兩種構造方式:客戶機/伺服器(Client/Server,簡稱C/S)結構和瀏覽器/伺服器(Browser/Server,簡稱B/S)結構;Client也稱為前端Front-End,Server也被稱為後端Back-End。
11、3層資料庫系統結構減少了資料庫伺服器的工作量,並可在應用伺服器上簡曆數據備份,提高了整個系統的工作性能與可靠性。
12、資料庫應用系統設計步驟與方法:需求分析(數據需求,功能需求)、系統設計(數據模式,功能結構,系統結構)、建立資料庫(資料庫,配置數據源)、程式設計(界面,菜單組件及結構)、編程與調試(單元與項目文件)。
第四章 關係資料庫
1、關係資料庫為目前最廣泛的資料庫,以數學方法為基礎的管理資料庫。
2、關係資料庫模型三要素:關係結構、關係操作、關係完整性約束。
3、關係中的3類完整性約束:實體完整性、參照完整性、用戶定義完整性。
4、關係資料庫中的關係可以分為基本表、視圖表、查詢表3種類型。
5、在關係資料庫中,實體集以及實體間的聯繫都是用關係來表示的。
6、關係代數是一種抽象的查詢語言。關係代數的運算對象是關係,運算結果也為關係。關係代數所使用的運算符包括4類:集合運算符、專門的關係運算符、比較運算符和邏輯運算符。
7、關係代數的基本運算:並、差、選擇、笛卡爾積、投影。
8、關係代數表示檢索的例子:
[例]設?教學資料庫中有
3
個關係:
學生關係S(SNO,SNAME,AGE,SEX)
學習關係SC(SNO,CNO,GRADE)
課程關係C(CNO,CNAME,TEACHER)
下麵用關係代數表達式和SQL語句分別表達每個查詢語句。
(1) 檢索學習課程號為C2的學生SNO與GRADE。
πSNO,GRADE(σ CNO=’C2′(SC))
SELECT?SNO, GRADE FROM SC WHERE CNO=‘C2’
(2) 檢索學習課程號為C2的學生學號與姓名
πSNO,SNAME(σ CNO=’C2′(SSC))
由於這個查詢涉及到兩個關係S和SC,因此先對這兩個關係進行自然連接,同一位學生的有關的信息,然後再執行選擇投影操作。 此查詢亦可等價地寫成:
πSNO,SNAME(S) (πSNO(σ CNO=’C2′(SC)))
這個表達式中自然連接的右分量為”學了C2課的學生學號的集合”。這個表達式比前一個表達式優化,執行起來要省時間,省空間。
SELECTSNO,SNAME FROM S WHERE?EXISTS?(SELECT * FROM SC WHERESNO=S.SNO ANDCNO=‘C2’)
(3)檢索選修課程名為MATHS的學生學號與姓名。
πSNO,SANME(σ CNAME=’MATHS’(S SCC))
SELECT S.SNO, SNAME FROM S, SC,C WHERE?S.SNO=SC.SNO AND SC.CNO=C.CNO AND CNAME=‘MATHS’
(4)檢索選修課程號為C2或C4的學生學號。
πSNO(σ CNO=’C2’∨CNO=’C4′(SC))
SELECT S.SNO, SNAME FROM S, SC,C WHERE S.SNO=SC.SNO AND SC.CNO=C.CNO AND CNAME=‘MATHS’
(5) 檢索至少選修課程號為C2或C4的學生學號。
π1(σ1=4∧2=’C2’∧5=’C4′(SC×SC))
SELECTSNO FROM SC AS X, SC AS Y WHERE X.SNO=Y.SNO AND X.CNO=‘C2’
AND Y.CNO=‘C4’
這裡(SC×SC)表示關係SC自身相乘的乘積操作,其中數字1,2,4,5都為它的結果關係中的屬性序號。 比較這一題與上一題的差別。
(6) 檢索不學C2課的學生姓名與年齡。
πSNAME,AGE(S)-πSNAME,AGE(σ CNO=’C2′(S SC))
這個表達式用了差運算,差運算的左分量為”全體學生的姓名和年齡”,右分量為”學了C2課的學生姓名與年齡”。 SELECT SNAME, AGE FROM S WHERESNO NOT IN (SELECTSNO FROM SC WHERECNO=‘C2’
或SELECT SNMAE,AGE FROM S WHERE NOT EXISTS (SELECT * FROM SC WHERE SC.SNO=S.SNO ANDCNO=‘C2’)
(7)檢索學習全部課程的學生姓名。?編寫這個查詢語句的關係代數過程如下:
(a) 學生選課情況可用πSNO,CNO(SC)表示;
(b) 全部課程可用πCNO(C)表示;
(c) 學了全部課程的學生學號可用除法操作表示。
操作結果為學號SNO的集合,該集合中每個學生(對應SNO)與C中任一門課程號CNO配在一起都在πSCO,CNO(SC) 中出現(即SC中出現),所以結果中每個學生都學了全部的課程(這是”除法”操作的含義):
πSNO,CNO(SC)÷πCNO(C)
(d) 從SNO求學生姓名SNAME,可以用自然連結和投影操作組合而成:
πSNAME(S (πSNO,CNO(SC)÷πCNO(C))) 這就是最後得到的關係代數表達式。
SELECT SNAME FROM S WHERE NOT?EXISTS (SELECT * FROM C WHERE NOT EXISTS (SELECT * FROM SC WHERE SC.SNO=S.SNO AND SC.CNO=C.CNO))
(8)檢索所學課程包含S3所學課程的學生學號。
註意:學生S3可能學多門課程,所以要用到除法操作來表達此查詢語句。
學生選課情況可用操作 πSNO,CNO(SC)表示;
所學課程包含學生S3所學課程的學生學號,可以用除法操作求得:
πSNO,CNO(SC)÷ πCNO(σ SNO=’S3′(SC)) SELECT?DISTINCTSNO FROM SC X WHERE NOT EXISTS (SELECT * FROM SC Y WHERE Y.SNO=‘S3’ AND NOT EXISTS (SELECT * FROM SC Z WHERE Z.SNO=X.SNO AND Z.CNO=Y.CNO))
(9)將新課程元組(’C10′,’PHYSICS’,’YU’)插入到關係C中
(C∪(‘C10′,’PHYSICS’,’YU’)) INSERT INTO C VALUES(’C10′,’PHYSICS’,’YU’)
(10)將學號S4選修課程號為C4的成績改為85分。
(SC-(’S4′,’C4′, )∪(‘S4′,’C4′,85))
修改操作用代數表示分兩步實現:先刪去原元組,再插入新元組。題目中未給出原先的成績,所以用”?”代替,檢索時可忽略。 UPDATE SC SET GRADE=85 WHERE SNO='S4' AND CNO='C4'
第五章:關係資料庫標準語言--SQL
1、SQL語句按實現的功能分為三類:
(1)數據定義語句 (數據模式定義、刪除、修改)
(2)數據操縱語句 (數據查詢與維護)
(3)數據控制語句 (數據存取控制授權與收權)
2、SQL語句的三個特點:
(1)SQL具有自主式語言和嵌入式語言兩種使用方式
(2)SQL具有語言簡潔、易學易懂的特點
(3)SQL支持三級數據模式結構
1)全體基本表構成了資料庫的全局邏輯模式(一個)
2)視圖和部分基本表構成了資料庫的外模式(子模式)(多個)
3)資料庫的存儲文件和索引文件構成了關係資料庫的內模式(一個)
3、SQL的數據控制語句包括授權、收權和拒絕訪問
4、用SQL語句創建如下三個基本表:學生表(Student)、課程表(Course)、學生選課表(SC),結構如下所示
Student表結構
列名?說明?數據類型?約束?
Sno 學號 字元串,長度為7 主碼
Sname 姓名 字元串,長度為10 非空
Ssex 性別 字元串,長度為2 取‘男’或‘女’
Sage 年齡 整數 取值15~45
Sdept 所在院系 字元串,長度為20? 預設為‘電腦系’
Create table Student (
Sno varchar(7) primary key,
Sname varchar(10) not null,
Ssex char (2) check(Ssex=‘男’or Ssex=’女’),
Sage int check(Sage between 15 and 45),
Sdept varchar(20) default(‘電腦系’) )
Course 表結構
列名 說明 數據類型 約束
Cno 課程號 字元串,長度為10 主碼
Cname 課程名 字元串,長度為20 非空
Ccredit 學分 整數 取值大於
0
Semester 學期 整數 取值大於0
Period 學時 整數 取值大於0
Create table course (
Cno varchar(10) primary key,
Cname varchar(20) not null,
Ccredit int check(Sctedit>0),
Semester int check(Semester>0),
Period int check(Period>0) )
SC表結構
列名 說明 數據類型 約束
Sno 學號 字元串,長度為7 主碼,引用Student的外碼
Cno 課程號 字元串,長度為10 主碼,引用Course的外碼
Grade 成績 整數 取值0~100
Create table SC (
Sno varchar(7) foreign key references student(Sno),
Cno varchar(10) foreign key references course(Cno),
Grade int check(Grade between 0 and 100),
Primary key (Sno,Cno))
5、SQL進行表數據查詢:看實驗報告
第六章 SQL Server 關係資料庫管理系統
考試不做要求,所以沒整理,如果有整理後續補充。
第七章;關係資料庫理論
1、關係數據理論包括兩個方面的內容:
(1)關係資料庫設計的理論——關係規範化理論和關係模式分解方法
(2)關係數據操作的理論——關係數據的查詢和優化的理論
2、關係模式規範化是解決關係資料庫中插入、刪除數據冗餘而引入的概念
第八章 資料庫保護技術
1、資料庫的保護功能主要包括確保數據的安全性、完整性、併發控制和數據恢復。
2、數據安全性是指保護資料庫,以防止不合法的使用造成的數據泄密、更改或破壞。
3、資料庫安全控制的一般方法(5種)
A用戶表示與鑒別
B存取控制(a自主存取控制方法b強制存取控制方法)
C視圖機制
D審計
E數據加密
3.2、資料庫的完整性是指數據的正確性和相容性。
3.3、數據完整性約束可以分為表級約束、元祖級約束、屬性級約束。
4、SQL sever 的安全體繫結構(4層安全防線)
A windows NT 操作系統的安全防線
B SQL sever 的運行安全防線
C SQL sever 資料庫的安全防線
D SQL sever 資料庫對象的安全防線?
5、SQL sever 的安全認證模式
A windows安全認證模式
B 混合安全認證模式
6、SQL Server 併發控制機制方法為:事務和加鎖
7、事務是用戶定義的一個資料庫操作序列,這些操作要麼全做,要麼全不做,是一個不可分割的單位
8、事務的4個特性:
(1)原子性:事務是資料庫的邏輯工作單位,事務中包括的諸操作要麼全做,要麼一個也不做
(2)一致性:事務執行的結果必須是使資料庫從一個一致性狀態轉變到另一個一致性狀態。
(3)隔離性:說明一個事務的執行不能被其他事務干擾,即一個事務的內部操作及使用的數據對其他併發事務是隔離的,併發執行的各個事務之間不能互相干擾。
(4)持續性:也稱為永久性,持續性是指一個事務一旦提交,它對資料庫中的數據的改變就是永久性的,接下來的其他操作或故障不應該對其執行結果有任何影響。
9、鎖的類型?
基本的封鎖類型有兩種:排他鎖(x),共用鎖(s)。
。。。。。