《《數(shù)據(jù)庫(kù)原理》15-16學(xué)年第1學(xué)期考試大綱.doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《《數(shù)據(jù)庫(kù)原理》15-16學(xué)年第1學(xué)期考試大綱.doc(32頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
考試基本題型及分?jǐn)?shù)分布
選擇題(30分) 填空題(15分) 簡(jiǎn)答題(20分)
設(shè)計(jì)題(15分) 綜合題(20分)
1. 數(shù)據(jù)庫(kù)概述
(1)理解DB(數(shù)據(jù)庫(kù))、DBMS(數(shù)據(jù)庫(kù)管理系統(tǒng))和DBS(數(shù)據(jù)庫(kù)系統(tǒng))的概念和它們之間的關(guān)系;
數(shù)據(jù)庫(kù)的定義
數(shù)據(jù)庫(kù)(Database,簡(jiǎn)稱(chēng)DB)是長(zhǎng)期儲(chǔ)存在計(jì)算機(jī)內(nèi)、有組織的、可共享的大量數(shù)據(jù)的集合。
什么是DBMS
位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件。
是基礎(chǔ)軟件,是一個(gè)大型復(fù)雜的軟件系統(tǒng).
數(shù)據(jù)庫(kù)系統(tǒng)(Database System,簡(jiǎn)稱(chēng)DBS)
在計(jì)算機(jī)系統(tǒng)中引入數(shù)據(jù)庫(kù)后的系統(tǒng)構(gòu)成
(2) 理解數(shù)據(jù)庫(kù)系統(tǒng)的特點(diǎn);
數(shù)據(jù)結(jié)構(gòu)化
數(shù)據(jù)的共享性高,冗余度低,易擴(kuò)充
數(shù)據(jù)獨(dú)立性高
數(shù)據(jù)由DBMS統(tǒng)一管理和控制
(3) 掌握數(shù)據(jù)模型的概念和三個(gè)基本要素;
概念:
數(shù)據(jù)模型是對(duì)現(xiàn)實(shí)世界數(shù)據(jù)特征的抽象,通俗地講數(shù)據(jù)模型就是現(xiàn)實(shí)世界的模擬。
數(shù)據(jù)模型應(yīng)滿足三方面要求(①比較真實(shí)地模擬現(xiàn)實(shí)世界②容易為人所理解③便于在計(jì)算機(jī)上實(shí)現(xiàn))
數(shù)據(jù)模型是數(shù)據(jù)庫(kù)系統(tǒng)的核心和基礎(chǔ)
三個(gè)基本要素:
數(shù)據(jù)結(jié)構(gòu)
數(shù)據(jù)操作
數(shù)據(jù)的完整性約束條件
(4) 理解數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu)和二級(jí)映像功能;
模式(Schema)
模式的定義:數(shù)據(jù)的邏輯結(jié)構(gòu)(數(shù)據(jù)項(xiàng)的名字、類(lèi)型、取值范圍等)
數(shù)據(jù)之間的聯(lián)系
數(shù)據(jù)有關(guān)的安全性、完整性要求
模式(也稱(chēng)邏輯模式):數(shù)據(jù)庫(kù)中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,所有用戶的公共數(shù)據(jù)視圖,綜合了所有用戶的需求,一個(gè)數(shù)據(jù)庫(kù)只有一個(gè)模式
模式的地位:是數(shù)據(jù)庫(kù)系統(tǒng)模式結(jié)構(gòu)的中間層,與數(shù)據(jù)的物理存儲(chǔ)細(xì)節(jié)和硬件環(huán)境無(wú)關(guān),與具體的應(yīng)用程序、開(kāi)發(fā)工具及高級(jí)程序設(shè)計(jì)語(yǔ)言無(wú)關(guān)
外模式(External Schema)
外模式(也稱(chēng)子模式或用戶模式):
數(shù)據(jù)庫(kù)用戶(包括應(yīng)用程序員和最終用戶)使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述
數(shù)據(jù)庫(kù)用戶的數(shù)據(jù)視圖,是與某一應(yīng)用有關(guān)的數(shù)據(jù)的邏輯表示
外模式的地位:介于模式與應(yīng)用之間
模式與外模式的關(guān)系:一對(duì)多
外模式通常是模式的子集
對(duì)模式中同一數(shù)據(jù),在外模式中的結(jié)構(gòu)、類(lèi)型、長(zhǎng)度、保密級(jí)別等都可以不同
外模式與應(yīng)用的關(guān)系:一對(duì)多
同一外模式也可以為某一用戶的多個(gè)應(yīng)用系統(tǒng)所使用
但一個(gè)應(yīng)用程序只能使用一個(gè)外模式
外模式的用途
保證數(shù)據(jù)庫(kù)安全性的一個(gè)有力措施
每個(gè)用戶只能看見(jiàn)和訪問(wèn)所對(duì)應(yīng)的外模式中的數(shù)據(jù)內(nèi)模式(Internal Schema)
內(nèi)模式(也稱(chēng)存儲(chǔ)模式):是數(shù)據(jù)物理結(jié)構(gòu)和存儲(chǔ)方式的描述,是數(shù)據(jù)在數(shù)據(jù)庫(kù)內(nèi)部的表示方式,記錄的存儲(chǔ)方式(順序存儲(chǔ),按照B樹(shù)結(jié)構(gòu)存儲(chǔ),按hash方法存儲(chǔ))
索引的組織方式:
數(shù)據(jù)是否壓縮存儲(chǔ)、數(shù)據(jù)是否加密、數(shù)據(jù)存儲(chǔ)記錄結(jié)構(gòu)的規(guī)定、一個(gè)數(shù)據(jù)庫(kù)只有一個(gè)內(nèi)模式
三級(jí)模式是對(duì)數(shù)據(jù)的三個(gè)抽象級(jí)別
二級(jí)映象在DBMS內(nèi)部實(shí)現(xiàn)這三個(gè)抽象層次的聯(lián)系和轉(zhuǎn)換
外模式/模式映像:保證數(shù)據(jù)的邏輯獨(dú)立性
模式/內(nèi)模式映像:保證數(shù)據(jù)的物理獨(dú)立性
(5) 掌握數(shù)據(jù)庫(kù)物理獨(dú)立性的含義和邏輯獨(dú)立性的含義。
保證數(shù)據(jù)的邏輯獨(dú)立性:
當(dāng)模式改變時(shí),數(shù)據(jù)庫(kù)管理員修改有關(guān)的外模式/模式映象,使外模式保持不變。
保證數(shù)據(jù)的物理獨(dú)立性:
當(dāng)數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)改變了(例如選用了另一種存儲(chǔ)結(jié)構(gòu)),數(shù)據(jù)庫(kù)管理員修改模式/內(nèi)模式映象,使模式保持不變。
本章占試卷總分6%
2. 關(guān)系數(shù)據(jù)庫(kù)
(1)熟練掌握關(guān)系模型的完整性規(guī)則;
1 實(shí)體完整性
規(guī)則2.1 實(shí)體完整性規(guī)則(Entity Integrity)
若屬性A是基本關(guān)系R的主屬性,則屬性A不能取空值
空值就是“不知道”或“不存在”或“無(wú)意義”的值
2 參照完整性
規(guī)則2.2 參照完整性規(guī)則
若屬性(或?qū)傩越M)F是基本關(guān)系R的外碼它與基本關(guān)系S的主碼Ks相對(duì)應(yīng)(基本關(guān)系R和S不一定是不同的關(guān)系),則對(duì)于R中每個(gè)元組在F上的值必須為:
或者取空值(F的每個(gè)屬性值均為空值)
或者等于S中某個(gè)元組的主碼值
3 用戶定義的完整性
針對(duì)某一具體關(guān)系數(shù)據(jù)庫(kù)的約束條件,反映某一具體應(yīng)用所涉及的數(shù)據(jù)必須滿足的語(yǔ)義要求
關(guān)系模型應(yīng)提供定義和檢驗(yàn)這類(lèi)完整性的機(jī)制,以便用統(tǒng)一的系統(tǒng)的方法處理它們,而不需由應(yīng)用程序承擔(dān)這一功能。
(2) 掌握傳統(tǒng)的并、交、差和笛卡兒積運(yùn)算;
(3) 深入理解專(zhuān)門(mén)關(guān)系運(yùn)算含義,特別是不同種類(lèi)連接操作的區(qū)別與聯(lián)系;
(4)能夠應(yīng)用除運(yùn)算解決實(shí)際問(wèn)題;
(5)能夠同時(shí)運(yùn)用傳統(tǒng)運(yùn)算和專(zhuān)門(mén)關(guān)系運(yùn)算解決實(shí)際問(wèn)題;
(6)熟練應(yīng)用關(guān)系代數(shù)表達(dá)式完成實(shí)際的查詢操作。
設(shè)有一個(gè)SPJ數(shù)據(jù)庫(kù),包括S,P,J,SPJ四個(gè)關(guān)系模式:
S(SNO,SNAME,STATUS,CITY);
P(PNO,PNAME,COLOR,WEIGHT);
J(JNO,JNANE,CITY);
SPJ(SNO,PNO,JNO,QTY)。
其中:供應(yīng)商表S由供應(yīng)商代碼(SNO)、供應(yīng)商姓名(SNAME)、供應(yīng)商狀態(tài)(STATUS)、供應(yīng)商所在城市(CITY)組成;
零件表P由零件代碼(PNO)、零件名(PNAME)、顏色(COLOR)、重量(WEIGHT)組成;工程項(xiàng)目表J 由工程項(xiàng)目代碼(JNO)、工程項(xiàng)目名(JNAME)、工程項(xiàng)目所在城市(CITY)組成;
供應(yīng)情況表SPJ由供應(yīng)商代碼(SNO)、零件代碼(PNO)、工程項(xiàng)目代碼(JNO)、供應(yīng)數(shù)量組成(QTY)組成,表示某供應(yīng)商供應(yīng)某種零件給某工程項(xiàng)目的數(shù)量為QTY。
試分別用關(guān)系代數(shù)和sql語(yǔ)句寫(xiě)出如下查詢:
1)求供應(yīng)工程J1 零件的供應(yīng)商號(hào)碼SNO。
2)求供應(yīng)工程J1 零件P1的供應(yīng)商號(hào)碼SNO。
3)求供應(yīng)工程J1 零件為紅色的供應(yīng)商號(hào)碼SNO。
4)求沒(méi)有使用天津供應(yīng)商生產(chǎn)的紅色零件的工程號(hào)。
5)求至少用了供應(yīng)商S1所供應(yīng)的全部零件的工程號(hào)。
關(guān)系代數(shù):
1)求供應(yīng)工程J1零件的供應(yīng)商號(hào)碼SNO:
πSno(σSno=‘J1’(SPJ))
2)求供應(yīng)工程J1零件P1的供應(yīng)商號(hào)碼SNO:
πSno(σSno=‘J1’∧Pno=‘P1‘(SPJ))
3)求供應(yīng)工程J1零件為紅色的供應(yīng)商號(hào)碼SNO:
πSno(σPno=‘P1‘(σCOLOR=’紅‘ (P)∞SPJ))
4)求沒(méi)有使用天津供應(yīng)商生產(chǎn)的紅色零件的工程號(hào)JNO:
πJno(SPJ)- πJNO(σcity=‘天津’∧Color=‘紅‘ (S∞SPJ∞P)
5)求至少用了供應(yīng)商S1所供應(yīng)的全部零件的工程號(hào)JNO:
πJno,Pno(SPJ) πPno(σSno=‘S1‘ (SPJ))
sql語(yǔ)句:
( l )求供應(yīng)工程 Jl 零件的供應(yīng)商號(hào)碼 SNO ;
SELECT SNO FROM SPJ WHERE JNO=’J1’
( 2 )求供應(yīng)工程 Jl 零件 Pl 的供應(yīng)商號(hào)碼 SNO ;
SELECT SNO FROM SPJ WHERE JNO=J1 AND PNO=P1
( 3 )求供應(yīng)工程 Jl 零件為紅色的供應(yīng)商號(hào)碼 SNO ;
SELECT SNO FROM SPJ,P WHEREJNO=J1 AND SPJ.PNO=P.PNO AND COLOR=紅
( 4 )求沒(méi)有使用天津供應(yīng)商生產(chǎn)的紅色零件的工程號(hào) JNO ;
SELECT JNO FROM SPJ WHERE JNO NOT IN(SELE JNO FROM SPJ,P,S WHERE S.CITY=天津 AND COLOR=紅 ANDS.SNO=SPJ.SNO AND P.PNO=SPJ.PNO)。
( 5 )求至少用了供應(yīng)商 Sl 所供應(yīng)的全部零件的工程號(hào) JNO ;
由于VFP不允許子查詢嵌套太深,將查詢分為兩步
A、查詢S1供應(yīng)商供應(yīng)的零件號(hào)
SELECT PNO FROM SPJ WHERE SNO=S1結(jié)果是(P1,P2)
B、查詢哪一個(gè)工程既使用P1零件又使用P2零件。
SELECT FROM SPJ WHEREPNO=P1
AND JNO IN (SELECT JNO FROM SPJ WHERE PNO=P2)
本章占試卷總分12%
3. 關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQL
(1)掌握SQL語(yǔ)言的主要功能;
sQL 的數(shù)據(jù)定義功能包括定義表、定義視圖和定義索引。 SQL 語(yǔ)言使用 cREATE TABLE 語(yǔ)句建立基本表, ALTER TABLE 語(yǔ)句修改基本表定義, DROP TABLE 語(yǔ)句刪除基本表;使用 CREATE INDEX 語(yǔ)句建立索引, DROP INDEX 語(yǔ)句刪除索引;使用 CREATE VIEW 語(yǔ)句建立視圖, DROP VIEW 語(yǔ)句刪除視圖。
(2) 掌握數(shù)據(jù)定義語(yǔ)句中的create和drop基本語(yǔ)法;
[例3]
CREATE SCHEMA TEST AUTHORIZATION ZHANG
CREATE TABLE TAB1(COL1 SMALLINT,
COL2 INT,
COL3 CHAR(20),
COL4 NUMERIC(10,3),
COL5 DECIMAL(5,2)
);
為用戶ZHANG創(chuàng)建了一個(gè)模式TEST,并在其中定義了一個(gè)表TAB1。
DROP SCHEMA <模式名>
CASCADE(級(jí)聯(lián))
刪除模式的同時(shí)把該模式中所有的數(shù)據(jù)庫(kù)對(duì)象全部刪除
RESTRICT(限制)
如果該模式中定義了下屬的數(shù)據(jù)庫(kù)對(duì)象(如表、視圖等),則拒絕該刪除語(yǔ)句的執(zhí)行。
當(dāng)該模式中沒(méi)有任何下屬的對(duì)象時(shí) 才能執(zhí)行。
[例4] DROP SCHEMA ZHANG CASCADE;
刪除模式ZHANG
同時(shí)該模式中定義的表TAB1也被刪除
[例5] 建立“學(xué)生”表Student,學(xué)號(hào)是主碼,姓名取值唯一
CREATE TABLE Student
(Sno CHAR(9) PRIMARY KEY, /* 列級(jí)完整性約束條件*/
Sname CHAR(20) UNIQUE, /* Sname取唯一值*/
Ssex CHAR(2),
Sage SMALLINT,
Sdept CHAR(20)
);
[例6] 建立一個(gè)“課程”表Course
CREATE TABLE Course
( Cno CHAR(4) PRIMARY KEY,
Cname CHAR(40),
Cpno CHAR(4) ,
Ccredit SMALLINT,
FOREIGN KEY (Cpno) REFERENCES Course(Cno)
);
[例7] 建立一個(gè)“學(xué)生選課”表SC
CREATE TABLE SC
(Sno CHAR(9),
Cno CHAR(4),
Grade SMALLINT,
PRIMARY KEY (Sno,Cno),
/* 主碼由兩個(gè)屬性構(gòu)成,必須作為表級(jí)完整性進(jìn)行定義*/
FOREIGN KEY (Sno) REFERENCES Student(Sno),
/* 表級(jí)完整性約束條件,Sno是外碼,被參照表是Student */
FOREIGN KEY (Cno) REFERENCES Course(Cno)
/* 表級(jí)完整性約束條件, Cno是外碼,被參照表是Course*/
);
[例11] 刪除Student表
DROP TABLE Student CASCADE ;
(基本表定義被刪除,數(shù)據(jù)被刪除;表上建立的索引、視圖、觸發(fā)器等一般也將被刪除 )
[例12]若表上建有視圖,選擇RESTRICT時(shí)表不能刪除
CREATE VIEW IS_Student
AS
SELECT Sno,Sname,Sage
FROM Student
WHERE Sdept=IS;
DROP TABLE Student RESTRICT;
--ERROR: cannot drop table Student because other objects depend on it
[例12]如果選擇CASCADE時(shí)可以刪除表,視圖也自動(dòng)被刪除
DROP TABLE Student CASCADE;
--NOTICE: drop cascades to view IS_Student
SELECT * FROM IS_Student;
--ERROR: relation " IS_Student " does not exist
(3) 熟練應(yīng)用SQL語(yǔ)句實(shí)現(xiàn)數(shù)據(jù)檢索功能,包括多表查詢和嵌套查詢;
P99-P115
(4) 熟練應(yīng)用SQL語(yǔ)句實(shí)現(xiàn)數(shù)據(jù)插入、修改和刪除操作;P115-P119
(5) 熟練應(yīng)用group分組和order排序語(yǔ)句;
(6) 掌握計(jì)數(shù)和求平均值等聚集函數(shù)的應(yīng)用;P97
(7) 熟練掌握視圖的定義和應(yīng)用視圖的優(yōu)點(diǎn);
P123 [例3.89]
試述視圖的優(yōu)點(diǎn)。
答 ( l )視圖能夠簡(jiǎn)化用戶的操作; ( 2 )視圖使用戶能以多種角度看待同一數(shù)據(jù); ( 3 )視圖對(duì)重構(gòu)數(shù)據(jù)庫(kù)提供了一定程度的邏輯獨(dú)立性; ( 4 )視圖能夠?qū)C(jī)密數(shù)據(jù)提供安全保護(hù)。
(8)試述等值連接與自然連接的區(qū)別和聯(lián)系。
答:連接運(yùn)算符是“=”的連接運(yùn)算稱(chēng)為等值連接。它是從關(guān)系R與S的廣義笛卡爾積中選取A,B屬性值相等的那些元組
自然連接是一種特殊的等值連接,它要求兩個(gè)關(guān)系中進(jìn)行比較的分量必須是相同的屬性組,并且在結(jié)果中把重復(fù)的屬性列去掉。
要點(diǎn)遺漏:
信息世界的基本概念:
(1) 實(shí)體:客觀存在并相互區(qū)別的事物稱(chēng)為實(shí)體
(2) 屬性:實(shí)體所具有的某一特性,一個(gè)實(shí)體可由若干個(gè)屬性來(lái)刻畫(huà)。
(3) 碼:唯一標(biāo)識(shí)實(shí)體的屬性集稱(chēng)為碼
(4) 實(shí)體型:具有相同屬性的實(shí)體具有相同的特征和性質(zhì),用實(shí)體名及其屬性名集合來(lái)抽象和刻畫(huà)同類(lèi)實(shí)體,稱(chēng)為實(shí)體型。
(5) 實(shí)體集:同型實(shí)體的集合稱(chēng)為實(shí)體集。
(6) 聯(lián)系:實(shí)體之間的聯(lián)系有一對(duì)多、一對(duì)一和多對(duì)多等多種類(lèi)型
課后習(xí)題3、5、9:P130
3、3 .用 sQL 語(yǔ)句建立第二章習(xí)題 5 中的 4 個(gè)表。
答:
對(duì)于 S 表: S ( SNO , SNAME , STATUS , CITY ) ;
建 S 表:
CREATE TABLE S ( Sno C(2) UNIQUE,Sname C(6) ,Status C(2),City C(4));
對(duì)于 P 表: P ( PNO , PNAME , COLOR , WEIGHT );
建 P 表 :
CREATE TABLE P(Pno C(2) UNIQUE,Pname C(6),COLOR C(2), WEIGHT INT);
對(duì)于 J 表: J ( JNO , JNAME , CITY);
建 J 表:
CREATE TABLE J(Jno C(2) UNlQUE,JNAME C(8), CITY C(4));
對(duì)于 sPJ 表: sPJ ( sNo , PNo , JNo , QTY) ;
建 SPJ 表:SPJ(SNO,PNO,JNO,QTY)
CREATE TABLE SPJ(Sno C(2),Pno C(2),JNO C(2), QTY INT))
5.針對(duì)習(xí)題3中的四個(gè)表試用SQL語(yǔ)言完成以下各項(xiàng)操作:
(1)找出所有供應(yīng)商的姓名和所在城市。
SELECT SNAME,CITY FROM S
(2)找出所有零件的名稱(chēng)、顏色、重量。
SELECT PNAME,COLOR,WEIGHT FROM P
(3)找出使用供應(yīng)商S1所供應(yīng)零件的工程號(hào)碼。
SELECT DIST JNO FROM SPJ WHERE SNO=S1
(4)找出工程項(xiàng)目J2使用的各種零件的名稱(chēng)及其數(shù)量。
SELECT PNAME,QTY FROM SPJ,P
WHERE P.PNO=SPJ.PNO AND SPJ.JNO=J2
(5)找出上海廠商供應(yīng)的所有零件號(hào)碼。
SELECT PNO FROM SPJ,S WHERE S.SNO=SPJ.SNO AND CITY=上海
(6)出使用上海產(chǎn)的零件的工程名稱(chēng)。
SELECT JNAME FROM SPJ,S,J
WHERE S.SNO=SPJ.SNO AND S.CITY=上海 AND J.JNO=SPJ.JNO
(7)找出沒(méi)有使用天津產(chǎn)的零件的工程號(hào)碼。
注意: SELECT DISP JNO FROM SPJ WHERE JNO NOT IN (SELECT DIST JNO FROM SPJ,S WHERE S.SNO=SPJ.SNO AND S.CITY=天津) 適用于JNO是唯一或不唯一的情況.
注意: SELECT DIST JNO FROM SPJ,S WHERE S.SNO=SPJ.SNO AND S.CITY<>天津適用于JNO是唯一的情況
(8)把全部紅色零件的顏色改成藍(lán)色。
UPDATE P SET COLOR=藍(lán) WHERE COLOR=紅
(9)由S5供給J4的零件P6改為由S3供應(yīng)。
UPDATE SPJ SET SNO=S3 WHERE SNO=S5 AND JNO=J4 AND PNO=P6
(10)從供應(yīng)商關(guān)系中刪除供應(yīng)商號(hào)是S2的記錄,并從供應(yīng)情況關(guān)系中刪除相應(yīng)的記錄。
A、DELETE FROM S WHERE SNO=’S2’
B、DELETE FROM SPJ WHERE SNO=‘S2’
(11)請(qǐng)將(S2,J6,P4,200)插入供應(yīng)情況關(guān)系。
INSERT INTO SPJ VALUES(‘S2’,‘J6’,‘P4’,200)
9、請(qǐng)為三建工程項(xiàng)目建立一個(gè)供應(yīng)情況的視圖,包括供應(yīng)商代碼(SNO)、零件代碼(PNO)、供應(yīng)數(shù)量(QTY)。
CREATE VIEW VSP AS SELECT SNO,PNO,QTY FROM SPJ,J
WHERE SPJ.JNO=J.JNO AND J.JNAME=三建
針對(duì)該視圖VSP完成下列查詢:
(1)找出三建工程項(xiàng)目使用的各種零件代碼及其數(shù)量。
SELECT DIST PNO,QTY FROM VSP
(2)找出供應(yīng)商S1的供應(yīng)情況。
SELECT DIST * FROM VSP WHERE SNO=S1本章占試卷總分18%
4. 數(shù)據(jù)庫(kù)安全性
(1)理解數(shù)據(jù)庫(kù)安全性的含義;
答:數(shù)據(jù)庫(kù)的安全性是指保護(hù)數(shù)據(jù)庫(kù)以防止不合法的使用所造成的數(shù)據(jù)泄露、更改或破壞。
(2) 熟練使用grant進(jìn)行授權(quán),使用revoke收回權(quán)限;
答:
SQL 中的自主存取控制是通過(guò)GRANT語(yǔ)句和REVOKE語(yǔ)句來(lái)實(shí)現(xiàn)的。如:
SELECT , INSERT ON Student
TO 王平
WITH GRANT OPTION ;
就將Student 表的SELECT 和INSERT 權(quán)限授予了用戶王平,后面的“WITH GRANT OPTION ”子句表示用戶王平同時(shí)也獲得了“授權(quán)”的權(quán)限,即可以把得到的權(quán)限繼續(xù)授予其他用戶。
REVOKE INSERT ON Student FROM 王平CASCADE ;
就將Student 表的INSERT 權(quán)限從用戶王平處收回,選項(xiàng)CASCADE 表示,如果用戶王平將Student 的INSERT 權(quán)限又轉(zhuǎn)授給了其他用戶,那么這些權(quán)限也將從其他用戶處收回。
(3) 理解數(shù)據(jù)庫(kù)管理系統(tǒng)的存取控制方法;
存取控制機(jī)制組成:定義用戶權(quán)限+合法權(quán)限檢查
用戶權(quán)限定義和合法權(quán)檢查機(jī)制一起組成了DBMS的安全子系統(tǒng)
常用存取控制方法:
自主存取控制
C2級(jí)
靈活
強(qiáng)制存取控制
B1級(jí)
嚴(yán)格
自主存取控制方法:定義各個(gè)用戶對(duì)不同數(shù)據(jù)對(duì)象的存取權(quán)限。當(dāng)用戶對(duì)數(shù)據(jù)庫(kù)訪問(wèn)時(shí)首先檢查用戶的存取權(quán)限。防止不合法用戶對(duì)數(shù)據(jù)庫(kù)的存取。
強(qiáng)制存取控制方法:每一個(gè)數(shù)據(jù)對(duì)象被(強(qiáng)制地)標(biāo)以一定的密級(jí),每一個(gè)用戶也被(強(qiáng)制地)授予某一個(gè)級(jí)別的許可證。系統(tǒng)規(guī)定只有具有某一許可證級(jí)別的用戶才能存取某一個(gè)密級(jí)的數(shù)據(jù)對(duì)象。
(4) 理解視圖機(jī)制實(shí)現(xiàn)數(shù)據(jù)庫(kù)安全性控制。
視圖機(jī)制:為不同的用戶定義視圖,通過(guò)視圖機(jī)制把要保密的數(shù)據(jù)對(duì)無(wú)權(quán)存取的用戶隱藏起來(lái),從而自動(dòng)地對(duì)數(shù)據(jù)提供一定程度的安全保護(hù)。
主要功能是提供數(shù)據(jù)獨(dú)立性,無(wú)法完全滿足要求
間接實(shí)現(xiàn)了支持存取謂詞的用戶權(quán)限定義
[例14]建立計(jì)算機(jī)系學(xué)生的視圖,把對(duì)該視圖的SELECT權(quán)限授于王平,把該視圖上的所有操作權(quán)限授于張明
先建立計(jì)算機(jī)系學(xué)生的視圖CS_Student
CREATE VIEW CS_Student
AS
SELECT *FROM Student
WHERE Sdept=CS;
在視圖上進(jìn)一步定義存取權(quán)限
GRANT SELECT
ON CS_Student
TO 王平 ;
GRANT ALL PRIVILIGES
ON CS_Student
TO 張明;
P155(7\9)
7請(qǐng)用SQL的GRANT 和REVOKE語(yǔ)句(加上視圖機(jī)制)完成以下授權(quán)定義或存取控制功能:
( a )用戶王明對(duì)兩個(gè)表有SELECT 權(quán)力。
GRANT SELECT ON 職工,部門(mén)
TO 王明
( b )用戶李勇對(duì)兩個(gè)表有INSERT 和DELETE 權(quán)力。
GRANT INSERT,DELETE ON 職工,部門(mén)
TO 李勇
( c ) 每個(gè)職工只對(duì)自己的記錄有SELECT 權(quán)力。
GRANT SELECT ON 職工
WHEN USER()=NAME
TO ALL;
( d )用戶劉星對(duì)職工表有SELECT 權(quán)力,對(duì)工資字段具有更新權(quán)力。
GRANT SELECT,UPDATE(工資) ON 職工
TO 劉星
( e )用戶張新具有修改這兩個(gè)表的結(jié)構(gòu)的權(quán)力。
GRANT ALTER TABLE ON 職工,部門(mén)
TO 張新;
( f )用戶周平具有對(duì)兩個(gè)表所有權(quán)力(讀,插,改,刪數(shù)據(jù)),并具有給其他用戶授權(quán)的權(quán)力。
GRANT ALL PRIVILIGES ON 職工,部門(mén)
TO 周平
WITH GRANT OPTION;
( g )用戶楊蘭具有從每個(gè)部門(mén)職工中SELECT 最高工資、最低工資、平均工資的權(quán)力,他不能查看每個(gè)人的工資。
CREATE VIEW 部門(mén)工資 AS
SELECT 部門(mén).名稱(chēng),MAX(工資),MIN(工資),AVG(工資)
FROM 職工,部門(mén)
WHERE 職工.部門(mén)號(hào)=部門(mén).部門(mén)號(hào)
GROUP BY 職工.部門(mén)號(hào)
GRANT SELECT ON 部門(mén)工資
TO 楊蘭;
8.把習(xí)題8 中(1)---(7)的每一種情況,撤銷(xiāo)各用戶所授予的權(quán)力
(1) REVOKE SELECT ON 職工,部門(mén) FROM 王明;
(2) REVOKE INSERT , DELETE ON 職工,部門(mén) FROM 李勇;
(3) REOVKE SELECT ON 職工
WHEN USER ( ) =NAME
FROM ALI ;
(4) REVOKE SELECT , UPDATE ON 職工
FROM 劉星;
(5) REVOKE ALTER TABLE ON 職工,部門(mén)
FROM 張新;
(6) REVOKE ALL PRIVILIGES ON 職工,部門(mén)
FROM 周平;
(7) REVOKE SELECT ON 部門(mén)工資
FROM 楊蘭;
DROP VIEW 部門(mén)工資;
本章占試卷總分4%
5. 數(shù)據(jù)庫(kù)完整性
數(shù)據(jù)庫(kù)的完整性:數(shù)據(jù)的正確性和相容性
數(shù)據(jù)的完整性和安全性是兩個(gè)不同概念
≠數(shù)據(jù)的完整性:防止數(shù)據(jù)庫(kù)中存在不符合語(yǔ)義的數(shù)據(jù),也就是防止數(shù)據(jù)庫(kù)中存在不正確的數(shù)據(jù)
防范對(duì)象:不合語(yǔ)義的、不正確的數(shù)據(jù)
≠數(shù)據(jù)的安全性:保護(hù)數(shù)據(jù)庫(kù)防止惡意的破壞和非法的存取
防范對(duì)象:非法用戶和非法操作
(1)理解關(guān)系主碼的含義,能夠指定具體關(guān)系模式的主碼;
(2) 理解關(guān)系外碼的含義,能夠找出具體關(guān)系模式的外碼;
(3) 掌握使用SQL數(shù)據(jù)定義語(yǔ)句實(shí)現(xiàn)實(shí)體完整性和參照完整性;
(4) 關(guān)系系統(tǒng)中,當(dāng)操作違反實(shí)體完整性、參照完整性和用戶定義的完整性約束條件時(shí),一般是如何分別進(jìn)行處理的?
答:對(duì)于違反實(shí)體完整性和用戶定義的完整性的操作一般都采用拒絕執(zhí)行的方式進(jìn)行處理。而對(duì)于違反參照完整性的操作,并不都是簡(jiǎn)單地拒絕執(zhí)行,有時(shí)要根據(jù)應(yīng)用語(yǔ)義執(zhí)行一些附加的操作,以保證數(shù)據(jù)庫(kù)的正確性。
實(shí)體完整性定義
CREATE TABLE中用PRIMARY KEY定義
≠單屬性構(gòu)成的碼有兩種說(shuō)明方法:
定義為列級(jí)約束條件
定義為表級(jí)約束條件
≠對(duì)多個(gè)屬性構(gòu)成的碼只有一種說(shuō)明方法
定義為表級(jí)約束條件
[例1] 將Student表中的Sno屬性定義為碼
(1) 在列級(jí)定義主碼
CREATE TABLE Student
(Sno CHAR(9) PRIMARY KEY,
Sname CHAR(20) NOT NULL,
Ssex CHAR(2) ,
Sage SMALLINT,
Sdept CHAR(20));
(2)在表級(jí)定義主碼
CREATE TABLE Student
(Sno CHAR(9),
Sname CHAR(20) NOT NULL,
Ssex CHAR(2) ,
Sage SMALLINT,
Sdept CHAR(20),
PRIMARY KEY (Sno)
);
[例2]將SC表中的Sno,Cno屬性組定義為碼
CREATE TABLE SC
(Sno CHAR(9) NOT NULL,
Cno CHAR(4) NOT NULL,
Grade SMALLINT,
PRIMARY KEY (Sno,Cno) /*只能在表級(jí)定義主碼*/
);
關(guān)系模型的參照完整性定義
在CREATE TABLE中用FOREIGN KEY短語(yǔ)定義哪些列為外碼
用REFERENCES短語(yǔ)指明這些外碼參照哪些表的主碼
例如,關(guān)系SC中一個(gè)元組表示一個(gè)學(xué)生選修的某門(mén)課程的成績(jī),(Sno,Cno)是主碼。Sno,Cno分別參照引用Student表的主碼和Course表的主碼
[例3] 定義SC中的參照完整性
CREATE TABLE SC
(Sno CHAR(9) NOT NULL,
Cno CHAR(4) NOT NULL,
Grade SMALLINT,
PRIMARY KEY (Sno, Cno), /*在表級(jí)定義實(shí)體完整性*/
FOREIGN KEY (Sno) REFERENCES Student(Sno),
/*在表級(jí)定義參照完整性*/
FOREIGN KEY (Cno) REFERENCES Course(Cno)
/*在表級(jí)定義參照完整性*/
);
(5) 使用SQL完成自定義完整性約束。
1.不允許取空值
[例5] 在定義SC表時(shí),說(shuō)明Sno、Cno、Grade屬性不允許取空值。
CREATE TABLE SC
(Sno CHAR(9) NOT NULL,
Cno CHAR(4) NOT NULL,
Grade SMALLINT NOT NULL,
PRIMARY KEY (Sno, Cno),
/* 如果在表級(jí)定義實(shí)體完整性,隱含了Sno,Cno不允許取空值,則在列級(jí)不允許取空值的定義就不必寫(xiě)了 * /
);
2.列值唯一
[例6] 建立部門(mén)表DEPT,要求部門(mén)名稱(chēng)Dname列取值唯一,部門(mén)編號(hào)Deptno列為主碼
CREATE TABLE DEPT
(Deptno NUMERIC(2),
Dname CHAR(9) UNIQUE,/*要求Dname列值唯一*/
Location CHAR(10),
PRIMARY KEY (Deptno)
);
3. 用CHECK短語(yǔ)指定列值應(yīng)該滿足的條件
[例7] Student表的Ssex只允許取“男”或“女”。
CREATE TABLE Student
(Sno CHAR(9) PRIMARY KEY,
Sname CHAR(8) NOT NULL,
Ssex CHAR(2) CHECK (Ssex IN (‘男’,‘女’) ) ,
/*性別屬性Ssex只允許取男或女 */
Sage SMALLINT,
Sdept CHAR(20)
);
[例9] 當(dāng)學(xué)生的性別是男時(shí),其名字不能以Ms.打頭。
CREATE TABLE Student
(Sno CHAR(9),
Sname CHAR(8) NOT NULL,
Ssex CHAR(2),
Sage SMALLINT,
Sdept CHAR(20),
PRIMARY KEY (Sno),
CHECK (Ssex=女 OR Sname NOT LIKE Ms.%)
/*定義了元組中Sname和 Ssex兩個(gè)屬性值之間的約束條件*/
);
性別是女性的元組都能通過(guò)該項(xiàng)檢查,因?yàn)镾sex=‘女’成立;
當(dāng)性別是男性時(shí),要通過(guò)檢查則名字一定不能以Ms.打頭
課后習(xí)題6:P173
6 .假設(shè)有下面兩個(gè)關(guān)系模式:職工(職工號(hào),姓名,年齡,職務(wù),工資,部門(mén)號(hào)),其中職工號(hào)為主碼;部門(mén)(部門(mén)號(hào),名稱(chēng),經(jīng)理名,電話),其中部門(mén)號(hào)為主碼。用 sQL 語(yǔ)言定義這兩個(gè)關(guān)系模式,要求在模式中完成以下完整性約束條件的定義:定義每個(gè)模式的主碼;定義參照完整性;定義職工年齡不得超過(guò) 60 歲。
答
CREATE TABLE DEPT
(Deptno NUMBER(2),
Deptname VARCHAR(10),
Manager VARCHAR(10),
PhoneNumber Char(12)
CONSTRAINT PK_SC RIMARY KEY(Deptno));
CREATE TABLE EMP
(Empno NUMBER(4),
Ename VARCHAR(10),
Age NUMBER(2),
CONSTRAINT C1 CHECK ( Aage<=60),
Job VARCHAR(9),
Sal NUMBER(7,2),
Deptno NUMBER(2),
CONSTRAINT FK_DEPTNO
FOREIGN KEY(Deptno)
REFFERENCES DEPT(Deptno));
本章占試卷總分8%
6. 關(guān)系數(shù)據(jù)理論
(1)根據(jù)實(shí)際語(yǔ)義確定關(guān)系模式的函數(shù)依賴(lài)集;P180
(2) 掌握1NF、2NF、3NF和BCNF的定義;P180
(3) 理解1NF、2NF可能存在的插入和刪除異?,F(xiàn)象,并能結(jié)合具體關(guān)系模式舉例說(shuō)明;P183
(4) 理解滿足BCNF關(guān)系模式的特點(diǎn);
(5)能夠判定指定關(guān)系模式的范式級(jí)別,并陳述判定依據(jù);
(6)能夠根據(jù)語(yǔ)義將低級(jí)別范式分解為高級(jí)別范式;
(7)能夠依據(jù)函數(shù)依賴(lài)找出關(guān)系的候選碼。
課后習(xí)題:
2.建立一個(gè)關(guān)于系、學(xué)生、班級(jí)、學(xué)會(huì)等諸信息的關(guān)系數(shù)據(jù)庫(kù)。
學(xué)生:學(xué)號(hào)、姓名、出生年月、系名、班號(hào)、宿舍區(qū)。
班級(jí):班號(hào)、專(zhuān)業(yè)名、系名、人數(shù)、入校年份。
系:系名、系號(hào)、系辦公地點(diǎn)、人數(shù)。
學(xué)會(huì):學(xué)會(huì)名、成立年份、辦公地點(diǎn)、人數(shù)。
語(yǔ)義如下:一個(gè)系有若干專(zhuān)業(yè),每個(gè)專(zhuān)業(yè)每年只招一個(gè)班,每個(gè)班有若干學(xué)生。一個(gè)系的學(xué)生住在同一宿舍區(qū)。每個(gè)學(xué)生可參加若干學(xué)會(huì),每個(gè)學(xué)會(huì)有若干學(xué)生。學(xué)生參加某學(xué)會(huì)有一個(gè)入會(huì)年份。
請(qǐng)給出關(guān)系模式,寫(xiě)出每個(gè)關(guān)系模式的極小函數(shù)依賴(lài)集,指出是否存在傳遞函數(shù)依賴(lài),對(duì)于函數(shù)依賴(lài)左部是多屬性的情況討論函數(shù)依賴(lài)是完全函數(shù)依賴(lài),還是部分函數(shù)依賴(lài)。指出各關(guān)系模式的候選碼、外部碼,有沒(méi)有全碼存在?
解:(1)關(guān)系模式如下:
學(xué)生:S(Sno,Sname,Sbirth,Dept,Class,Rno)
班級(jí):C(Class,Pname,Dept,Cnum,Cyear)
系:D(Dept,Dno,Office,Dnum)
學(xué)會(huì):M(Mname,Myear,Maddr,Mnum)
(2)每個(gè)關(guān)系模式的最小函數(shù)依賴(lài)集如下:
A、學(xué)生S (Sno,Sname,Sbirth,Dept,Class,Rno) 的最小函數(shù)依賴(lài)集如下:SnoSname,SnoSbirth,SnoClass,ClassDept,DEPTRno
傳遞依賴(lài)如下:
由于SnoDept,而DeptSno ,DeptRno(宿舍區(qū))
所以Sno與Rno之間存在著傳遞函數(shù)依賴(lài)。
由于ClassDept,Dept Class,DeptRno
所以Class與Rno之間存在著傳遞函數(shù)依賴(lài)。
由于SnoClass,ClassSno,ClassDept
所以Sno與Dept之間存在著傳遞函數(shù)依賴(lài)。
B、班級(jí)C(Class,Pname,Dept,Cnum,Cyear)的最小函數(shù)依賴(lài)集如下:
ClassPname,ClassCnum,ClassCyear,PnameDept.
由于ClassPname,PnameClass,PnameDept
所以C1ass與Dept之間存在著傳遞函數(shù)依賴(lài)。
C、系D(Dept,Dno,Office,Dnum)的最小函數(shù)依賴(lài)集如下:
DeptDno,DnoDept,DnoOffice,DnoDnum
根據(jù)上述函數(shù)依賴(lài)可知,Dept與Office,Dept與Dnum之間不存在傳遞依賴(lài)。
D、學(xué)會(huì)M(Mname,Myear,Maddr,Mnum)的最小函數(shù)依賴(lài)集如下:
MnameMyear,MnameMaddr,MnameMnum
該模式不存在傳遞依賴(lài)。
(3)各關(guān)系模式的候選碼、外部碼,全碼如下:
A、學(xué)生S候選碼:Sno;外部碼:Dept、Class;無(wú)全碼
B、班級(jí)C候選碼:Class;外部碼:Dept;無(wú)全碼
C、系D候選碼:Dept或Dno;無(wú)外部碼;無(wú)全碼
D、學(xué)會(huì)M候選碼:Mname;無(wú)外部碼;無(wú)全碼
5 .試舉出3 個(gè)多值依賴(lài)的實(shí)例。
答:(1)關(guān)系模式MSC ( M , S , C )中,M 表示專(zhuān)業(yè),S 表示學(xué)生,C 表示該專(zhuān)業(yè)的必修課。假設(shè)每個(gè)專(zhuān)業(yè)有多個(gè)學(xué)生,有一組必修課。設(shè)同專(zhuān)業(yè)內(nèi)所有學(xué)生選修的必修課相同,實(shí)例關(guān)系如下。按照語(yǔ)義對(duì)于M 的每一個(gè)值M i , s 有一個(gè)完整的集合與之對(duì)應(yīng)而不問(wèn)C 取何值,所以M 一一S 。由于C 與S 的完全對(duì)稱(chēng)性,必然有M 一一C 成立。
(2)關(guān)系模式ISA ( I , S , A )中,I 表示學(xué)生興趣小組,S 表示學(xué)生,A 表示某興趣小組的活動(dòng)項(xiàng)目。假設(shè)每個(gè)興趣小組有多個(gè)學(xué)生,有若干活動(dòng)項(xiàng)目。每個(gè)學(xué)生必須參加所在興趣小組的所有活動(dòng)項(xiàng)目,每個(gè)活動(dòng)項(xiàng)目要求該興趣小組的所有學(xué)生參加。
按照語(yǔ)義有I 一一S , I 一一A 成立。
(3) 關(guān)系模式RDP ( R , D , P )中,R 表示醫(yī)院的病房,D 表示責(zé)任醫(yī)務(wù)人員,P 表示病人。假設(shè)每個(gè)病房住有多個(gè)病人,有多個(gè)責(zé)任醫(yī)務(wù)人員負(fù)責(zé)醫(yī)治和護(hù)理該病房的所有病人。
下面的結(jié)論哪些是正確的? 哪些是錯(cuò)誤的? 對(duì)于錯(cuò)誤的請(qǐng)給一個(gè)反例說(shuō)明之。
(1)任何一個(gè)二目關(guān)系是屬于3NF。
答:正確。因?yàn)殛P(guān)系模式中只有兩個(gè)屬性,所以無(wú)傳遞。
(2)任何一個(gè)二目關(guān)系是屬于BCNF.
答:正確。按BCNF的定義,若XY,且Y不是X的子集時(shí),每個(gè)決定因素都包含碼,對(duì)于二目關(guān)系決定因素必然包含碼。
本章占試卷總分20%
7. 數(shù)據(jù)庫(kù)設(shè)計(jì)
(1)熟練掌握關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)的基本步驟,能簡(jiǎn)單描述各個(gè)步驟主要完成的任務(wù);
數(shù)據(jù)庫(kù)設(shè)計(jì)分6個(gè)階段
需求分析:準(zhǔn)確了解與分析用戶需求(包括數(shù)據(jù)與處理)
概念結(jié)構(gòu)設(shè)計(jì):通過(guò)對(duì)用戶需求進(jìn)行綜合、歸納與抽象,形成一個(gè)獨(dú)立于具體 DBMS 的概念模型。
邏輯結(jié)構(gòu)設(shè)計(jì):將概念結(jié)構(gòu)轉(zhuǎn)換為某個(gè) DBMS 所支持的數(shù)據(jù)模型,并對(duì)其進(jìn)行優(yōu)化。
物理結(jié)構(gòu)設(shè)計(jì):為邏輯數(shù)據(jù)模型選取一個(gè)最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)(包括存儲(chǔ)結(jié)構(gòu)和存取方法)。
數(shù)據(jù)庫(kù)實(shí)施:設(shè)計(jì)人員運(yùn)用 DBMS 提供的數(shù)據(jù)語(yǔ)言、工具及宿主語(yǔ)言,根據(jù)邏輯設(shè)計(jì)和物理設(shè)計(jì)的結(jié)果建立數(shù)據(jù)庫(kù),編制與調(diào)試應(yīng)用程序,組織數(shù)據(jù)入庫(kù),并進(jìn)行試運(yùn)行。
數(shù)據(jù)庫(kù)運(yùn)行和維護(hù):在數(shù)據(jù)庫(kù)系統(tǒng)運(yùn)行過(guò)程中對(duì)其進(jìn)行評(píng)價(jià)、調(diào)整與修改。
(2) 了解需求分析階段完成的主要工作和結(jié)果;
需求分析的任務(wù)
詳細(xì)調(diào)查現(xiàn)實(shí)世界要處理的對(duì)象(組織、部門(mén)、企業(yè)等)
充分了解原系統(tǒng)(手工系統(tǒng)或計(jì)算機(jī)系統(tǒng))
明確用戶的各種需求
確定新系統(tǒng)的功能
充分考慮今后可能的擴(kuò)充和改變
調(diào)查的重點(diǎn)是“數(shù)據(jù)”和“處理”,獲得用戶對(duì)數(shù)據(jù)庫(kù)要求
信息要求
處理要求
安全性與完整性要求
(3) 理解物理結(jié)構(gòu)設(shè)計(jì)的主要工作;
答:數(shù)據(jù)庫(kù)在物理設(shè)備上的存儲(chǔ)結(jié)構(gòu)與存取方法稱(chēng)為數(shù)據(jù)庫(kù)的物理結(jié)構(gòu),它依賴(lài)于給定的 DBMS 。為一個(gè)給定的邏輯數(shù)據(jù)模型選取一個(gè)最適合應(yīng)用要求的物理結(jié)構(gòu),就是數(shù)據(jù)庫(kù)的物理設(shè)計(jì)的主要內(nèi)容。數(shù)據(jù)庫(kù)的物理設(shè)計(jì)步驟通常分為兩步: ( l)確定數(shù)據(jù)庫(kù)的物理結(jié)構(gòu),在關(guān)系數(shù)據(jù)庫(kù)中主要指存取方法和存儲(chǔ)結(jié)構(gòu); ( 2)對(duì)物理結(jié)構(gòu)進(jìn)行評(píng)價(jià),評(píng)價(jià)的重點(diǎn)是時(shí)間效率和空間效率。
(4) 能夠陳述數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)的含義,并闡述其具體設(shè)計(jì)步驟;
數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)設(shè)計(jì)就是把概念結(jié)構(gòu)設(shè)計(jì)階段設(shè)計(jì)好的基本 E 一 R 圖轉(zhuǎn)換為與選用的 DBMS 產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)。設(shè)計(jì)步驟為 : ( l)將概念結(jié)構(gòu)轉(zhuǎn)換為一般的關(guān)系、網(wǎng)狀、層次模型; ( 2)將轉(zhuǎn)換來(lái)的關(guān)系、網(wǎng)狀、層次模型向特定 DBMS 支持下的數(shù)據(jù)模型轉(zhuǎn)換; ( 3)對(duì)數(shù)據(jù)模型進(jìn)行優(yōu)化。
(5)能夠根據(jù)實(shí)際應(yīng)用場(chǎng)景設(shè)計(jì)ER圖,并正確判定聯(lián)系類(lèi)型的種類(lèi)和各個(gè)實(shí)體的屬性;
(6)能夠結(jié)合實(shí)際,并依據(jù)聯(lián)系類(lèi)型的轉(zhuǎn)換規(guī)則將ER圖轉(zhuǎn)換為關(guān)系模式,同時(shí)正確標(biāo)注關(guān)系模式的主碼;
(7)理解局部視圖集成過(guò)程中產(chǎn)生的沖突種類(lèi)。
課后習(xí)題7、8、10
7、
10.
本章占試卷總分18%
8. 數(shù)據(jù)庫(kù)編程
存儲(chǔ)過(guò)程:由過(guò)程化SQL語(yǔ)句書(shū)寫(xiě)的過(guò)程,經(jīng)編譯和優(yōu)化后存儲(chǔ)在數(shù)據(jù)庫(kù)服務(wù)器中,使用時(shí)只要調(diào)用即可。
存儲(chǔ)過(guò)程的優(yōu)點(diǎn)
(1)運(yùn)行效率高
(2)降低了客戶機(jī)和服務(wù)器之間的通信量
(3)方便實(shí)施企業(yè)規(guī)則
本章占試卷總分4%
9. 關(guān)系查詢處理和查詢優(yōu)化
在集中式數(shù)據(jù)庫(kù)中,查詢執(zhí)行開(kāi)銷(xiāo)主要包括磁盤(pán)存取塊數(shù)(I/O代價(jià))、處理機(jī)時(shí)間(CPU代價(jià))以及查詢的內(nèi)存開(kāi)銷(xiāo)。
典型的啟發(fā)式規(guī)則有:
(1)選擇運(yùn)算盡可能先做
(2)把投影運(yùn)算和選擇運(yùn)算同時(shí)進(jìn)行
(3)把投影同其前或后的雙目運(yùn)算結(jié)合
(4)把某些選擇同在它前面要執(zhí)行的笛卡爾積結(jié)合起來(lái)成為連接運(yùn)算
(1) 能夠?qū)崿F(xiàn)關(guān)系代數(shù)表達(dá)式與SQL語(yǔ)句的轉(zhuǎn)換;
(2)
(2) 理解關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)查詢處理的基本過(guò)程;
(3) 理解查詢優(yōu)化的目標(biāo)以及查詢操作的主要代價(jià)。
本章占試卷總分2%
10. 數(shù)據(jù)庫(kù)恢復(fù)技術(shù)
(1)理解事務(wù)的概念和事務(wù)的四大特性;
事務(wù)(Transaction)是用戶定義的一個(gè)數(shù)據(jù)庫(kù)操作序列,這些操作要么全做,要么全不做,是一個(gè)不可分割的工作單位。
事務(wù)和程序是兩個(gè)概念
在關(guān)系數(shù)據(jù)庫(kù)中,一個(gè)事務(wù)可以是一條SQL語(yǔ)句,一組SQL語(yǔ)句或整個(gè)程序
一個(gè)程序通常包含多個(gè)事務(wù)
事務(wù)是恢復(fù)和并發(fā)控制的基本單位
事務(wù)的四大特性:(ACID特性)
原子性(Atomicity)事務(wù)是數(shù)據(jù)庫(kù)的邏輯工作單位,事務(wù)中包括的諸操作要么都做,要么都不做
一致性(Consistency):
事務(wù)執(zhí)行的結(jié)果必須是使數(shù)據(jù)庫(kù)從一個(gè)一致性狀態(tài)變到另一個(gè)一致性狀態(tài)
一致性狀態(tài)
數(shù)據(jù)庫(kù)中只包含成功事務(wù)提交的結(jié)果
不一致?tīng)顟B(tài)
數(shù)據(jù)庫(kù)系統(tǒng)運(yùn)行中發(fā)生故障,有些事務(wù)尚未完成就被迫中斷;
這些未完成事務(wù)對(duì)數(shù)據(jù)庫(kù)所做的修改有一部分已寫(xiě)入物理數(shù)據(jù)庫(kù),這時(shí)數(shù)據(jù)庫(kù)就處于一種不正確的狀態(tài)
隔離性(Isolation)
一個(gè)事務(wù)的執(zhí)行不能被其他事務(wù)干擾
一個(gè)事務(wù)內(nèi)部的操作及使用的數(shù)據(jù)對(duì)其他并發(fā)事務(wù)是隔離的
并發(fā)執(zhí)行的各個(gè)事務(wù)之間不能互相干擾
持續(xù)性(Durability )
持續(xù)性也稱(chēng)永久性(Permanence)
一個(gè)事務(wù)一旦提交,它對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)的改變就應(yīng)該是永久性的。
接下來(lái)的其他操作或故障不應(yīng)該對(duì)其執(zhí)行結(jié)果有任何影響。
(2)掌握建立冗余的常用技術(shù);
數(shù)據(jù)轉(zhuǎn)儲(chǔ)和登記日志文件
(4) 理解事務(wù)日志的作用;
進(jìn)行事務(wù)故障恢復(fù)
進(jìn)行系統(tǒng)故障恢復(fù)
協(xié)助后備副本進(jìn)行介質(zhì)故障恢復(fù)
(5) 掌握事務(wù)的提交和撤銷(xiāo)方法;
COMMIT
事務(wù)正常結(jié)束
提交事務(wù)的所有操作(讀+更新)
事務(wù)中所有對(duì)數(shù)據(jù)庫(kù)的更新寫(xiě)回到磁盤(pán)上的物理數(shù)據(jù)庫(kù)中
ROLLBACK
事務(wù)異常終止
事務(wù)運(yùn)行的過(guò)程中發(fā)生了故障,不能繼續(xù)執(zhí)行
系統(tǒng)將事務(wù)中對(duì)數(shù)據(jù)庫(kù)的所有已完成的操作全部撤銷(xiāo)
事務(wù)滾回到開(kāi)始時(shí)的狀態(tài)
(6) 掌握數(shù)據(jù)庫(kù)運(yùn)行中可能產(chǎn)生的故障種類(lèi),理解各種故障對(duì)數(shù)據(jù)庫(kù)帶來(lái)的影響;
1.事務(wù)內(nèi)部的故障
有的是可以通過(guò)事務(wù)程序本身發(fā)現(xiàn)的(見(jiàn)下面轉(zhuǎn)賬事務(wù)的例子)
有的是非預(yù)期的,不能由事務(wù)程序處理的。
2.系統(tǒng)故障:稱(chēng)為軟故障,是指造成系統(tǒng)停止運(yùn)轉(zhuǎn)的任何事件,使得
系統(tǒng)要重新啟動(dòng)。
整個(gè)系統(tǒng)的正常運(yùn)行突然被破壞
所有正在運(yùn)行的事務(wù)都非正常終止
不破壞數(shù)據(jù)庫(kù)
內(nèi)存中數(shù)據(jù)庫(kù)緩沖區(qū)的信息全部丟失
3.介質(zhì)故障:
稱(chēng)為硬故障,指外存故障
磁盤(pán)損壞
磁頭碰撞
瞬時(shí)強(qiáng)磁場(chǎng)干擾
介質(zhì)故障破壞數(shù)據(jù)庫(kù)或部分?jǐn)?shù)據(jù)庫(kù),并影響正在存取這部分?jǐn)?shù)據(jù)的所有事務(wù)
介質(zhì)故障比前兩類(lèi)故障的可能性小得多,但破壞性大得多
4.計(jì)算機(jī)病毒
一種人為的故障或破壞,是一些惡作劇者研制的一種計(jì)算機(jī)程序
可以繁殖和傳播,造成對(duì)計(jì)算機(jī)系統(tǒng)包括數(shù)據(jù)庫(kù)的危害
計(jì)算機(jī)病毒種類(lèi)
小的病毒只有20條指令,不到50B
大的病毒像一個(gè)操作系統(tǒng),由上萬(wàn)條指令組成
本章占試卷總分4%
11. 并發(fā)控制
(1)理解并發(fā)控制的含義;
并發(fā)控制機(jī)制是衡量一個(gè)數(shù)據(jù)庫(kù)管理系統(tǒng)性能的重要標(biāo)志之一。
(2) 理解并發(fā)操作可能產(chǎn)生的問(wèn)題;
會(huì)產(chǎn)生多個(gè)事務(wù)同時(shí)存取同一數(shù)據(jù)的情況
可能會(huì)存取和存儲(chǔ)不正確的數(shù)據(jù),破壞事務(wù)隔離性和數(shù)據(jù)庫(kù)的一致性
(3) 掌握常見(jiàn)的并發(fā)控制技術(shù);
鏈接地址:http://www.3dchina-expo.com/p-13151369.html