




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、返回返回1SQL Server 2000SQL Server 2000數(shù)據(jù)庫系統(tǒng)原理與應(yīng)用數(shù)據(jù)庫系統(tǒng)原理與應(yīng)用 習(xí)題課習(xí)題課返回返回2第一章第一章 數(shù)據(jù)庫系統(tǒng)概述數(shù)據(jù)庫系統(tǒng)概述 4. 使用數(shù)據(jù)庫系統(tǒng)有什么優(yōu)點(diǎn)?使用數(shù)據(jù)庫系統(tǒng)有什么優(yōu)點(diǎn)? 數(shù)據(jù)結(jié)構(gòu)化 數(shù)據(jù)的共享性高、冗余度低、易擴(kuò)充 數(shù)據(jù)獨(dú)立性高 DBMS對數(shù)據(jù)進(jìn)行統(tǒng)一的管理和控制6. 數(shù)據(jù)庫管理系統(tǒng)的主要功能有哪些?數(shù)據(jù)庫管理系統(tǒng)的主要功能有哪些? 數(shù)據(jù)定義功能 數(shù)據(jù)操縱功能 數(shù)據(jù)庫的事務(wù)管理和運(yùn)行管理 數(shù)據(jù)庫的建立和維護(hù)功能 其他功能9. 簡述數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu),這種結(jié)構(gòu)的優(yōu)點(diǎn)是什么?簡述數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu),這種結(jié)構(gòu)的優(yōu)點(diǎn)是什么
2、? 模式(邏輯模式):模式(邏輯模式):模式結(jié)構(gòu)的中間層,是數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是所有用戶的公共數(shù)據(jù)視圖。返回返回3 外模式(用戶模式):外模式(用戶模式):是數(shù)據(jù)庫用戶能夠看見和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是數(shù)據(jù)庫用戶的數(shù)據(jù)視圖,是與某一應(yīng)用有關(guān)的數(shù)據(jù)的邏輯表示。 內(nèi)模式(存儲模式):內(nèi)模式(存儲模式):是數(shù)據(jù)物理結(jié)構(gòu)和存儲方式的描述,是數(shù)據(jù)在數(shù)據(jù)庫內(nèi)部的表示方式。 優(yōu)點(diǎn):優(yōu)點(diǎn):三級模式是對數(shù)據(jù)的三個(gè)抽象級別,它把數(shù)據(jù)的具體組織留給DBMS管理,使用戶能邏輯地、抽象地處理數(shù)據(jù),而不必關(guān)心數(shù)據(jù)在計(jì)算機(jī)中的具體表示方式與存儲方式。10. 什么是數(shù)據(jù)庫的邏輯獨(dú)立性、物
3、理獨(dú)立性?為什么數(shù)據(jù)庫系統(tǒng)什么是數(shù)據(jù)庫的邏輯獨(dú)立性、物理獨(dú)立性?為什么數(shù)據(jù)庫系統(tǒng)具有數(shù)據(jù)與程序的獨(dú)立性具有數(shù)據(jù)與程序的獨(dú)立性? 邏輯獨(dú)立性:邏輯獨(dú)立性:當(dāng)模式改變時(shí),由DBA對各個(gè)外模式/模式作相應(yīng)改變,從而保持外模式不變。因此依據(jù)外模式所編寫的應(yīng)用程序也可以不必改變。 物理獨(dú)立性物理獨(dú)立性:當(dāng)數(shù)據(jù)庫的存儲結(jié)構(gòu)改變時(shí),由數(shù)據(jù)庫管理員對模式/內(nèi)模式映像作相應(yīng)改變,可以使模式保持不變,從而應(yīng)用程序也不必改變,保證了數(shù)據(jù)與程序的物理獨(dú)立性。原因:原因:數(shù)據(jù)庫之所以能夠具有數(shù)據(jù)與程序的獨(dú)立性,是由兩級映射所提供的邏輯獨(dú)立性和物理獨(dú)立性所保證的。返回返回411. 什么是數(shù)據(jù)模型?其作用和三要素是什么?什
4、么是數(shù)據(jù)模型?其作用和三要素是什么? 數(shù)據(jù)模型數(shù)據(jù)模型是對現(xiàn)實(shí)世界數(shù)據(jù)特征的抽象。 作用:作用:用來描述數(shù)據(jù)、組織數(shù)據(jù)和對數(shù)據(jù)進(jìn)行操作的。 三要素:三要素:數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作、數(shù)據(jù)的完整性約束條件返回返回5組成學(xué)校系組成系-室班級教研室學(xué)習(xí)就職學(xué)生教員選修課程指導(dǎo)1n11nn11nnnn1m學(xué)歷職稱教研室名組成校名系名班號課程名姓名姓名15學(xué)校中有若干系,每個(gè)系有若干班級和教研室,每個(gè)教研室有若學(xué)校中有若干系,每個(gè)系有若干班級和教研室,每個(gè)教研室有若干教員,每個(gè)班有若干學(xué)生,每個(gè)學(xué)生選修若干課程,每門課可由若干教員,每個(gè)班有若干學(xué)生,每個(gè)學(xué)生選修若干課程,每門課可由若干學(xué)生選修。請用干學(xué)生選修
5、。請用E-R圖畫出此學(xué)校的概念模型。圖畫出此學(xué)校的概念模型。返回返回616某工廠生產(chǎn)若干產(chǎn)品,每某工廠生產(chǎn)若干產(chǎn)品,每種產(chǎn)品由不同的零件組成,有的種產(chǎn)品由不同的零件組成,有的零件可用在不同的產(chǎn)品上。這些零件可用在不同的產(chǎn)品上。這些零件由不同的原材料制成,不同零件由不同的原材料制成,不同零件所用的材料可以相同。這些零件所用的材料可以相同。這些零件按所屬的不同產(chǎn)品分別放在零件按所屬的不同產(chǎn)品分別放在倉庫中,原材料按照類別放在若倉庫中,原材料按照類別放在若干倉庫中。請用干倉庫中。請用E-R圖畫出此工圖畫出此工廠產(chǎn)品,零件,材料,倉庫的概廠產(chǎn)品,零件,材料,倉庫的概念模型。念模型。17.某百貨公司有若
6、干個(gè)連鎖商某百貨公司有若干個(gè)連鎖商店,每家商店經(jīng)營若干商品,每店,每家商店經(jīng)營若干商品,每家商店有若干職工,每個(gè)職工只家商店有若干職工,每個(gè)職工只能服務(wù)于一家商店。試描述該百能服務(wù)于一家商店。試描述該百貨公司的貨公司的E-R圖。圖。百 貨 公 司連 鎖 商 店商 品職 工組 成銷 售工 作1n1nnm產(chǎn)品產(chǎn)品零件零件材料材料倉庫倉庫組成組成 n nm m組成組成m mn n存放存放存放存放m m n nm mn n返回返回7第二章第二章 關(guān)系數(shù)據(jù)庫關(guān)系數(shù)據(jù)庫 2. 解釋概念解釋概念 關(guān)系(關(guān)系(Relation)笛卡爾積D1D2Dn的有限子集叫作在域D1,D2,Dn上的n元關(guān)系,簡稱關(guān)系。通常
7、表示為 R(D1,D2,Dn) 其中,R為關(guān)系名,n為關(guān)系的目或度。 關(guān)系模式(關(guān)系模式(Relation Schema)關(guān)系的描述稱為關(guān)系模式。它可以形式化地表示為 R(U,D,DOM,F) 其中,R為關(guān)系名,U為組成該關(guān)系的屬性名集合,D為屬性組U中屬性所來自的域,DOM為屬性向域的映象集合,F(xiàn)為屬性間數(shù)據(jù)的依賴關(guān)系集合。 關(guān)系數(shù)據(jù)庫關(guān)系數(shù)據(jù)庫在一個(gè)給定的應(yīng)用領(lǐng)域,所有實(shí)體和實(shí)體之間聯(lián)系的集合構(gòu)成一個(gè)關(guān)系數(shù)據(jù)庫。 主鍵(主鍵(Primary key)若關(guān)系有多個(gè)候選鍵,則選定其中一個(gè)為主鍵。 候選鍵(候選鍵(Candidate key)若關(guān)系中的某一屬性組的值能唯一地標(biāo)識一個(gè)元組,則稱該屬
8、性組為候選組。 外鍵(外鍵(Foreign Key)設(shè)F是關(guān)系R的一個(gè)或一組屬性,但不是關(guān)系R的鍵。如果F與關(guān)系S的主鍵相對應(yīng),則稱F是R的外鍵,并稱R為參照關(guān)系,S為被參照關(guān)系或目標(biāo)關(guān)系。 主屬性(主屬性(Primary attribute)候選鍵的諸屬性稱為主屬性。返回返回83. 關(guān)系的性質(zhì)關(guān)系的性質(zhì)v任意兩個(gè)元組不能完全相同v關(guān)系中元組的次序是不重要的,次序可以任意交換v關(guān)系中屬性的次序是不重要的,次序可以任意交換v同一列中的分量必須來自同一個(gè)域,是同一類型的數(shù)據(jù)v屬性必須有不同的名稱,不同的屬性可以出自相同的域v每一分量必須取原子量6. 關(guān)系數(shù)據(jù)語言的特點(diǎn)和分類關(guān)系數(shù)據(jù)語言的特點(diǎn)和分類
9、 v特點(diǎn):特點(diǎn):具有完備的表達(dá)能力,是非過程化的集合操作語言,功能強(qiáng),能夠嵌入高級語言中使用。v分類分類:關(guān)系代數(shù)語言、關(guān)系演算語言(元組關(guān)系演算語言、域關(guān)系演算語言)、具有關(guān)系代數(shù)和關(guān)系演算雙重特點(diǎn)的語言,如SQL7. 關(guān)系模型的完整性規(guī)則?在參照完整性中,為什么外鍵屬性的關(guān)系模型的完整性規(guī)則?在參照完整性中,為什么外鍵屬性的值也可以為空值也可以為空? 什么情況下才可以為空?什么情況下才可以為空?v實(shí)體完整性規(guī)則:關(guān)系中的元組在主屬性上不能有空值;v參照完整性規(guī)則:外鍵得知不允許參照不存在的相應(yīng)表的主鍵的值;返回返回9v用戶定義的完整性規(guī)則:用戶根據(jù)具體應(yīng)用的語義定義的完整性規(guī)則。v當(dāng)外鍵非
10、本表的主鍵(屬性)時(shí)可以取空值。v實(shí)體完整性規(guī)則實(shí)體完整性規(guī)則是指若屬性A是基本關(guān)系R的主屬性,則屬性A不能取空值。v參照完整性規(guī)則參照完整性規(guī)則若屬性(或?qū)傩越M)F是基本關(guān)系R的外鍵,它與基本關(guān)系S的主鍵相對應(yīng)(基本關(guān)系R和S不一定是不同的關(guān)系),則對于R中每個(gè)元組在F上的值必須為:或者取空值(F的每個(gè)屬性值均為空值);或者等于S中某個(gè)元組的主鍵值。即屬性F本身不是主屬性,則可以取空值,否則不能取空值。v 當(dāng)屬性F的每個(gè)屬性值為“不知道”或“不存在”的值時(shí),即外鍵可以為空。返回返回10第三章第三章 關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL1. SQL具有哪些特點(diǎn)?具有哪些特點(diǎn)?v綜合統(tǒng)一v
11、高度非過程化v面向集合的操作方式v以同一種語法結(jié)構(gòu)提供多種使用方式v語言簡潔,易學(xué)易用3.建立建立chap2習(xí)題習(xí)題10的各表,包括主鍵和外鍵的各表,包括主鍵和外鍵CREATE TABLE S( sno char(6) primary key, sname char(20), status int, city char(20);CREATE TABLE P( pno char(6) primary key, pname char(20), color char(10), weight real real數(shù)值型數(shù)據(jù));返回返回11CREATE TABLE J( jno char(6) prima
12、ry key, jname char(40), city char(20);CREATE TABLE SPJ( sno char(6) foreign key references S(sno), /*sno為外鍵,參照S表中的sno*/ pno char(6) foreign key references P(pno), /*pno為外鍵,參照P表中的pno*/ jno char(6) foreign key references J(jno), /*jno為外鍵,參照J(rèn)表中的jno*/ qty int, primary key (sno, pno,jno); 4 .在第在第3題所建的表中完
13、成下列操作題所建的表中完成下列操作(1)求供應(yīng)工程J1零件的供應(yīng)商號碼SNO: select sno from SPJ where jno=J1;(2)求供應(yīng)工程J1零件P1的供應(yīng)商號碼SNO: select sno from SPJ where jno=J1 and pno=P1; 返回返回12(3)求供應(yīng)工程J1零件為紅色的供應(yīng)商號碼SNO: select sno from SPJ where jno=J1 and pno in (select pno from P where color=紅); 或或: select sno from SPJ,P where SPJ.pno=P.pno
14、and SPJ.jno=J1 and P.color=紅; (4)求沒有使用天津供應(yīng)商生產(chǎn)的紅色零件的工程號JNO: (此解使用不相關(guān)子查詢方法) select jno from J where jno not in (select jno from SPJ,S,P where SPJ.sno=S.sno and SPJ.pno=P.pno and city=天津 and color=紅);返回返回13(5)求至少使用了供應(yīng)商S1所供應(yīng)的全部零件的工程號 JNO:將查詢分為兩步A、查詢S1供應(yīng)商供應(yīng)的零件號SELECT DIST PNO FROM SPJ WHERE SNO=S1 結(jié)果是(P1
15、,P2)B、查詢哪一個(gè)工程既使用P1零件又使用P2零件。SELECT JNO FROM SPJ WHERE PNO=P1 AND JNO IN (SELECT JNO FROM SPJ WHERE PNO=P2)5. 建立建立market 庫中的庫中的3個(gè)表個(gè)表CREATE TABLE customers( customerid char(6) primary key, cname char(20), city char(10);CREATE TABLE goods( goodid char(6) primary key, gname char(20), price real, provide
16、r char(20), stocks int, status int );返回返回14CREATE TABLE orders( orderid char(6) primary key, goodid char(6) foreign key references goods(goodid), customerid char(6) foreign key references customers(customerid), quantity int, ordersum real, date datetime );6.針對針對market數(shù)據(jù)庫完成下列操作數(shù)據(jù)庫完成下列操作(1) 查找所有上??蛻舻男?/p>
17、息 Select * from customers where city=shanghai;(2) 查找所有商品的名稱、庫存量、價(jià)格及折價(jià)25%后的價(jià)格,并使用別名discount標(biāo)識折扣價(jià)。結(jié)果按價(jià)格由低到高排序 Select gname,stocks,price,price*0.75 Discount from goods order by price;返回返回15(3) 查找商品名中包含computer的商品編號、名稱及價(jià)格 Select goodid,gname,price from goods where gname like %computer%;(4) 查找?guī)齑媪看笥?00小于5
18、00的商品名稱、庫存量和單價(jià) Select stocks,gname,price from goods where stocks between 100 and 500;(5)查找2007.7.1至2007.12.31期間,訂貨金額大于30000的所有訂單的客戶姓名、商品名稱、單價(jià)、訂貨數(shù)量和訂貨金額Select cname,gname,price,quantity,ordersum from customers,goods,orders where customers. customerid=orders. customerid and goods. goodid=orders. goodi
19、d and date between2007-7-1and 2007-12-31 and ordersum30000; (6) 查找訂單編號、商品編號、和客戶編號,要求按日期對訂單進(jìn)行分組,并只顯示訂貨數(shù)量超過200的訂單信息 返回返回16Select customerid, goodid, orderid from orders where quantity200 order by date; 不是不是group by(7) 查找所有北京客戶的訂單信息,要求用不相關(guān)子查詢 Select * from orders where customerid in (Select customerid
20、from customers where city=beijing); (8) 查找不是天津客戶的訂單信息 Select * from orders where customerid not in (Select customerid from customers where city=tianjing );返回返回17(9) 查找所有西安客戶的相關(guān)信息以及他們的訂單情況Select customers.customerid,cname,city, orderid, goodid,quantity,ordersum,date from customers LEFT OUTER JOIN ord
21、ers on customers.customerid= orders.customerid where city=xian; (10) 將所有的庫存量大于500的商品價(jià)格下調(diào)15% Update goods Set price=price*0.85 where stocks500;(11) 將庫存量為0的所有商品記錄刪除 Delete from goods where stocks=0;(12) 將新數(shù)據(jù)插入到商品表中 Insert into goods values(T10056,計(jì)算機(jī),5300,清華同方, 20,0);返回返回1810. 是否所有視圖都可以更新?為什么?是否所有視圖都可
22、以更新?為什么? 并不是所有視圖都可以更新,因?yàn)橛行┮晥D的更新操作不能唯一地、有意義地轉(zhuǎn)換為對相應(yīng)基本表的更新。11. 在在market庫上完成下列操作庫上完成下列操作(1)建立北京客戶訂單視圖CREATE VIEW Bj_orders(orderid,gname,quantity,customerid, cname) AS select orderid,gname,quantity,orders.customerid,cname from orders,customers,goods where customers. customerid=orders.customerid and good
23、s. goodid=orders.goodid and city=beijing (2) 針對(1)中的視圖查詢客戶張三的所有訂單信息 Select * from Bj_orders where Cname=張三返回返回198. 什么是基本表、視圖,兩者有什么區(qū)別?什么是基本表、視圖,兩者有什么區(qū)別?v基本表:本身獨(dú)立存在的表,一個(gè)關(guān)系對應(yīng)一個(gè)基本表;v視圖:從一個(gè)或多個(gè)基本表或視圖導(dǎo)出的表,是關(guān)系數(shù)據(jù)庫系統(tǒng)為用戶提供從不同角度觀察和使用數(shù)據(jù)庫中數(shù)據(jù)的一種機(jī)制。v區(qū)別:區(qū)別:視圖是虛表,在數(shù)據(jù)庫中只存放視圖的定義,而不存放視圖所對應(yīng)的數(shù)據(jù),這些數(shù)據(jù)仍存放在原來的基本表中。12. 在在marke
24、t數(shù)據(jù)庫上完成下列操作數(shù)據(jù)庫上完成下列操作(1) 允許用戶李明對orders表進(jìn)行插入、刪除操作GRANT insert,delete on orders to 李明(2) 將查詢goods表和修改單價(jià)的權(quán)限授予用戶李四GRANT update(price),select on goods to 李四(3) 將查詢goods表的權(quán)限授予用戶王二,并允許他將此權(quán)限授予他人GRANT select on goods to 王二 with grant option15在嵌入式在嵌入式SQL中是如何協(xié)調(diào)中是如何協(xié)調(diào)SQL的集合處理方式和主語言的的集合處理方式和主語言的單記錄處理方式的?單記錄處理方式的
25、? 游標(biāo)是用于協(xié)調(diào)SQL語言的集合處理方式和主語言的單記錄處理方式。 SQL語言與主語言具有不同的數(shù)據(jù)處理方式。SQL語言是面向集合的,一條SQL語句原則上可以產(chǎn)生或處理多條記錄。 主語言是面向記錄的,一組主變量一次只能存放一條記錄。所以僅使用主變量并不能完全滿足SQL語句向應(yīng)用程序輸出數(shù)據(jù)的要求,為此嵌入式SQL引入了游標(biāo)的概念,用游標(biāo)來協(xié)調(diào)這兩種不同的處理方式。返回返回20第四章第四章 存儲過程和觸發(fā)器存儲過程和觸發(fā)器1. 什么是存儲過程?為什么要使用存儲過程?什么是存儲過程?為什么要使用存儲過程? 存儲過程是指經(jīng)過預(yù)先編譯的SQL語句的集合,可以以一種可執(zhí)行的形式永久地存儲在數(shù)據(jù)庫中。運(yùn)
26、行速度快模塊化編程減少網(wǎng)絡(luò)通信量保證系統(tǒng)的安全性2. 簡述觸發(fā)器的概念和作用。簡述觸發(fā)器的概念和作用。觸發(fā)器是在滿足某個(gè)特定條件時(shí)自動(dòng)觸發(fā)執(zhí)行的專用存儲過程用于保證表中的數(shù)據(jù)遵循數(shù)據(jù)庫設(shè)計(jì)者確定的規(guī)則和約束5.針對第針對第3章習(xí)題章習(xí)題5中的數(shù)據(jù)庫,完成以下要求。中的數(shù)據(jù)庫,完成以下要求。(1)Create procedure shanghai As select * from customers where city=shanghai(2)Create procedure Goods GoodID char(20) As select * from goods where GoodID =
27、GoodID 返回返回21(3)Create procedure goodsum cnum char(6),snum real output As select snum =sum(ordersum) from orders where customerid= cnum (4)Create procedure insertGoods Goodnum char(6), Goodname char(20), Gprice real, Gprovider char(20),Gstocks int, Gstate int As insert into goods values(Goodnum, Goo
28、dname, Gprice, Gprovider, Gstocks, Gstate ) (5)Create trigger Customer_delete on customers after delete As delete from orders where customerid in (select customerid from deleted)(6)Create trigger Goods_insert on goods after insert As if (select status from goods,inserted where goods. goodid=inserted
29、. goodsid)=1 begin print 不能插入 Rollback transaction end返回返回22(7)Create trigger Orders_insert on orders after insert As update goods set stocks=stocks - (select quantity from inserted) where goodid in (select goodid from inserted)(8)Create trigger Goods_update on orders after update As if update(date)
30、 begin print 不能更新日期 Rollback transaction End(9)Create trigger Orders_insert on orders after insert As if( select count(*) from goods, inserted where goods.goodid=inserted.goodid)=0 begin print 該商品不存在 Rollback transaction end 返回返回23第五章第五章 關(guān)系數(shù)據(jù)庫規(guī)范化理論關(guān)系數(shù)據(jù)庫規(guī)范化理論 1. 解釋下列術(shù)語的含義解釋下列術(shù)語的含義 函數(shù)依賴函數(shù)依賴設(shè)R(U)是屬性集U上
31、的關(guān)系模式。X和Y是U 的子集。若對于R(U)上的任意一個(gè)可能的關(guān)系r,如果r中不可能存在兩個(gè)元組,它們在X上的屬性值相等,而在Y上的屬性值不等,則稱X函數(shù)決定Y或Y函數(shù)依賴于X,記作XY。 其中X稱為這個(gè)函數(shù)依賴的決定屬性組,或稱為決定因素,Y稱作被決定因素。 若Y不函數(shù)依賴于X,記作XY。 若XY,且YX,則記作XY。 非平凡函數(shù)依賴非平凡函數(shù)依賴設(shè)R(U)是屬性集上的一個(gè)關(guān)系模式。X和Y是U的子集。如果XY,且YX,則稱XY是非平凡函數(shù)依賴。 平凡函數(shù)依賴平凡函數(shù)依賴若XY,且YX,則稱XY是平凡函數(shù)依賴。 完全函數(shù)依賴完全函數(shù)依賴在R(U)中,如果XY,并且對于X的任何一個(gè)真子集X,都
32、有XY,則稱Y對X完全函數(shù)依賴,記作:XY。 部分函數(shù)依賴部分函數(shù)依賴若XY,但Y不完全函數(shù)依賴于X,則稱Y對X部分函數(shù)依賴,記作XY。 傳遞函數(shù)依賴傳遞函數(shù)依賴在R(U)中,如果XY,YZ,YX,YX,則稱Z傳遞函數(shù)依賴于X,記作XY。 候選鍵候選鍵設(shè)K是關(guān)系模式RU,F(xiàn)中的屬性或?qū)傩越M合,若KU,則K為R的候選鍵。 主鍵主鍵若候選鍵多于一個(gè),則選定其中的一個(gè)為主鍵。 全鍵全鍵整個(gè)屬性組是鍵。 外鍵外鍵關(guān)系模式R中屬性或?qū)傩越MX并非R的鍵,但X是另一個(gè)關(guān)系模式的鍵,則稱X是R的外部鍵,簡稱外鍵。返回返回241NF如果關(guān)系模式R的所有屬性都是不可分的數(shù)據(jù)項(xiàng),則稱R屬于第一范式,記作R1NF。2
33、NF若關(guān)系模式R1NF,且每個(gè)非主屬性都完全函數(shù)依賴于R的鍵,則稱R2NF。3NF關(guān)系模式RU,F(xiàn)中若不存在這樣的鍵X,屬性組Y及非主屬性Z(ZY),使得XY,YZ成立,且YX ,則稱R3NF。4NF關(guān)系模式RU,F(xiàn)1NF,如果對于R的每一個(gè)非平凡多值依賴XY(YX),X都含有鍵,則稱RU,F(xiàn)4NF。多值依賴多值依賴設(shè)R(U)是屬性集U上的一個(gè)關(guān)系模式。X,Y,Z是U的子集,且Z=U-X-Y。關(guān)系模式R(U)中多值依賴XY成立,當(dāng)且僅當(dāng)R(U)的任一關(guān)系r,給定的一對(x,z)值,有一組Y的值,這組值僅僅決定于x值而與z值無關(guān)。4. R(商店編號,商品編號,數(shù)量,部門編號,負(fù)責(zé)人商店編號,商品
34、編號,數(shù)量,部門編號,負(fù)責(zé)人)規(guī)定:每個(gè)商店的每種商品只在一個(gè)部門銷售; 每個(gè)商店的每個(gè)部門只有一個(gè)負(fù)責(zé)人; 每個(gè)商店的每種商品只有一個(gè)庫存數(shù)量 (1)寫出關(guān)系R的基本函數(shù)依賴: (商店編號,商品編號) 庫存數(shù)量 (商店編號,商品編號) 部門編號 (商店編號,部門編號) 負(fù)責(zé)人 f f f返回返回25(2)關(guān)系模式R達(dá)到了第幾范式?為什么? 因?yàn)殛P(guān)系R的鍵是(商店編號,商品編號) 而所有非主屬性均對鍵是完全函數(shù)依賴。 但存在傳遞函數(shù)依賴: (商店編號,商品編號) (商店編號,部門編號) (商店編號,部門編號) 負(fù)責(zé)人 (商店編號,商品編號) 負(fù)責(zé)人(3) 如果R不屬于3NF,將R分解成3NF模
35、式集 R1(商店編號,商品編號,部門編號,數(shù)量) R2(商店編號,部門編號,負(fù)責(zé)人)5如表如表5.15所示給出的關(guān)系所示給出的關(guān)系SC為第幾范式為第幾范式?是否存在插入、刪除是否存在插入、刪除異常異常?若存在,則說明是在什么情況下發(fā)生若存在,則說明是在什么情況下發(fā)生?發(fā)生的原因是什么發(fā)生的原因是什么?將它將它分解為高一級范式,分解后的關(guān)系能否解決操作異常問題。分解為高一級范式,分解后的關(guān)系能否解決操作異常問題。 返回返回26表表5.15 關(guān)系關(guān)系SC如下如下 其中:SNO為學(xué)號,CNO為課程號,CTITLE為課程名,INAME為教師名,ILOCA為教師地址,GRADE為成績。解解:(1)SC為
36、1NF。 (2)它存在插入、刪除異常操作它存在插入、刪除異常操作。當(dāng)增設(shè)一門新課程時(shí),因還沒有學(xué)生選修,則缺少關(guān)鍵字的一部分SNO而不能執(zhí)行插入操作;當(dāng)所有學(xué)生退選某門課程而進(jìn)行刪除操作時(shí),會將不合法刪除的課程信息刪除。 (3)SC關(guān)系中存在插入和刪除操作異常的原因在于原因在于,該關(guān)系的候選關(guān)鍵字為(SNO,CNO),其中僅有非屬性GRADE完全函數(shù)依賴于(SNO,CNO),其他非主屬性CTITLE、INAME、ILOCA都只函數(shù)依賴于CNO,即它們與(SNO,CNO)為部分函數(shù)依賴關(guān)系.返回返回27分解后的關(guān)系模式如下:SG 如下: CI如下: 分解后的兩個(gè)關(guān)系子模式都為2NF(實(shí)際上,SG
37、是3NF,它無傳遞依賴)。 解決了先前的插入、刪除異常操作。當(dāng)增設(shè)一門新課程時(shí),可將數(shù)據(jù)插入到CI表中;當(dāng)所有學(xué)生退選某門課程時(shí),只需刪除SG表中的有關(guān)記錄,而該課程的有關(guān)信息仍保留在CI表中。分解2NF后的CI關(guān)系中仍存在插入、刪除操作異常。若有一個(gè)新教師報(bào)到,需將其有關(guān)數(shù)據(jù)插入操作;當(dāng)取消某門課程而刪除CI表中的一條記錄時(shí),會將不該刪除的教師的有關(guān)信息刪除。CI表中出現(xiàn)操作異常的原因是該關(guān)系中存在非主屬性對候選關(guān)鍵字的傳遞函數(shù)依賴:CNOINAME,INAME CNO,INAMEILOCA,所以CNOILOCA(函數(shù)傳遞依賴,CI不是3NF) (4)將CI進(jìn)一步分解為如下所示的Course
38、和Inst兩個(gè)關(guān)系,可以解決上述操作異常。返回返回28COURSE INST返回返回2911. 建立訂貨系統(tǒng)的數(shù)據(jù)庫關(guān)系模式建立訂貨系統(tǒng)的數(shù)據(jù)庫關(guān)系模式顧客信息(顧客號,地址,賒購限額,余額,折扣)訂單信息(訂單號,顧客號,收貨地址,訂貨日期)訂單細(xì)則(訂單號,細(xì)則編號,貨物號,訂貨數(shù)量,未發(fā)貨量)貨物信息(貨物號,制造廠商,最低存貨量,貨物描述)制造廠商信息(廠商編號,名稱)貨物存貨信息(貨物號,廠商編號,實(shí)際存貨量)顧客顧客訂制訂制訂單訂單生產(chǎn)生產(chǎn)貨物貨物包含包含訂貨細(xì)則訂貨細(xì)則制造廠商制造廠商說明說明訂貨日期訂貨日期訂貨數(shù)量訂貨數(shù)量未發(fā)貨量未發(fā)貨量實(shí)際存貨量實(shí)際存貨量1n1n11nm返回
39、返回30第六章第六章 數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫設(shè)計(jì)2. 簡述數(shù)據(jù)庫設(shè)計(jì)過程中各個(gè)階段的設(shè)計(jì)任務(wù)簡述數(shù)據(jù)庫設(shè)計(jì)過程中各個(gè)階段的設(shè)計(jì)任務(wù)(1)需求分析階段 進(jìn)行數(shù)據(jù)庫設(shè)計(jì)首先必須準(zhǔn)確了解與分析用戶需求(包括數(shù)據(jù)與處理)。需求分析是整個(gè)設(shè)計(jì)過程的基礎(chǔ),是最困難、最費(fèi)時(shí)的一步。作為地基的需求分析是否做得充分與準(zhǔn)確,決定了在其上構(gòu)建數(shù)據(jù)庫的速度與質(zhì)量。需求分析做得不好,甚至?xí)?dǎo)致整個(gè)數(shù)據(jù)庫設(shè)計(jì)返工重做。(2)概念結(jié)構(gòu)設(shè)計(jì)階段 概念結(jié)構(gòu)設(shè)計(jì)是整個(gè)數(shù)據(jù)庫設(shè)計(jì)的關(guān)鍵,它通過對用戶需求進(jìn)行綜合、歸納與抽象,形成一個(gè)獨(dú)立于具體DBMS的概念模型。(3)邏輯結(jié)構(gòu)設(shè)計(jì)階段 邏輯結(jié)構(gòu)設(shè)計(jì)是將概念結(jié)構(gòu)轉(zhuǎn)換為某個(gè)DBMS所支持的數(shù)
40、據(jù)模型,并對其進(jìn)行優(yōu)化。(4)數(shù)據(jù)庫物理設(shè)計(jì)階段 數(shù)據(jù)庫物理設(shè)計(jì)是為邏輯數(shù)據(jù)模型選取一個(gè)最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)(包括存儲結(jié)構(gòu)和存取方法)。(5)數(shù)據(jù)庫實(shí)施階段 在數(shù)據(jù)庫實(shí)施階段,設(shè)計(jì)人員運(yùn)用DBMS提供的數(shù)據(jù)語言及其宿主語言,根據(jù)邏輯設(shè)計(jì)和物理設(shè)計(jì)的結(jié)果建立數(shù)據(jù)庫,編制與調(diào)試應(yīng)用程序,組織數(shù)據(jù)入庫,并進(jìn)行試運(yùn)行。 (6)數(shù)據(jù)庫運(yùn)行和維護(hù)階段 數(shù)據(jù)庫應(yīng)用系統(tǒng)經(jīng)過試運(yùn)行后即可投入正式運(yùn)行。在數(shù)據(jù)庫系統(tǒng)運(yùn)行過程中必須不斷地對其進(jìn)行評價(jià)、調(diào)整與修改。4. 數(shù)據(jù)字典的內(nèi)容和作用是什么?數(shù)據(jù)字典的內(nèi)容和作用是什么? 數(shù)據(jù)字典是各類數(shù)據(jù)描述的集合,它是關(guān)于數(shù)據(jù)庫中數(shù)據(jù)的描述,即“元數(shù)據(jù)”,而不是數(shù)據(jù)本身。 作用它是概念模式設(shè)計(jì)、邏輯模式設(shè)計(jì)和物理模式設(shè)計(jì)的主要依據(jù)。返回返回317. 什么是數(shù)據(jù)庫的邏輯結(jié)構(gòu)設(shè)計(jì),邏輯結(jié)構(gòu)設(shè)計(jì)的步驟是什么?什么是數(shù)據(jù)庫的邏輯結(jié)構(gòu)設(shè)計(jì),邏輯結(jié)構(gòu)設(shè)計(jì)的步驟是什么? 數(shù)據(jù)庫
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年事業(yè)單位合同審批與管理程序
- 2025年公共綠化帶整治策劃合同
- 2025年保險(xiǎn)銷售中介服務(wù)合同范文
- 2025年城市道路翻新及維護(hù)工程合同
- 2025年個(gè)人經(jīng)營擔(dān)保借款合同
- 2025年建筑工程施工安全防護(hù)用品年采購合同
- 2025年基本臨時(shí)配送合同樣本
- 2025年倉儲保管合同范文細(xì)則
- 2025年農(nóng)業(yè)養(yǎng)殖承包合同樣本
- 2025年產(chǎn)品展示模特勞動(dòng)合同
- 專題18 化學(xué)工藝流程綜合題-分離、提純類-五年(2020-2024)高考化學(xué)真題分類匯編(解析版)
- 汽車美容裝潢技術(shù)電子教案 6.3-汽車娛樂類電子產(chǎn)品裝飾
- 防性侵安全教育課件
- DB11T 1620-2019 建筑消防設(shè)施維修保養(yǎng)規(guī)程
- 2024年山東省濟(jì)南市中考英語試題卷(含答案)
- 四川省會計(jì)師事務(wù)所服務(wù)收費(fèi)標(biāo)準(zhǔn)(川發(fā)改價(jià)格〔2013〕901號)
- 2024年注冊計(jì)量師-一級注冊計(jì)量師考試近5年真題集錦(頻考類試題)帶答案
- 《籃球:行進(jìn)間單手肩上投籃》教案(四篇)
- 醫(yī)學(xué)教案阿爾茨海默病及其他類型癡呆臨床路徑
- 《ISO 55013-2024 資產(chǎn)管理-數(shù)據(jù)資產(chǎn)管理指南》解讀和實(shí)施指導(dǎo)材料(雷澤佳編制-2024)
- 中小學(xué)、幼兒園安全防范要求
評論
0/150
提交評論