版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
數(shù)據(jù)庫(kù)原理題庫(kù)
1.數(shù)據(jù)庫(kù)管理系統(tǒng)的主要功能有哪些?
答:數(shù)據(jù)庫(kù)定義功能;數(shù)據(jù)存取功能;數(shù)據(jù)庫(kù)運(yùn)行管理;數(shù)據(jù)庫(kù)的建立和維護(hù)功能。
2.什么叫數(shù)據(jù)與程序的物理獨(dú)立性?什么叫數(shù)據(jù)與程序的邏輯獨(dú)立性?為什么
數(shù)據(jù)庫(kù)系統(tǒng)具有數(shù)據(jù)與程序的獨(dú)立性?
答:物理獨(dú)立性是指用戶的應(yīng)用程序與存儲(chǔ)在磁盤上的數(shù)據(jù)庫(kù)中數(shù)據(jù)是相互獨(dú)立的。
即,數(shù)據(jù)在磁盤上怎樣存儲(chǔ)由DBMS管理,用戶程序不需要了解,應(yīng)用程序要處理的只
是數(shù)據(jù)的邏輯結(jié)構(gòu),這樣當(dāng)數(shù)據(jù)的物理存儲(chǔ)改變了,應(yīng)用程序不用改變。
邏輯獨(dú)立性是指用戶的應(yīng)用程序與數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)是相互獨(dú)立的,即,當(dāng)數(shù)據(jù)
的邏輯結(jié)構(gòu)改變時(shí),用戶程序也可以不變。
數(shù)據(jù)與程序的獨(dú)立,把數(shù)據(jù)的定義從程序中分離出去,加上數(shù)據(jù)的存取又由DBMS
負(fù)責(zé),從而簡(jiǎn)化了應(yīng)用程序的編制,大大減少了應(yīng)用程序的維護(hù)和修改。
3.簡(jiǎn)述數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu)。
答:1)模式模式也稱邏輯模式或概念模式,是數(shù)據(jù)庫(kù)中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征
的描述,是所有用戶的公共數(shù)據(jù)視圖。模式實(shí)際上是數(shù)據(jù)庫(kù)數(shù)據(jù)在邏輯級(jí)上的視圖。
一個(gè)數(shù)據(jù)庫(kù)只有一個(gè)模式。定義模式時(shí)不僅要定義數(shù)據(jù)的邏輯結(jié)構(gòu),而且要定義數(shù)據(jù)
之間的聯(lián)系,定義與數(shù)據(jù)有關(guān)的安全性、完整性要求。(2)外模式外模式也稱用
戶模式,它是數(shù)據(jù)庫(kù)用戶能夠看見和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是數(shù)
據(jù)庫(kù)用戶的數(shù)據(jù)視圖,是與某一應(yīng)用有關(guān)的數(shù)據(jù)的邏輯表示。外模式通常是模式的子
集。一個(gè)數(shù)據(jù)庫(kù)可以有多個(gè)外模式。應(yīng)用程序都是和外模式打交道的。外模式是保證
數(shù)據(jù)庫(kù)安全性的一個(gè)有力措施。每個(gè)用戶只能看見和訪問所對(duì)應(yīng)的外模式中的數(shù)據(jù),
數(shù)據(jù)庫(kù)中的其余數(shù)據(jù)對(duì)他們是不可見的。(3)內(nèi)模式內(nèi)模式也稱存儲(chǔ)模式,一個(gè)
數(shù)據(jù)庫(kù)只有一個(gè)內(nèi)模式。它是數(shù)據(jù)物理結(jié)構(gòu)和存儲(chǔ)方式的描述,是數(shù)據(jù)在數(shù)據(jù)庫(kù)內(nèi)部
的表示方式。例如,記錄的存儲(chǔ)方式是順序結(jié)構(gòu)存儲(chǔ)還是B樹結(jié)構(gòu)存儲(chǔ);索引按什么
方式組織;數(shù)據(jù)是否壓縮,是否加密;數(shù)據(jù)的存儲(chǔ)記錄結(jié)構(gòu)有何規(guī)定等
4.試述數(shù)據(jù)庫(kù)系統(tǒng)的組成。
答:數(shù)據(jù)庫(kù);硬件平臺(tái);軟件;人員
5.簡(jiǎn)述文件系統(tǒng)與數(shù)據(jù)庫(kù)系統(tǒng)的區(qū)別和聯(lián)系。
答:區(qū)別:(1)文件系統(tǒng)用文件將數(shù)據(jù)長(zhǎng)期保存在外存上,數(shù)據(jù)庫(kù)系統(tǒng)用數(shù)據(jù)庫(kù)統(tǒng)一
存儲(chǔ)數(shù)據(jù);(2)文件系統(tǒng)中的程序和數(shù)據(jù)有一定的聯(lián)系,數(shù)據(jù)庫(kù)系統(tǒng)中的程序和數(shù)據(jù)
分離;(3)文件系統(tǒng)用操作系統(tǒng)中的存取方法對(duì)數(shù)據(jù)進(jìn)行管理,數(shù)據(jù)庫(kù)系統(tǒng)用DBMS
統(tǒng)一管理和控制數(shù)據(jù);(4)文件系統(tǒng)實(shí)現(xiàn)以文件為單位的數(shù)據(jù)共享,數(shù)據(jù)庫(kù)系統(tǒng)實(shí)現(xiàn)
以記錄和字段為單位的數(shù)據(jù)共享。
聯(lián)系:1)均為數(shù)據(jù)組織的管理技術(shù);(2)均由數(shù)據(jù)管理軟件管理數(shù)據(jù),程序與
數(shù)據(jù)之間用存取方法進(jìn)行轉(zhuǎn)換;(3)數(shù)據(jù)庫(kù)系統(tǒng)是在文件系統(tǒng)的基礎(chǔ)上發(fā)展而來的。
6.DBA的職責(zé)是什么?
答:負(fù)責(zé)全面地管理和控制數(shù)據(jù)庫(kù)系統(tǒng)。具體職責(zé)包括:
①?zèng)Q定數(shù)據(jù)庫(kù)的信息內(nèi)容和結(jié)構(gòu);②決定數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)和存取策略;
③定義數(shù)據(jù)的安全性要求和完整性約束條件;④監(jiān)督和控制數(shù)據(jù)庫(kù)的使用和運(yùn)行;
⑤改進(jìn)和重組數(shù)據(jù)庫(kù)系統(tǒng)。
7.關(guān)系代數(shù)的基本運(yùn)算有哪些?
答:并、差、笛卡爾積、投影和選擇5種運(yùn)算為基本的運(yùn)算。其他3種運(yùn)算,即交、
連接和除,均可以用這5種基本運(yùn)算來表達(dá)。
8.什么是基本表?什么是視圖??jī)烧叩膮^(qū)別和聯(lián)系是什么?
答:基本表是本身獨(dú)立存在的表,在sQL中一個(gè)關(guān)系就對(duì)應(yīng)一個(gè)表。視圖是從一個(gè)或
幾個(gè)基本表導(dǎo)出的表。視圖本身不獨(dú)立存儲(chǔ)在數(shù)據(jù)庫(kù)中,是一個(gè)虛表。即數(shù)據(jù)庫(kù)中只
存放視圖的定義而不存放視圖對(duì)應(yīng)的數(shù)據(jù),這些數(shù)據(jù)仍存放在導(dǎo)出視圖的基本表中。
視圖在概念上與基本表等同,用戶可以如同基本表那樣使用視圖,可以在視圖上再定
義視圖。
9.簡(jiǎn)述視圖的優(yōu)點(diǎn)
答:1)視圖能夠簡(jiǎn)化用戶的操作;
2)視圖使用戶能以多種角度看待同一數(shù)據(jù);
3)視圖對(duì)重構(gòu)數(shù)據(jù)庫(kù)提供了一定程度的邏輯獨(dú)立性;
4)視圖能夠?qū)C(jī)密數(shù)據(jù)提供安全保護(hù)
10.所有的視圖是否都可以更新?哪類視圖是可以更新的,哪類視圖是不可更新
的?
答:一般的,行列子集試圖使可更新的。除此之外,還有些視圖理論上可更新,有些
理論上不可更新。
目前各個(gè)關(guān)系數(shù)據(jù)庫(kù)一般都只允許對(duì)行列子集視圖進(jìn)行更新,對(duì)視圖的更新還有進(jìn)一
步的規(guī)定。
例如DB2規(guī)定:
1)若視圖是由兩個(gè)以上的基本表導(dǎo)出的,則此視圖不允許更新。
2)若視圖的字段來自字段表達(dá)式或常數(shù),則此視圖不允許更新。
3)若視圖的字段來自集函數(shù),則此視圖不允許更新。
4)視圖定義中有GroupBy或Distinct字句,不允許更新。
5)若視圖定義中有嵌套查詢,并且內(nèi)層查詢的From字句中涉及的表也是導(dǎo)出該視
圖的基本表,此視圖不允許更新。
6)一個(gè)不允許更新的視圖上定義的視圖也不允許更新。
11.簡(jiǎn)述SQL的特點(diǎn)。
答:1.綜合統(tǒng)一2.高度非過程化3.面向集合的操作方式4.以同一種語
法結(jié)構(gòu)提供多種使用方式5.語言簡(jiǎn)潔,易學(xué)易用6.對(duì)于數(shù)據(jù)統(tǒng)計(jì)方便直觀
12.在嵌入式SQL中是如何協(xié)調(diào)SQL語言的集合處理方式和主語言的單記錄處理
方式的?
答:游標(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)這兩種不同的處理方式.
13.關(guān)系數(shù)據(jù)庫(kù)的完整性規(guī)則有哪幾類?
答:域完整性規(guī)則,用于定義屬性的取值范圍;
域聯(lián)系的規(guī)則,定義一個(gè)或多個(gè)關(guān)系中,屬性值間的聯(lián)系、影響和約束。
關(guān)系完整性規(guī)則,定義更新操作對(duì)數(shù)據(jù)庫(kù)中值的影響和限制。
14.試述查詢優(yōu)化在關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)中的重要性和可能性。
答:重要性:關(guān)系系統(tǒng)的查詢優(yōu)化既是RDBMS實(shí)現(xiàn)的關(guān)鍵技術(shù)又是關(guān)系系統(tǒng)的優(yōu)點(diǎn)所
在。它減輕了用戶選擇存取路徑的負(fù)擔(dān)。用戶只要提出“干什么",不必指出“怎么干
查詢優(yōu)化的優(yōu)點(diǎn)不僅在于用戶不必考慮如何最好地表達(dá)查詢以獲得較好的效率,而且
在于系統(tǒng)可以比用戶程序的"優(yōu)化'夕做得更好。
可能性:這是因?yàn)椋海?)優(yōu)化器可以從數(shù)據(jù)字典中獲取許多統(tǒng)計(jì)信息,例如關(guān)
系中的元組數(shù)、關(guān)系中每個(gè)屬性值的分布情況、這些屬性上是否有索引、是什么索引
(B+樹索引還是HASH索引或惟一索引或組合索引)等。優(yōu)化器可以根據(jù)這些信息
選擇有效的執(zhí)行計(jì)劃,而用戶程序則難以獲得這些信息。(2)如果數(shù)據(jù)庫(kù)的物理統(tǒng)
計(jì)信息改變了,系統(tǒng)可以自動(dòng)對(duì)查詢進(jìn)行重新優(yōu)化以選擇相適應(yīng)的執(zhí)行計(jì)劃。在非關(guān)
系系統(tǒng)中必須重寫程序,而重寫程序在實(shí)際應(yīng)用中往往是不太可能的。(3)優(yōu)化器
可以考慮數(shù)十甚至數(shù)百種不同的執(zhí)行計(jì)劃,從中選出較優(yōu)的一個(gè),而程序員一般只能
考慮有限的幾種可能性。(4)優(yōu)化器中包括了很多復(fù)雜的優(yōu)化技術(shù),這些優(yōu)化技術(shù)
往往只有最好的程序員才能掌握。系統(tǒng)的自動(dòng)優(yōu)化相當(dāng)于使得所有人都擁有這些優(yōu)化
技術(shù)。
15.寫出Armstrong推理規(guī)則中自反律、增廣律、傳遞律的形式化定義。
答:自反律:若屬性集丫包含于屬性集X,屬性集X包含于U,則X-Y在R上成立。
(此處X-Y是平凡函數(shù)依賴)
增廣律:若X-Y在R上成立,且屬性集Z包含于屬性集U,則XZ-YZ在R上成立。
傳遞律:若X-Y和Y-Z在R上成立,則XfZ在R上成立。
16.簡(jiǎn)述日志文件的內(nèi)容。
答:日志文件是用來記錄事務(wù)對(duì)數(shù)據(jù)庫(kù)的更新操作的文件。
17.簡(jiǎn)述SQL中的自主存取控制機(jī)制。
答:同一用戶對(duì)于不同的數(shù)據(jù)對(duì)象有不同的存取權(quán)限,不同的用戶對(duì)同一對(duì)象也有不
同的權(quán)限,用戶還可將其擁有的存取權(quán)限轉(zhuǎn)授給其他用戶大型數(shù)據(jù)庫(kù)管理系統(tǒng)幾乎都
支持自主存取控制,目前的SQL標(biāo)準(zhǔn)也對(duì)自主存取控制提供支持,這主要通過SQL的
GRANT語句和REVOKE語句來實(shí)現(xiàn)。
18.簡(jiǎn)述數(shù)據(jù)庫(kù)中事務(wù)的概念及其性質(zhì).
答:事務(wù)是用戶定義的一個(gè)數(shù)據(jù)庫(kù)操作序列,這些操作要么全做要么全不做,是一個(gè)
不可分割的工作單位。
事務(wù)具有4個(gè)特性:原子性(Atomicity)、一致性(consistency)、隔離性
(Isolation)和持續(xù)性(Durability)。這4個(gè)特性也簡(jiǎn)稱為ACID特性。
19.簡(jiǎn)述事物的原子性。
答:原子性:事務(wù)是數(shù)據(jù)庫(kù)的邏輯工作單位,事務(wù)中包括的諸操作要么都做,要么都
不做。
20.簡(jiǎn)述并發(fā)操作帶來的三類數(shù)據(jù)不一致性。
答:并發(fā)操作帶來的數(shù)據(jù)不一致性包括三類:丟失修改、不可重復(fù)讀和讀“臟’夕數(shù)
據(jù)。(1)丟失修改(lostupdate)兩個(gè)事務(wù)T1和T2讀入同一數(shù)據(jù)并修改,T2
提交的結(jié)果破壞了(覆蓋了)T1提交的結(jié)果,導(dǎo)致T1的修改被丟失。(2)不可
重復(fù)讀(Non-RepeatableRead)不可重復(fù)讀是指事務(wù)T1讀取數(shù)據(jù)后,事務(wù)幾
執(zhí)行更新操作,使T1無法再現(xiàn)前一次讀取結(jié)果。(3)讀“臟”數(shù)據(jù)(DirtyRead)
讀“臟’夕數(shù)據(jù)是指事務(wù)T1修改某一數(shù)據(jù),并將其寫回磁盤,事務(wù)幾讀取同一數(shù)據(jù)
后,T1由于某種原因被撤銷,這時(shí)T1已修改過的數(shù)據(jù)恢復(fù)原值,幾讀到的數(shù)據(jù)就
與數(shù)據(jù)庫(kù)中的數(shù)據(jù)不一致,則幾讀到的數(shù)據(jù)就為“臟”數(shù)據(jù),即不正確的數(shù)據(jù)。
21.在數(shù)據(jù)庫(kù)中為什么要并發(fā)控制?并發(fā)控制技術(shù)可以保證事務(wù)的哪些特征?
答:數(shù)據(jù)庫(kù)是共享資源,通常有許多個(gè)事務(wù)同時(shí)在運(yùn)行。當(dāng)多個(gè)事務(wù)并發(fā)地存取數(shù)據(jù)
庫(kù)時(shí)就會(huì)產(chǎn)生同時(shí)讀取和/或修改同一數(shù)據(jù)的情況。若對(duì)并發(fā)操作不加控制就可能會(huì)
存取和存儲(chǔ)不正確的數(shù)據(jù),破壞數(shù)據(jù)庫(kù)的一致性。所以數(shù)據(jù)庫(kù)管理系統(tǒng)必須提供并發(fā)
控制機(jī)制
22.什么是封鎖?基本的封鎖類型有幾種?
答:封鎖就是事務(wù)T在對(duì)某個(gè)數(shù)據(jù)對(duì)象例如表、記錄等操作之前,先向系統(tǒng)發(fā)出請(qǐng)求,
對(duì)其加鎖。加鎖后事務(wù)T就對(duì)該數(shù)據(jù)對(duì)象有了一定的控制,在事務(wù)T釋放它的鎖之
前,其他的事務(wù)不能更新此數(shù)據(jù)對(duì)象。封鎖是實(shí)現(xiàn)并發(fā)控制的一個(gè)非常重要的技術(shù)。
基本的封鎖類型有兩種:排它鎖(ExclusiveLocks,簡(jiǎn)稱x鎖)和共享鎖
(ShareLocks,簡(jiǎn)稱S鎖)。排它鎖又稱為寫鎖。若事務(wù)T對(duì)數(shù)據(jù)對(duì)象A加上X鎖,
則只允許T讀取和修改A,其他任何事務(wù)都不能再對(duì)A加任何類型的鎖,直到T釋
放A上的鎖。這就保證了其他事務(wù)在T釋放A上的鎖之前不能再讀取和修改Ao
共享鎖又稱為讀鎖。若事務(wù)T對(duì)數(shù)據(jù)對(duì)象A加上S鎖,則事務(wù)T可以讀A但不能
修改A,其他事務(wù)只能再對(duì)A加S鎖,而不能加X鎖,直到T釋放A上的S鎖。
這就保證了其他事務(wù)可以讀A,但在T釋放A上的S鎖之前不能對(duì)A做任何修
改。
23.簡(jiǎn)述兩段封鎖協(xié)議的內(nèi)容。
答:L在對(duì)任何數(shù)據(jù)進(jìn)行讀、寫操作之前,事務(wù)首先要獲得對(duì)該數(shù)據(jù)的封鎖。2.在
釋放一個(gè)封鎖之后,事務(wù)不再獲得任何其他封鎖。
24.簡(jiǎn)述數(shù)據(jù)庫(kù)系統(tǒng)中活鎖和死鎖的含義。避免活鎖的簡(jiǎn)單方法是什么?
答:活鎖的含義是該等待事務(wù)等待時(shí)間太長(zhǎng),似乎被鎖住了,實(shí)際上可能被激活.避免
活鎖的簡(jiǎn)單方法是采用先來先服務(wù)的策略。當(dāng)多個(gè)事務(wù)請(qǐng)求封鎖同一數(shù)據(jù)對(duì)象時(shí),封
鎖子系統(tǒng)按請(qǐng)求封鎖的先后次序?qū)κ聞?wù)排隊(duì),數(shù)據(jù)對(duì)象上的鎖一旦釋放就批準(zhǔn)申請(qǐng)隊(duì)
列中第一個(gè)事務(wù)獲得鎖。
25.什么叫做數(shù)據(jù)庫(kù)的恢復(fù)?數(shù)據(jù)庫(kù)恢復(fù)的基本技術(shù)有哪些?
答:數(shù)據(jù)庫(kù)恢復(fù)是指通過技術(shù)手段,將保存在數(shù)據(jù)庫(kù)中上丟失的電子數(shù)據(jù)進(jìn)行搶救和
恢復(fù)的技術(shù)。1、數(shù)據(jù)轉(zhuǎn)儲(chǔ)2、登錄日志文件
26.簡(jiǎn)述數(shù)據(jù)庫(kù)系統(tǒng)中可能發(fā)生的故障類型,以及數(shù)據(jù)恢復(fù)方法。
答:(1)事務(wù)內(nèi)部的故障;
(2)系統(tǒng)故障;
(3)介質(zhì)故障;
(4)計(jì)算機(jī)病毒。
27.簡(jiǎn)述“運(yùn)行記錄優(yōu)先原則”。
答:在數(shù)據(jù)庫(kù)系統(tǒng)中,寫一個(gè)修改到數(shù)據(jù)庫(kù)中和寫一個(gè)表示這個(gè)修改的登記記錄到日
志文件中是兩個(gè)不同的操作,在這兩個(gè)操作之間有可能發(fā)生故障。這時(shí),如果先寫了
數(shù)據(jù)庫(kù)修改,而在運(yùn)行記錄中沒有登記這個(gè)修改,則以后就無法恢復(fù)這個(gè)修改,那么
以后也就無法撤消這個(gè)修改。為了安全起見,采用''運(yùn)行記錄優(yōu)先原則”。它包括兩點(diǎn):
(1)至少要等相應(yīng)運(yùn)行記錄已經(jīng)寫入“日志”文件后,才能允許事務(wù)往數(shù)據(jù)庫(kù)中
寫記錄。
(2)直至事務(wù)的所有運(yùn)行記錄都已寫入運(yùn)行“日志”文件后,才能允許事務(wù)完成
“ENDTRANSACTION”處理。
28.簡(jiǎn)述日志文件內(nèi)容及其作用。
答:(1)日志文件是用來記錄事務(wù)對(duì)數(shù)據(jù)庫(kù)的更新操作的文件。
(2)設(shè)立日志文件的目的是:進(jìn)行事務(wù)故障恢復(fù);進(jìn)行系統(tǒng)故障恢復(fù);協(xié)助后備副
本進(jìn)行介質(zhì)故障恢復(fù)。
29.簡(jiǎn)述數(shù)據(jù)庫(kù)設(shè)計(jì)過程。
答:這里只概要列出數(shù)據(jù)庫(kù)設(shè)計(jì)過程的六個(gè)階段:(1)需求分析;(2)概念結(jié)構(gòu)
設(shè)計(jì);(3)邏輯結(jié)構(gòu)設(shè)計(jì);(4)數(shù)據(jù)庫(kù)物理設(shè)計(jì);(5)數(shù)據(jù)庫(kù)實(shí)施;(6)
數(shù)據(jù)庫(kù)運(yùn)行和維護(hù)。這是一個(gè)完整的實(shí)際數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng)的設(shè)計(jì)過程。不僅包括
設(shè)計(jì)數(shù)據(jù)庫(kù)本身,還包括數(shù)據(jù)庫(kù)的實(shí)施、運(yùn)行和維護(hù)。設(shè)計(jì)一個(gè)完善的數(shù)據(jù)庫(kù)應(yīng)用系
統(tǒng)往往是上述六個(gè)階段的不斷反復(fù)。
30.需求分析階段的設(shè)計(jì)目標(biāo)是什么?調(diào)查的內(nèi)容是什么?
答:需求分析階段的設(shè)計(jì)目標(biāo)是通過詳細(xì)調(diào)查現(xiàn)實(shí)世界要處理的對(duì)象(組織、部門、
企業(yè)等),充分了解原系統(tǒng)(手工系統(tǒng)或計(jì)算機(jī)系統(tǒng))工作概況,明確用戶的各種需求,
然后在此基礎(chǔ)上確定新系統(tǒng)的功能。調(diào)查的內(nèi)容是“數(shù)據(jù)”和“處理”,即獲得用戶對(duì)
數(shù)據(jù)庫(kù)的如下要求:(1)信息要求,指用戶需要從數(shù)據(jù)庫(kù)中獲得信息的內(nèi)容與性質(zhì),
由信息要求可以導(dǎo)出數(shù)據(jù)要求,即在數(shù)據(jù)庫(kù)中需要存儲(chǔ)哪些數(shù)據(jù);(2)處理要求,
指用戶要完成什么處理功能,對(duì)處理的響應(yīng)時(shí)間有什么要求,處理方式是批處理還是
聯(lián)機(jī)處理;(3)安全性與完整性要求。
31.數(shù)據(jù)字典的內(nèi)容和作用是什么?
答:數(shù)據(jù)字典是系統(tǒng)中各類數(shù)據(jù)描述的集合。數(shù)據(jù)字典的內(nèi)容通常包括:(1)數(shù)據(jù)
項(xiàng);(2)數(shù)據(jù)結(jié)構(gòu);(3)數(shù)據(jù)流;(4)數(shù)據(jù)存儲(chǔ);(5)處理過程五個(gè)部
分。其中數(shù)據(jù)項(xiàng)是數(shù)據(jù)的最小組成單位,若干個(gè)數(shù)據(jù)項(xiàng)可以組成一個(gè)數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)
字典通過對(duì)數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)的定義來描述數(shù)據(jù)流和數(shù)據(jù)存儲(chǔ)的邏輯內(nèi)容。數(shù)據(jù)字典
的作用:數(shù)據(jù)字典是關(guān)于數(shù)據(jù)庫(kù)中數(shù)據(jù)的描述,在需求分析階段建立,是下一步進(jìn)行
概念設(shè)計(jì)的基礎(chǔ),并在數(shù)據(jù)庫(kù)設(shè)計(jì)過程中不斷修改、充實(shí)、完善。
32.在全局ER模型設(shè)計(jì)過程中,需要消除局部ER模型之間存在的哪三種沖
突?
答:屬性;結(jié)構(gòu);命名
33.簡(jiǎn)述數(shù)據(jù)庫(kù)完整性和安全性的概念。
答:完整性是為了防止數(shù)據(jù)庫(kù)中存在不符合語義的數(shù)據(jù),防止錯(cuò)誤信息的輸入和輸出,
即所謂垃圾進(jìn)垃圾出所造成的無效操作和錯(cuò)誤結(jié)果。后者是保護(hù)數(shù)據(jù)庫(kù)防止惡意的破
壞和非法的存取。也就是說,安全性措施的防范對(duì)象是非法用戶和非法操作,完整性
措施的防范對(duì)象是不合語義的數(shù)據(jù)。
三、SQL
1、有4個(gè)關(guān)系模式如下:
出版社(出版社編號(hào),出版社名稱)
圖書(圖書編號(hào),書名,出版社編號(hào),定價(jià))
作者(作者編號(hào),姓名)
著書(圖書編號(hào),作者編號(hào),作者排序)
注:作者排序=1表示第一作者,依此類推。
用SQL語句,完成:
(1).檢索所有定價(jià)超過20元的書名。
答案:SELECT書名FROM圖書WHERE定價(jià)>20
(2).統(tǒng)計(jì)每個(gè)出版社圖書的平均定價(jià)。
答案:SELECT出版社編號(hào),AVG(定價(jià))FROM圖書GROUPBY出版社編
號(hào)
(3).將科學(xué)出版社的所有圖書定價(jià)下調(diào)5%。
答案:UPDATE圖書SET定價(jià)=定價(jià)*0.95WHERE出版社編號(hào)IN(SELECT
出版社編號(hào)FROM出版社WHERE出版社名稱」科學(xué)〃)
【說明】WHERE出版社名稱LIKE“科學(xué)”也正確。
(4).列出所有圖書的書名、第一作者姓名和出版社名稱。
答案:SELECT書名,姓名,出版社名稱FROM出版社A,圖書B,作者C,
著書DWHEREA.出版社編號(hào)=B.出版社編號(hào)ANDB.圖書編號(hào)=以圖書
編號(hào)ANDC.作者編號(hào)=口.作者編號(hào)AND作者排序=1。
2、設(shè)有如下3個(gè)關(guān)系模式:
職工EMP(職工號(hào),姓名,性別,出生年月)
工程PRJ(工程編號(hào),工程名稱,預(yù)算)
報(bào)酬SAL(職工號(hào),工程編號(hào),工資)
用SQL語句,完成第(1)-(6)題。
(1).創(chuàng)建“報(bào)酬”表,其中主碼為''職工號(hào),工程編號(hào)”,外碼為“職工號(hào)”
和“工程編號(hào)”
(2).按照職工號(hào)統(tǒng)計(jì)每個(gè)職工的總收入。
SELECTSUM(工資)FROMPRJGROUPBY職工號(hào)
(3).檢索所有預(yù)算超過100萬的工程的情況。
SELECT*FROMPRJWHERE預(yù)算>100
(4).將參加了101號(hào)工程的職工工資提高10%0
UPDATESALSET工資=工資*1.1WHERE工程編號(hào)='101'
(5).創(chuàng)建一個(gè)查詢職工承擔(dān)工程的視圖VPS,VPS包括職工號(hào)、姓名、工程
名稱和工資屬性。
CREATEVIEWVPS
AS
SELECTEMP.職工號(hào),EMP.姓名,PRJ.工程名,SAL.工資FROM
EMP,PRJ,SALWHERESAL.職工號(hào)=EMP.職工號(hào)ANDSAL.工程編號(hào)=
PRJ.工程編號(hào)
(6).將“報(bào)酬”表的查詢權(quán)限授給用戶王紅。
3、在供應(yīng)商、零件數(shù)據(jù)庫(kù)中有以下3個(gè)關(guān)系模式:
供應(yīng)商:S(SNO,SNAME,CITY,STATUS)
零件:P(PNO,PNAME,WEIGHT,COLOR,CITY)
供應(yīng)貨:SP(SNO,PNO,QTY)
供應(yīng)貨關(guān)系SP表示某供應(yīng)商SNO,供應(yīng)了PNO零件,數(shù)量為QTY。
用SQL語言完成以下操作:
(1)求供應(yīng)紅色零件的供應(yīng)商名字;
selectSNAMEfromSwhereSNO=(SELECTSNOFROMSPWHEREPNO
=(SELECTPNOFROMPWHERECOLOR='紅色'))
(2)求北京供應(yīng)商的號(hào)碼、名字和狀況(STATUS);
selectSNO,SNAME,STATUSwhereCITY='北京'
(3)求零件P2的總供應(yīng)量;
selectcount(WEIGHT)fromPwherePNO='P2'
(4)把零件P2的重量增加5公斤,顏色該為黃色。
updatePsetWEIGHT=WEIGHT+5,COLOR='黃色'WHEREPNO='P2'
(5)統(tǒng)計(jì)每個(gè)供應(yīng)商供應(yīng)的項(xiàng)目總數(shù)。
SELECTCOUNT(PNO)FROMSPGROUPBYSNO
4、有3個(gè)關(guān)系模式如下:
學(xué)生S(S#,Sname,Age,Sex)
學(xué)習(xí)SC(S#,C#,Score)
課程C(C#,Cname,Credit,Teacher)
試用SQL表達(dá)下列問題:
(1)檢索JIANG老師所授課程的課程號(hào)和課程名。
selectC#,CnamefromCwhereTeacher='JIANG'
(2)檢索年齡大于23歲的男學(xué)生的學(xué)號(hào)和姓名。
selectS#,SnamefromSwhereAge>23andSex='男'
(3)檢索WANG同學(xué)不學(xué)的課程的課程號(hào)。
selectC#fromSCwhereC#notin(selectC#fromSCwhereS#in
(selectS#fromSwhereSname='WANG'))
(4)統(tǒng)計(jì)每門課程的平均成績(jī)。
selectavg(Score)fromSCgroupbyC#
(5)修改“數(shù)據(jù)庫(kù)原理”的學(xué)分,改為4學(xué)分。
updateCSsetScore='4'whereC#=(selectC#fromCwhereCname
='數(shù)據(jù)庫(kù)原理')這個(gè)題目不明確,你要改的學(xué)分是哪個(gè)?是課表里面的
學(xué)分嗎?
updateCsetCredit='4"whereCname='數(shù)據(jù)庫(kù)原理'
(6)創(chuàng)建一個(gè)查詢學(xué)生成績(jī)的視圖VSC,VSC包括學(xué)生號(hào)(S#)、學(xué)生姓名
(Sname)、課程名稱(Cname)和成績(jī)(Score)
createviewVSC
selectS.S#,S.Sname,C.Cname,ScorefromS,C,SCwhereS.S#=SC.S#
andC.C#=SC.C#
5、現(xiàn)有如下關(guān)系:
職工(職工號(hào),姓名,性別,職務(wù),家庭地址,部門編號(hào))
部門(部門編號(hào),部門名稱,地址,電話)
保健(保健卡編號(hào),職工號(hào),檢查身體日期,健康狀況)
用SQL語句完成下列問題:
(1).查找所有女科長(zhǎng)的姓名和家庭地址;
select姓名,家庭地址from職工where職務(wù)='科長(zhǎng)'and性別=
‘女’
(2).統(tǒng)計(jì)“財(cái)務(wù)科”中健康狀況為“良好”的職工人數(shù)。
selectcount(a.職工號(hào))from職工a,部門b,保健cwherea.部門
編號(hào)=b.部門編號(hào)anda.職工號(hào)=c.職工號(hào)andb.部門名稱='財(cái)務(wù)科'
andc.健康狀況='良好'
(3).刪除“銷售處”職工在職工關(guān)系中的記錄;
deletefrom職工where部門編碼in(select部門編號(hào)from部門
where部門名稱='銷售處')
go
deletefrom保健where職工號(hào)in(select職工號(hào)from職工
where部門編號(hào)in(select部門編號(hào)from部門where部門名稱=
'銷售處'))
(4).將職工號(hào)為“3061”的職工的健康狀況改為“一般”;
update保健set健康狀況='一般'where職工號(hào)='3061)
(5).建立健康狀況為“差”的職工的視圖。
createview差
select*from職工where職工號(hào)=(select職工號(hào)from保健
where健康狀況='差')
三、分析題
1、設(shè)關(guān)系模式R(A,B,C),F={AC-B,AB-C,B-C},貝UR最
高屬于第幾范式?說明理由。
2、設(shè)有如下關(guān)系R
課程名教師名教師地址
C1馬千里D1
C2于得水D1
C3余快D2
C4于得水D1
(1)該關(guān)系為第幾范式?為什么?
(2)如何將它分解為高一級(jí)范式?
它為第幾范式?為什么?
解:它是2NF。
因?yàn)镽的候選關(guān)鍵字跳''課程名"。
依賴關(guān)系:課程名一教師名,教師名一課程名,教師名一教師地址,所以課程名
一教師地址。即存在非主屬性“教師地址”對(duì)候選關(guān)鍵字課程名的傳遞函數(shù),因此R
不是3NF。但:因?yàn)椴淮嬖诜侵鲗傩詫?duì)候選關(guān)鍵字的部分函數(shù)依賴,所以R是2NF。
是否存在刪除操作異常?若存在,則說明是在什么情況下發(fā)生的?
解:存在。當(dāng)刪除某門課程時(shí)會(huì)刪除不該刪除的教師的有關(guān)信息。
將它分解為高一級(jí)范式,分解后的關(guān)系是如何解決分解前可能存在的刪除操作異常問
題?
解:分解為高一級(jí)范式如圖所示。
R1如下:R2如下:
課程名教師名
教師名教師地址
馬千里
馬千里D1
C2于得水
于得水D1
C3余快
余快D2
C4于得水
分解后,若刪除課程數(shù)據(jù)時(shí),僅對(duì)關(guān)系R1操作,教師地址信息在關(guān)系R2中仍然保留,
不會(huì)丟失教師方面的信息。
3、如下圖給出的關(guān)系SC為第幾范式?是否存在插入、刪除異常?若存在,則說明
是在什么情況下發(fā)生?發(fā)生的原因是什么?如何將它分解,分解后的關(guān)系能否解決操
作異常問題?
表SC如下:
SNOCNOCTITLEINAMEILOCAGRADE
80152C1OS王平DI70
80153C2DB高升D285
80154C1OS王平DI86
80154C3AI楊楊D372
80155C4CL高升D292
其中:SNO為學(xué)號(hào),CNO為課程號(hào),CTITLE為課程名,INAME為教師名,
ILOCA為教師地址,GRADE為成績(jī)
解:SC為1NF。
它存在插入、刪除異常操作。當(dāng)增設(shè)一門新課程時(shí),因還沒有學(xué)生選修,則缺少關(guān)鍵
字的一部分SNO而不能執(zhí)行插入操作;當(dāng)所有學(xué)生退選某門課程而進(jìn)行刪除操作時(shí),
會(huì)將不法刪除的課程信息刪除。
SC關(guān)系中存在插入和刪除操作異常的原因在于,該關(guān)系的候選關(guān)鍵字為(SNO,CNO),
其中僅有非屬性GRADE完全函數(shù)依賴于(SNO,CNO),其他非主屬性CTITLE、INAME、
ILOCA都只函數(shù)依賴于CN0,即它們與(SNO,CNO)為部分函數(shù)依賴關(guān)系。分解后的關(guān)
系模式如下:
SG如下:
SNOCNOGRADE
0152Cl70
80153C285
80154Cl86
80154C372
80155C495
分解后的兩個(gè)關(guān)系子模式都為2NF(實(shí)際上,SG是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í),會(huì)將不該刪除的
教師的有關(guān)信息刪除。CI表中出現(xiàn)操作異常的原因是該關(guān)系中存在非主屬性對(duì)候選關(guān)
鍵字的傳遞函數(shù)依賴:
CNO-INA施,INAME-CNO,INAME-ILOCA,所以CNO-ILOCA(函數(shù)傳遞依賴,CI不
是3NF)
將CI進(jìn)一步分解為如下所示的Course和Inst兩個(gè)關(guān)系,可以解決上述操作異常。
d如下:COURSE
0CTITLEINAMEILOCACNOCTITLEINAME
C1OS王平D1C1OS王平
C2DB高升
C2DB高升D2
C3AI楊楊
C3AI楊楊D3C4CL高升
INAMEILOCA
C4CL高升D2
王子DI
高升D2
INST楊楊D3
4、假設(shè)某旅館業(yè)務(wù)規(guī)定,每個(gè)賬單對(duì)應(yīng)一個(gè)顧客,
賬單的發(fā)票號(hào)是唯一的,賬單中包含一個(gè)顧客姓名、到達(dá)日期和顧客每日的消費(fèi)明
細(xì),賬單的格式如題下圖所示。
旅館賬單格式
發(fā)票號(hào)到達(dá)日期顧客姓名消費(fèi)日期項(xiàng)目金額
23445662007/12/10王大斌2007/12/10房租¥150.00
23445662007/12/10王大斌2007/12/10餐費(fèi)¥37.00
23445662007/12/10王大斌2007/12/10電話費(fèi)¥2.50
23445662007/12/10王大斌2007/12/11餐費(fèi)¥98.00
如果根據(jù)上述業(yè)務(wù)規(guī)則,設(shè)計(jì)一個(gè)關(guān)系模式:
R(發(fā)票號(hào),到達(dá)日期,顧客姓名,消費(fèi)日期,項(xiàng)目,金額)。
試回答下列問題:
(1)找出R的候選鍵。
(2)判斷R最高可達(dá)到第幾范式,為什么?
(3)給出R的一個(gè)可能的3NF分解。
答案:(1)R的候選鍵是(發(fā)票號(hào),消費(fèi)日期,項(xiàng)目)(2分)
(2)RG1NF(2分)
因?yàn)镽中存在部分函數(shù)依賴:發(fā)票號(hào)一到達(dá)日期,顧客姓名。(2分)
(3)R1(發(fā)票號(hào),到達(dá)日期,顧客姓名)(2分)
R2(發(fā)票號(hào),消費(fèi)日期,項(xiàng)目,金額)(2分)
5、已知新華書店銷售訂單的屏幕輸出格式如下圖所示。
訂單編號(hào):1379468客戶編號(hào):NC200578日期:2006-08-08
客戶名稱:雙溪學(xué)??蛻綦娫挘?5798661地址:雙溪路16號(hào)
圖書編號(hào)書名定價(jià)數(shù)量金額
3249786英語23.001002300.00
2578964哲學(xué)25.001002500.00
合計(jì):4800.00元
書店的業(yè)務(wù)描述:
①每一個(gè)訂單有唯一的訂單編號(hào);
②一個(gè)訂單可以訂購(gòu)多種圖書,且每一種圖書可以在多個(gè)訂單中出現(xiàn);
③一個(gè)訂單對(duì)應(yīng)一個(gè)客戶,且一個(gè)客戶可以有多個(gè)訂單;
④每一個(gè)客戶有惟一的客戶編號(hào);
⑤每一種圖書有惟一的圖書編號(hào)。
根據(jù)上述業(yè)務(wù)描述和訂單格式得到關(guān)系模式R:
R(訂單編號(hào),日期,客戶編號(hào),客戶名稱,客戶電話,地址,圖書編號(hào),書名,
定價(jià),數(shù)量)
試回答下列問題:
(1)根據(jù)上述規(guī)定,寫出關(guān)系模式R的基本函數(shù)依賴;
(2)找出關(guān)系模式R的候選碼;
(3)試問關(guān)系模式R最高已經(jīng)達(dá)到第幾范式?為什么?
(4)如果R不屬于3NF,請(qǐng)將R分解成3NF模式集。
答案:(1)訂單編號(hào)一日期,客戶編號(hào)(1分)
圖書編號(hào)一書名,定價(jià)(1分)
訂單編號(hào),圖書編號(hào)一數(shù)量(1分)
客戶編號(hào)一客戶名稱,客戶電話,地址(1分)
(2)R的候選鍵是(訂單編號(hào),圖書編號(hào))(1分)
(3)RG1NF,因?yàn)镽中存在非主屬性部分函數(shù)依賴于候選鍵(1分)
(4)將R分解成
R1(訂單編號(hào),日期,客戶編號(hào))£3NF(1分)
R2(圖書編號(hào),書名,定價(jià))F3NF(1分)
R3(客戶編號(hào),客戶名稱,客戶電話,地址)G3NF(1分)
R4(訂單編號(hào),圖書編碼,數(shù)量)G3NF(1分)
6、假設(shè)某公司銷售業(yè)務(wù)中使用的訂單格式如下:
訂單號(hào):1145訂貨日期:09/15/2007客戶名稱:ABC客戶電話:8141763
產(chǎn)品編號(hào)品名價(jià)格數(shù)量金額
A電源100.00202000.00
B電表200.00408000.00
C卡尺40.00502000.00
總金額:12000.00
公司的業(yè)務(wù)規(guī)定:
?訂單號(hào)是唯一的,每張訂單對(duì)應(yīng)一個(gè)訂單號(hào);
?一張訂單可以訂購(gòu)多種產(chǎn)品,每一種產(chǎn)品可以在多個(gè)訂單中出現(xiàn);
?一張訂單有一個(gè)客戶,且一個(gè)客戶可以有多張訂單;
?每一個(gè)產(chǎn)品編號(hào)對(duì)應(yīng)一種產(chǎn)品的品名和價(jià)格;
?每一個(gè)客戶有一個(gè)確定的名稱和電話號(hào)碼。
試根據(jù)上述表格和業(yè)務(wù)規(guī)則設(shè)計(jì)關(guān)系模式:
R(訂單號(hào),訂貨日期,客戶名稱,客戶電話,產(chǎn)品編號(hào),品名,價(jià)格,數(shù)量)
試回答下列問題:
(1)出R的基本函數(shù)依賴集。
(2)出R的候選碼。
(3)判斷R最高可達(dá)到第幾范式?為什么?
(4)如果R不屬于3NF,請(qǐng)將R分解成3NF模式集
答:(1)關(guān)系模式R的基本函數(shù)依賴集為:
訂單號(hào)-訂貨日期
訂單號(hào)一客戶名稱
產(chǎn)品編號(hào)一品名
產(chǎn)品編號(hào)一價(jià)格
客戶名稱一客戶電話
訂單號(hào),產(chǎn)品編號(hào)一數(shù)量
(2)關(guān)系模式R的候選碼是(訂單號(hào),產(chǎn)品編號(hào))。
(3)RG1NF,因?yàn)镽中存在非主屬性對(duì)候選碼的部分函數(shù)依賴。
(4)將R分解成以下四個(gè)關(guān)系模式:
R1(訂單號(hào),訂貨日期,客戶名稱)G3NF
R2(產(chǎn)品編號(hào),品名,價(jià)格)G3NF
R3(客戶名稱,客戶電話)F3NF
R4(訂單號(hào),產(chǎn)品編號(hào),數(shù)量)S3NF
7.假設(shè)某商業(yè)集團(tuán)數(shù)據(jù)庫(kù)中有一關(guān)系模式R如下:
R(商店編號(hào),商品編號(hào),數(shù)量,部門編號(hào),負(fù)責(zé)人)
如果規(guī)定:
(1)每個(gè)商店的每種商品只在一個(gè)部門銷售;
(2)每個(gè)商店的每個(gè)部門只有一個(gè)負(fù)責(zé)人;
(3)每個(gè)商店的每種商品只有一個(gè)庫(kù)存數(shù)量。
試回答下列問題:
(1)根據(jù)上述規(guī)定,寫出關(guān)系模式R的基本函數(shù)依賴;
(2)找出關(guān)系模式R的候選碼;
(3)試問關(guān)系模式R最高已經(jīng)達(dá)到第幾范式?為什么?
(4)如果R不屬于3NF,請(qǐng)將R分解成3NF模式集。
答:1、(商店編號(hào),商品編號(hào))一部門編號(hào);商店編號(hào)一負(fù)責(zé)人;(商店
編號(hào),商品編號(hào))一商品庫(kù)存數(shù)量
2、商店編號(hào),商品編號(hào);
3、1NF,存在部分函數(shù)和傳遞函數(shù)依賴。
4、R1(商店編號(hào),商品編號(hào),商品庫(kù)存數(shù)量,部門編號(hào));R2(商
店編號(hào),負(fù)責(zé)人)
8、設(shè)有如下商品庫(kù)存關(guān)系R:
商品編商品名稱采購(gòu)批單價(jià)庫(kù)存政倉(cāng)庫(kù)號(hào)倉(cāng)庫(kù)地點(diǎn)
號(hào)量
A1ABC影電122605S1中山路5號(hào)
A1AB學(xué)電222004S1中山踏5號(hào)
A2XYZ^ii210506S1中11655號(hào)
A3PPP西裝19808S2勝不潞8號(hào)
A4FK自行車24505S3勝禾簸號(hào)
請(qǐng)僅在R中已給出數(shù)據(jù)的范圍內(nèi)分析其函數(shù)依賴關(guān)系并解答如下問題:
(1)、R最高為第幾范式?為什么?(3分)
(2)、將它分解為滿足3NF范式的關(guān)系模式。(5分)
(3)、分解后比分解前有什么好處?為什么?(5分)
9、數(shù)據(jù)模型分析,關(guān)系模型R(U,F)
U=ABCDEG,F={AD-E,AC-E,CB—G,BCD-AG,BD-A,AB-G,A-C}
(1)求此模型的最小函數(shù)依賴集。
(2)求出關(guān)系模式的候選碼。
(3)此關(guān)系模型最高屬于哪級(jí)范式。
(4)將此模型按照模式分解的要求分解為3NF。
依照題意,得出:
答:⑴、通過4.2.7最小集求法,Fm={AfE,BC-G,BD-A,A-C}
解函數(shù)依賴的右部,F(xiàn)={ADfE,AC-E,BCfG,BCD-A,BCD-G,BD
-A,AB-G,A—C}
消去左邊的冗余屬性:F={AT,A-E,BC-G,BD-A,BC-G,BD
-A,AB—G,A—C}
消去冗余的函數(shù)依賴:Fm={A-*E,BC-G,BD-A,A-C}
也可以為:m={A->E,AB->G,BD^A,A-*C}
(2)、候選碼:BD
(3)、R中每一個(gè)非主屬性完全函數(shù)依賴于R的候選鍵BD;但C,G都傳遞依
賴于R的候選鍵BD,也就是說,R滿足2NF的要求,而不滿足3NF的要
求。此關(guān)系模型最高屬于2NF。
(4)、依據(jù)算法4.4(主要目的是消除函數(shù)依賴)
RI:U1=ABDF1={BD—A}
R2:U2=BCGF2={BC—G}
R3:U3=ACEF3={A—C,A—E}
四、設(shè)計(jì)題
1、設(shè)某商品-銷售數(shù)據(jù)庫(kù)中的信息有:?jiǎn)T工號(hào)、員工名、工資、銷售組名、銷
售組負(fù)責(zé)人、商品號(hào)、商品名、單價(jià)、銷售日期、銷售量、供應(yīng)者號(hào)、供應(yīng)者名、
供應(yīng)者地址。假定:一個(gè)員工僅在一個(gè)銷售組;一個(gè)銷售組可銷售多種商品,一
種商品只能由一個(gè)組銷售;一種商品每天有一個(gè)銷售量;一個(gè)供應(yīng)者可以供應(yīng)多
種商品,一種商品可以多渠道供貨。
要求完成下列各題:
(1)根據(jù)以上信息,給出E-R圖。
⑵按規(guī)范化要求設(shè)計(jì)出3NF的數(shù)據(jù)庫(kù)模式。
⑶給出數(shù)據(jù)庫(kù)模式中每個(gè)關(guān)系模式的主鍵和外鍵。
答:(1)、E-R模型(10分;每個(gè)實(shí)體1分,包括屬性;每個(gè)聯(lián)系2分,包括聯(lián)系
類型.)
(2)、3NF的關(guān)系模式:(10分)
R1(員工號(hào),員工名,工資,銷售組名);(2分,沒有銷售組名扣1分)
R2(銷售組名,銷售組負(fù)責(zé)人);(1分)
R3(商品號(hào),商品名,單價(jià),銷售組名);(2分,沒有銷售組名扣1分)
R4(商品號(hào),銷售日期,銷售量);(2分)
R5(供應(yīng)者號(hào),供應(yīng)者名,供應(yīng)者地址);(1分)
R6(商品號(hào),供應(yīng)者號(hào)).(2分)
注:若RI,R3分為二個(gè)模式,也要扣1分.
(3)、主鍵(3分)外鍵(2分)
R1員工號(hào)
R2銷售組名
R3商品號(hào)銷售組名
R4商品號(hào),銷售日期商品號(hào)
R5供應(yīng)者號(hào)
R6商品號(hào),供應(yīng)者號(hào)商品號(hào),供應(yīng)者號(hào)
2、假設(shè)某公司的業(yè)務(wù)規(guī)則如下:
公司下設(shè)幾個(gè)部門,如技術(shù)部、財(cái)務(wù)部、市場(chǎng)部等;每個(gè)部門承擔(dān)多個(gè)工程項(xiàng)目,
每個(gè)工程項(xiàng)目屬于一個(gè)部門;每個(gè)部門有多名職工,每一名職工只能屬于一個(gè)部
門;一個(gè)部門可能參與多個(gè)工程項(xiàng)目。
工程項(xiàng)目有工程號(hào)、工程名兩個(gè)屬性;部門有部門號(hào)、部門名稱兩個(gè)屬性;
職工有職工號(hào)、姓名性別屬性
要求完成下列各題
(1)根據(jù)上述規(guī)則設(shè)計(jì)E-R模型
(2).按規(guī)范化要求設(shè)計(jì)出3NF的數(shù)據(jù)庫(kù)模式,并指出每個(gè)關(guān)系的主鍵和外鍵。
答:1、這個(gè)題的E-R模型應(yīng)該是這樣的:部門與職工由一個(gè)關(guān)系(隸屬)連
接起來,然后,部門與工程項(xiàng)目再用另一個(gè)關(guān)系(承擔(dān))聯(lián)系起來,
其中職工與關(guān)系的連線是一對(duì)平行線,部門與關(guān)系(隸屬)的連線是
單箭頭連線(頭指向部門),而工程項(xiàng)目與關(guān)系的連線也是一對(duì)平行
線,而部門與關(guān)系(承擔(dān))的連線也是一條單箭頭連線(頭指向部門)。
2、部門(部門號(hào),部門名稱)其中部門號(hào)是主鍵;
職工(職工號(hào),姓名,性別)其中職工號(hào)是主鍵;
工程項(xiàng)目(工程號(hào),工程名)其中工程號(hào)是主鍵;
隸屬(部門號(hào),職工號(hào),職位)其中部門號(hào)和職工號(hào)既是它的主鍵也
是它的外鍵;承擔(dān)(部門號(hào),工程號(hào),起始時(shí)間)其中部門號(hào)和工程
號(hào)既是它的主鍵也是它的外鍵.
3、企業(yè)集團(tuán)有若干工廠,每個(gè)工廠生產(chǎn)多種產(chǎn)品,且每一種產(chǎn)品可以在多個(gè)工
廠生產(chǎn),每個(gè)工廠按照固定的計(jì)劃數(shù)量生產(chǎn)產(chǎn)品;每個(gè)工廠聘用多名職工,
且每名職工只能在一個(gè)工廠工作,工廠聘用職工有聘期和工資。工廠的屬性
有工廠編號(hào)、廠名、地址,產(chǎn)品的屬性有產(chǎn)品編號(hào)、產(chǎn)品名、規(guī)格,職工的
屬性有職工號(hào)、姓名。
(1)根據(jù)上述語義畫出ER圖,在ER圖中需注明實(shí)體的屬性、聯(lián)系的類型
及實(shí)體的標(biāo)識(shí)符。
(2)將E-R模型轉(zhuǎn)換成關(guān)系模型,并指出每個(gè)關(guān)系模式的主鍵和外鍵。
ER圖略(其中工廠與產(chǎn)品為m:n,聯(lián)系的屬性為數(shù)量;工廠與職工為1:n,聯(lián)系的屬
性為聘期、工資;
工廠(工廠編號(hào),廠名,廠址)主鍵:工廠編號(hào)
產(chǎn)品(產(chǎn)品編號(hào),產(chǎn)品名,規(guī)格)主鍵:產(chǎn)品編號(hào)
生產(chǎn)(工廠編號(hào),產(chǎn)品編號(hào),數(shù)量)主鍵:(工廠編號(hào),產(chǎn)品編號(hào))外鍵:工廠編號(hào),
產(chǎn)品編號(hào),分別參照工廠表中的工廠編號(hào),產(chǎn)品表中的產(chǎn)品編號(hào)
職工(職工號(hào),姓名,年齡,聘期,工資,工廠編號(hào))主鍵:職工號(hào);外鍵:工廠編號(hào),
參照工廠表中的工廠編號(hào)
4、學(xué)生運(yùn)動(dòng)會(huì)模型:
?有若干班級(jí),每個(gè)班級(jí)包括:班級(jí)號(hào),班級(jí)名,專業(yè),人數(shù)
?每個(gè)班級(jí)有若干運(yùn)動(dòng)員,運(yùn)動(dòng)員只能屬于一個(gè)班,包括:運(yùn)動(dòng)員號(hào),姓名,性別,
年齡
?有若干比賽項(xiàng)目,包括:項(xiàng)目號(hào),名稱,比賽地點(diǎn)
?每名運(yùn)動(dòng)員可參加多項(xiàng)比賽,每個(gè)項(xiàng)目可有多人參加
?要求能夠公布每個(gè)比賽項(xiàng)目的運(yùn)動(dòng)員名次與成績(jī)
?要求能夠公布各個(gè)班級(jí)團(tuán)體總分的名次和成績(jī)
解題要求:
⑴畫出每個(gè)實(shí)體及其屬性關(guān)系、實(shí)體間實(shí)體聯(lián)系的E-R圖.
⑵根據(jù)試題中的處理要求:完成數(shù)據(jù)庫(kù)邏輯模型,包括各個(gè)表的名稱和屬性.并
指出每個(gè)表的主鍵和外鍵。
答:⑴
(2)班級(jí)(班級(jí)號(hào),班級(jí)名,專業(yè),人數(shù))
主鍵:班級(jí)號(hào)
運(yùn)動(dòng)員(運(yùn)動(dòng)員號(hào),姓名,性別,年齡,班級(jí)號(hào))
主鍵:運(yùn)動(dòng)員號(hào),外鍵:班級(jí)號(hào)
項(xiàng)目(項(xiàng)目號(hào),項(xiàng)目名,比賽地點(diǎn))
主鍵:項(xiàng)目號(hào)
比賽(運(yùn)動(dòng)員號(hào),項(xiàng)目號(hào),成績(jī),名次)
主鍵:運(yùn)動(dòng)員號(hào),項(xiàng)目號(hào),外鍵:運(yùn)動(dòng)員號(hào);項(xiàng)目號(hào)
5、某單位的現(xiàn)實(shí)世界中有工程、水泥、供應(yīng)商三種實(shí)體。假設(shè),一個(gè)工程只
能用一種型號(hào)的水泥,一種型號(hào)的水泥可用于多個(gè)工程;一個(gè)供應(yīng)商可生產(chǎn)多
種型號(hào)的水泥,一種型號(hào)的水泥可被多個(gè)供應(yīng)商生產(chǎn);一個(gè)供應(yīng)商可為多個(gè)工
程供應(yīng)水泥,一個(gè)工程也可從多個(gè)供應(yīng)商采購(gòu)水泥。要求能夠反映:一個(gè)工程
使用的是什么型號(hào)的水泥;一個(gè)工程從不同的供應(yīng)商那里分別采購(gòu)了多少水
泥、采購(gòu)單價(jià)分別是多少、已經(jīng)分別支付了多少購(gòu)買款;一個(gè)供應(yīng)商為哪些工
程供應(yīng)了水泥、供應(yīng)的水泥型號(hào)分別是什么、分別供應(yīng)了多少水泥、單價(jià)分別
是多少;等等。
請(qǐng)完成如下設(shè)計(jì)與分析:
(1)、設(shè)計(jì)滿足上述應(yīng)用特性的E-R圖,并根據(jù)一般常識(shí)標(biāo)明每個(gè)實(shí)體及聯(lián)
系的若干屬性。
(2)、將該E-R圖轉(zhuǎn)換為等價(jià)的關(guān)系模型結(jié)構(gòu),并用下劃線標(biāo)明每個(gè)關(guān)系模
式的關(guān)鍵字(碼)。
(3)、在上述設(shè)計(jì)和轉(zhuǎn)換過程中,什么情況下用到關(guān)系規(guī)范化理論?作用何
在?試舉例說明之。
6、有論文和作者兩個(gè)實(shí)體,論文有題目、期刊名稱、年份和期號(hào)等屬性,作
者有姓名、單位、地址等屬性。一篇論文可能有多個(gè)作者,且一位作者可
能寫過多篇論文,在每一篇論文中有作者的順序。
要求完成下列各題:
(1).根據(jù)上述規(guī)則設(shè)計(jì)E-R模型。
(2).按規(guī)范化要求設(shè)計(jì)出3NF的數(shù)據(jù)庫(kù)模式,并指出每個(gè)關(guān)系的主鍵和外鍵
關(guān)系模式:
論文期刊名稱.年份.期刊號(hào))
作者(姓名,單位,地址)
發(fā)衣(婦名.幽暢字號(hào))
7、某汽車維修站擬開發(fā)一套小型汽車維修管理系統(tǒng),對(duì)車輛的維修情況進(jìn)行管
理。
(1).對(duì)于新客戶及車輛,汽車維修管理系統(tǒng)首先登記客戶信息,包括:客
戶編號(hào)、客戶名稱、客戶性質(zhì)(個(gè)人、單位)、折扣率、聯(lián)系人、聯(lián)系電話等信
息;還要記錄客戶的車輛信息,包括:車牌號(hào)、車型、顏色等信息。一個(gè)客戶至
少有一臺(tái)車。客戶及車輛信息如表1T所示。
表1-1客戶及車輛信息
客戶編號(hào)GS0051客戶名稱XX公司客戶性質(zhì)單
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年興業(yè)銀行廣州分行校園招聘?jìng)淇碱}庫(kù)附答案詳解
- 安全廉潔案例集講解
- 2025年泰安銀行股份有限公司校園招聘70人備考題庫(kù)參考答案詳解
- 人流室急救護(hù)理要點(diǎn)
- 2025年柳城縣應(yīng)急管理局招聘5人備考題庫(kù)含答案詳解
- 2025年錫林郭勒盟應(yīng)急管理局關(guān)于公開招聘駐礦安全生產(chǎn)監(jiān)管專家的備考題庫(kù)及答案詳解參考
- 2025湖南株洲市炎陵縣財(cái)政局、縣審計(jì)局公開招聘專業(yè)人才4人筆試重點(diǎn)試題及答案解析
- 棗莊市山東棗莊市事業(yè)單位工作人員“榴棗歸鄉(xiāng)”工作流程筆試歷年參考題庫(kù)典型考點(diǎn)附帶答案詳解(3卷合一)
- 2026年盤錦市人民醫(yī)院校園公開招聘工作人員部分招聘崗位取消備考題庫(kù)必考題
- 常德市石門縣人民政府第六屆法律顧問選聘考試題庫(kù)附答案
- 劇組用車合同范本
- 2024年法律職業(yè)資格《客觀題卷一》試題及答案
- 鋼鐵廠勞務(wù)合同范本
- 2025年沈陽華晨專用車有限公司公開招聘筆試考試備考題庫(kù)及答案解析
- 職業(yè)技能競(jìng)賽和技術(shù)比武活動(dòng)方案
- 《面對(duì)挫折我不怕》課件
- 租打碟機(jī)合同范本
- 2025-2026學(xué)年上學(xué)期北京小學(xué)數(shù)學(xué)三年級(jí)期末典型卷2
- 2025四川成都東方廣益投資有限公司下屬企業(yè)招聘9人備考題庫(kù)(含答案詳解)
- 云南特色農(nóng)產(chǎn)品市場(chǎng)需求調(diào)研報(bào)告
- 2025課堂懲罰 主題班會(huì):馬達(dá)加斯加企鵝課堂懲罰 課件
評(píng)論
0/150
提交評(píng)論