數(shù)據(jù)庫期末選擇題(五篇)

格式:DOC 上傳日期:2023-01-10 15:44:47
數(shù)據(jù)庫期末選擇題(五篇)
時間:2023-01-10 15:44:47     小編:zdfb

人的記憶力會隨著歲月的流逝而衰退,寫作可以彌補(bǔ)記憶的不足,將曾經(jīng)的人生經(jīng)歷和感悟記錄下來,也便于保存一份美好的回憶。范文怎么寫才能發(fā)揮它最大的作用呢?下面是小編為大家收集的優(yōu)秀范文,供大家參考借鑒,希望可以幫助到有需要的朋友。

數(shù)據(jù)庫期末選擇題篇一

1.學(xué)校中有若干系,每個系有若干班級和教研室,每個教研室有若干教員,其中有的教授和副教授每人各帶若干研究生;每個班有若干學(xué)生,每個學(xué)生選修若干課程,每門課可由若干學(xué)生選修。請用 e 一 r 圖畫出此學(xué)校的概念模型。

2.某學(xué)生宿舍管理系統(tǒng),涉及的部分信息如下:(1)學(xué)生:學(xué)號,姓名,性別,專業(yè),班級。(2)寢室:寢室號,房間電話。

(3)管理員:員工號,姓名,聯(lián)系電話。

其中:每個寢室可同時住宿多名學(xué)生,每名學(xué)生只分配一個寢室;每個寢室指定其中一名學(xué)生擔(dān)當(dāng)寢室長;每個管理員同時管理多個寢室,但每個寢室只有一名管理員。(1)建立一個反映上述局部應(yīng)用的er模型,要求標(biāo)注聯(lián)系類型。

(2)根據(jù)轉(zhuǎn)換規(guī)則,將er模型轉(zhuǎn)換為關(guān)系模型。要求標(biāo)注每個關(guān)系模型的主鍵和外鍵(如果存在)。(1)

(2)

? 學(xué)生(學(xué)號,姓名,性別,專業(yè),班級)主鍵:學(xué)號

? 住宿(寢室號,學(xué)號)主鍵:學(xué)號

寢室號是外鍵;學(xué)號也是外鍵

? 學(xué)生管理寢室(寢室號,寢室長學(xué)號)主鍵:寢室號或者寢室長學(xué)號

寢室號是外鍵;寢室長學(xué)號也是外鍵

? 寢室(寢室號,房間電話)主鍵:寢室號

? 管理(寢室號,員工號)主鍵:寢室號

寢室號是外鍵;員工號是外鍵

? 管理員(員工號,姓名,聯(lián)系電話)主鍵:員工號

合并后的答案:

? 學(xué)生(學(xué)號,姓名,性別,專業(yè),班級,寢室號)主鍵:學(xué)號 寢室號是外鍵

? 寢室(寢室號,房間電話,寢室長學(xué)號,員工號)主鍵:寢室號或者寢室長學(xué)號 員工號是外鍵;寢室長學(xué)號是外鍵

? 管理員(員工號,姓名,聯(lián)系電話)主鍵:員工號

3設(shè)某工廠數(shù)據(jù)庫中有四個實(shí)體集。

一是“倉庫”實(shí)體集,屬性有倉庫號、倉庫面積等; 二是“零件”實(shí)體集,屬性有零件號、零件名、規(guī)格、單價等; 三是“供應(yīng)商”實(shí)體集,屬性有供應(yīng)商號、供應(yīng)商名、地址等; 四是“保管員”實(shí)體集,屬性有職工號、姓名等。

設(shè)倉庫與零件之間有“存放”聯(lián)系,每個倉庫可存放多種零件,每種零件可存放于若干倉庫中,每個倉庫存放每種零件要記錄庫存量;供應(yīng)商與零件之間有“供應(yīng)”聯(lián)系,一個供應(yīng)商可供應(yīng)多種零件,每種零件也可由多個供應(yīng)商提供,每個供應(yīng)商每提供一種零件要記錄供應(yīng)量;倉庫與保管員之間有“工作”聯(lián)系,一個倉庫可以有多名保管員,但一名保管員只能在一個倉庫工作。

(1)試為該工廠的數(shù)據(jù)庫設(shè)計一個er模型,要求標(biāo)注聯(lián)系類型。

(2)根據(jù)轉(zhuǎn)換規(guī)則,將er模型轉(zhuǎn)換成關(guān)系模型,要求標(biāo)明每個關(guān)系模式的主鍵和外鍵。

(2)

? 倉庫(倉庫號,倉庫面積)主鍵:倉庫號

? 存放(倉庫號,零件號,庫存量)主鍵:倉庫號,零件號

倉庫號是外鍵,零件好也是外鍵。

? 零件(零件號,零件名,規(guī)格,單價)主鍵:零件號

? 供應(yīng)(零件號,供應(yīng)商號,供應(yīng)量)主鍵:零件號,供應(yīng)商號

零件號是外鍵,供應(yīng)商號是外鍵

? 供應(yīng)商(供應(yīng)商號,供應(yīng)商名,地址)主鍵:供應(yīng)商號

? 工作(職工號,倉庫號)主鍵:職工號

職工號是外鍵,倉庫號是外鍵

? 保管員(職工號、姓名)主鍵:職工號

合并后的答案:

? 倉庫(倉庫號,倉庫面積)主鍵:倉庫號

? 存放(倉庫號,零件號,庫存量)主鍵:倉庫號,零件號

倉庫號是外鍵,零件好也是外鍵。

? 零件(零件號,零件名,規(guī)格,單價)主鍵:零件號

? 供應(yīng)(零件號,供應(yīng)商號,供應(yīng)量)主鍵:零件號,供應(yīng)商號

零件號是外鍵,供應(yīng)商號是外鍵

? 供應(yīng)商(供應(yīng)商號,供應(yīng)商名,地址)主鍵:供應(yīng)商號

? 保管員(職工號,姓名,倉庫號)主鍵:職工號 倉庫號是外鍵

二. 函數(shù)依賴識別以及規(guī)范到3nf 1.設(shè)某人才市場數(shù)據(jù)庫中有一個記錄應(yīng)聘人員信息的關(guān)系模式: r(人員編號,姓名,性別,職位編號,職位名稱,考試成績)

如果規(guī)定:每人可應(yīng)聘多個職位,每個職位可由多人應(yīng)聘且必須參加相關(guān)考試,考試成績由人員編號和職位編號確定。

姓名可以重復(fù)。職位名稱不可重復(fù)。

(1)根據(jù)上述規(guī)定,寫出模式r的基本fd和關(guān)鍵碼。(2)r最高屬于第幾范式。(3)將r規(guī)范到3nf。答案:

(1)根據(jù)上述規(guī)定,寫出模式r的基本fd和關(guān)鍵碼。人員編號→姓名 人員編號→性別 職位編號→職位名稱 職位名稱→職位編號

(人員編號,職位編號)→考試成績 候選碼:(人員編號,職位編號)(2)r最高屬于第幾范式。

r最高屬于第一范式。因?yàn)榉侵鲗傩孕彰詣e部分依賴于碼,不屬于第二范式。(3)將r規(guī)范到3nf。

人員(人員編號,姓名,性別)職位(職位編號,職位名稱)

應(yīng)聘(人員編號,職位編號,考試成績)2.設(shè)有一個反映教師參加科研項(xiàng)目的關(guān)系模式:

r(教師號,教師名稱,項(xiàng)目名稱,科研工作量,項(xiàng)目類別,項(xiàng)目金額,負(fù)責(zé)人)

如果規(guī)定:每個項(xiàng)目可有多人參加,每名教師每參加一個項(xiàng)目有一個科研工作量;每個項(xiàng)目只屬于一種類別,只有一名負(fù)責(zé)人。教師名稱可以重復(fù)。(1)根據(jù)上述規(guī)定,寫出模式r的基本fd和關(guān)鍵碼。(2)說明r不是2nf的理由。(3)將r規(guī)范到3nf。答案:(1)根據(jù)上述規(guī)定,寫出模式r的基本fd和關(guān)鍵碼。教師號→教師名稱 項(xiàng)目名稱→項(xiàng)目類別 項(xiàng)目名稱→項(xiàng)目金額 項(xiàng)目名稱→負(fù)責(zé)人

(教師號,項(xiàng)目名稱)→科研工作量 主鍵:(教師號,項(xiàng)目名稱)(2)說明r不是2nf的理由。

非主屬性教師名稱,項(xiàng)目類別,項(xiàng)目金額,負(fù)責(zé)人部分依賴碼。(3)將r規(guī)范到3nf。教師(教師號,教師名稱)

項(xiàng)目(項(xiàng)目名稱,項(xiàng)目類別,項(xiàng)目金額,負(fù)責(zé)人)項(xiàng)目開發(fā)(教師號,項(xiàng)目名稱,科研工作量)3.設(shè)有一個記錄學(xué)生畢業(yè)設(shè)計情況的關(guān)系模式:

r(學(xué)號,學(xué)生名,班級,教師號,教師名,職稱,畢業(yè)設(shè)計題目,成績)

如果規(guī)定:每名學(xué)生只有一位畢業(yè)設(shè)計指導(dǎo)教師,每位教師可指導(dǎo)多名學(xué)生;學(xué)生的畢業(yè)設(shè)計題目可能重復(fù)。

(1)根據(jù)上述規(guī)定,寫出模式r的基本fd和關(guān)鍵碼。(2)r最高屬于幾范式。(3)將r規(guī)范到3nf。

三. sql語句

1.零件、供應(yīng)商、采購 ? 設(shè)有以下關(guān)系模式

part(pno, pname, pmodel)零件號、零件名稱、零件型號

buy(pno, sno, bdate, bprice, bnum)零件號、供應(yīng)商號、采購日期、采購價格、采購數(shù)量

supplier(sno, sname, saddress)供應(yīng)商號,供應(yīng)商名稱,供應(yīng)商地址

? 要求寫出符合下列題目要求的sql語句

(1)查詢供應(yīng)商名稱為?創(chuàng)新零件?的所有零件購買記錄(零件號、零件名稱、零件型號、供應(yīng)商號、供應(yīng)商名稱、采購日期、采購價格、采購數(shù)量)。

查詢供應(yīng)商名稱為?創(chuàng)新零件?的所有零件購買記錄(零件號、零件名稱、零件型號、供應(yīng)商號、供應(yīng)商名稱、采購日期、采購價格、采購數(shù)量)。

select , , , , , , , from part, supplier, buy where = and

= and

= '創(chuàng)新零件';(2)查詢零件?o性密封圈?并且型號為?5*5?的零件購買記錄。

select , , , , , , , from part, supplier, buy where = and

= and

= 'o型密封圈' and

= '5*5';(3)查詢2011年5月份的零件購買記錄

select , , , , , , , from part, supplier, buy where = and

= and

between to_date(‘2011-05-01', 'yyyy-mm-dd')and to_date('2011-05-31', 'yyyy-mm-dd');(4)查詢2011采購價格1000元以上的零件購買記錄

select , , , , , , , from part, supplier, buy

where = and

= and

>= 1000 and

between to_date('2011-1-1', 'yyyy-mm-dd')and to_date('2011-12-31', 'yyyy-mm-dd');(5)查詢2011各零件的購買總數(shù)量和總金額,按零件號排列

select , , , sum()as cnt, sum( * )as amount from part, buy where = and

between to_date('2011-1-1', 'yyyy-mm-dd')and to_date('2011-12-31', 'yyyy-mm-dd')group by , , order by ;(6)查詢各供應(yīng)商2011的零件供應(yīng)總數(shù)量和總金額,按總金額逆序排列

select , , sum()as cnt, sum( * )as amount from supplier, buy where = and

between to_date('2011-1-1', 'yyyy-mm-dd')and to_date('2011-12-31', 'yyyy-mm-dd')

group by , order by amount desc;(7)查詢供應(yīng)商?創(chuàng)新零件?2011的零件供應(yīng)總數(shù)量和總金額

select , , sum()as cnt, sum( * )as amount from supplier, buy where = and

= '創(chuàng)新零件' and

between to_date('2011-1-1', 'yyyy-mm-dd')and to_date('2011-12-31', 'yyyy-mm-dd')

group by , ;(8)查詢符合下列條件的零件購買記錄 零件號?part01? 非?創(chuàng)新零件?供應(yīng)商

零件采購價格低于?創(chuàng)新零件?且零件號為?part01?的最低價格

select , , , , , , , from part, supplier, buy where = and

= and

= 'part01' and

<> '創(chuàng)新零件' and

<(select min()from buy, supplier where = and = 'part01' and = '創(chuàng)新零件');(9)在零件表中插入記錄(?part06?, ?輪胎?, ?225/55 r17?)insert into part

values('part06', '輪胎', '225/55 r17');(10)在零件表中刪除零件規(guī)格為?225/55 r17?的記錄 delete from part

where = '225/55 r17';

(11)更新供應(yīng)商?創(chuàng)新零件?的地址為?杭州市? update supplier set ss ='杭州市' where = '創(chuàng)新零件';(12)生成一個視圖annualbuy顯示2011所有零件購買記錄,按照供應(yīng)商號排序,一個供應(yīng)商內(nèi)按照零件號排序 create view annualbuy as select , , , , , , , from part, supplier, buy where = and

= and

between to_date('2011-1-1', 'yyyy-mm-dd')and to_date('2011-12-31', 'yyyy-mm-dd')

order by , ;

(13)賦予用戶張小明對零件表有select權(quán)利,對購買表的采購數(shù)量字段有更新權(quán)限。grant select on part, update(bnum)on buy to 張小明;(14)收回用戶張小明對零件表有select權(quán)利。revoke select on part from 張小明;2.試用sql語言查詢項(xiàng)目金額在20000元~30000元(包括20000元和30000元)之間并且項(xiàng)目名稱以?銀行?開頭的項(xiàng)目名稱,項(xiàng)目類別,項(xiàng)目金額。select pname,pcatogery,amount from project where amount between 20000 and 30000 and pname like ‘銀行%’;

3.試用sql語言查詢參加項(xiàng)目名稱為“網(wǎng)上書城”的教師姓名。

select tname from teacher, delivery,project where = and = and =‘網(wǎng)上書城’;

數(shù)據(jù)庫期末選擇題篇二

15計科本《數(shù)據(jù)庫系統(tǒng)原理與應(yīng)用》期末復(fù)習(xí)綱要

一、題型與分值分布1、2、3、4、單項(xiàng)選擇20題,計20分 填空題,每空1分,計10分 簡答題4小題,計20分 綜合應(yīng)用題2題,計50分

(1)概念模型(er圖),轉(zhuǎn)化成相關(guān)的關(guān)系模型并寫出主碼與外碼,并建立相關(guān)的關(guān)系表(20分)(2)t—sql語名的作用,6小題,計30分

二、具體知識要點(diǎn)及課后習(xí)題

具體知識點(diǎn): 第一章

1、數(shù)據(jù)庫中的數(shù)據(jù)具有哪些基本特點(diǎn)。(永久存儲、有組織、可共享)

2、數(shù)據(jù)庫系統(tǒng)具有哪些基本特點(diǎn)。(數(shù)據(jù)共享、數(shù)據(jù)完整性、數(shù)據(jù)獨(dú)立性及較小的冗余度)

3、4、數(shù)據(jù)庫系統(tǒng)與數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)之間的關(guān)系? 數(shù)據(jù)庫中的數(shù)據(jù)獨(dú)立性分為物理獨(dú)立性和邏輯獨(dú)立性,分別指的是什么?p11-125、6、模式

7、數(shù)據(jù)庫管理系統(tǒng)的功能結(jié)構(gòu)為p16 數(shù)據(jù)庫系統(tǒng)的三級數(shù)據(jù)模式結(jié)構(gòu):邏輯模式、外模式、內(nèi)數(shù)據(jù)庫系統(tǒng)的二級映象技術(shù)是指外模式與模式之間的映象,它不僅在三級數(shù)據(jù)模式之間建立了聯(lián)系,同時也保證了數(shù)據(jù)的獨(dú)立性。

8、數(shù)據(jù)的正確、有效和相容稱之為數(shù)據(jù)的完整性 第二章

1、信息的三種世界是指現(xiàn)實(shí)世界、信息世界和計算機(jī)世界(數(shù)據(jù)世界)。

2、數(shù)據(jù)庫系統(tǒng)的核心是數(shù)據(jù)模型,、概念模型是現(xiàn)實(shí)世界的第一層抽象,這一類模型中最著名的模型是實(shí)體-關(guān)系模型。

3、數(shù)據(jù)模型的三要素是:數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和完整性約束條件。如“實(shí)體完整性”約束規(guī)則,要求關(guān)系中的“主碼”不允許取空值

4、數(shù)據(jù)庫系統(tǒng)中常見的數(shù)據(jù)模型有:層次模型、網(wǎng)狀模型和關(guān)系模型

5、概念模型的特點(diǎn)是:對現(xiàn)實(shí)世界的第一層抽象;與軟、硬件無關(guān);從用戶觀點(diǎn)對數(shù)據(jù)建模。邏輯模型的特點(diǎn)是:對現(xiàn)實(shí)世界的第二層抽象;與硬件無關(guān),與軟件有關(guān);從計算機(jī)實(shí)現(xiàn)觀點(diǎn)對數(shù)據(jù)建模。第三章

1、數(shù)據(jù)庫的概念結(jié)構(gòu)設(shè)計(e-r圖)p55-58: e-r模型是對現(xiàn)實(shí)世界的一種抽象,e-r圖的主要成分是實(shí)體、聯(lián)系和屬性;各分e-r圖之間的沖突主要有屬性沖突、命名沖突和結(jié)構(gòu)沖突三類。

2、概念模型向關(guān)系模型的轉(zhuǎn)換(邏輯結(jié)構(gòu)設(shè)計)p62

3、概念數(shù)據(jù)模型不依賴于任何數(shù)據(jù)庫管理系統(tǒng)。實(shí)體-關(guān)系模型是概念模型中最著名的一種。第四章

1、數(shù)據(jù)庫中關(guān)系的類型有基本表、視圖表和查詢表三種,它們各有何不同p91

2、關(guān)系中的基本名詞:元組、屬性、候選碼和主碼、全碼、主屬性和非主屬性p91 一個關(guān)系只有一個主碼

3、數(shù)據(jù)庫中基本關(guān)系的性質(zhì)p92

4、關(guān)系的完整性 p95

5、關(guān)系操作語言的種類:關(guān)系代數(shù)語言、關(guān)系演算語言、基于映象的語言(如sql是一種映象,是非過程化的)。sql包含數(shù)據(jù)定義、數(shù)據(jù)操作和數(shù)據(jù)控制三種功能

5、關(guān)系模型的完整性約束有三類:實(shí)體完整性、參照完整性和用戶定義的完整性 p96 主要掌握主碼、外碼等

6、專門的關(guān)系運(yùn)算:選擇、投影、連接

7、關(guān)系代數(shù)運(yùn)算中,傳統(tǒng)的集合運(yùn)算有笛卡爾積、并、交和差

8、數(shù)據(jù)庫數(shù)據(jù)具有永久存儲、有組織、可共享三個基本特點(diǎn)。重點(diǎn)掌握4.2.3用關(guān)系代數(shù)表示檢索的實(shí)例 第五章

1、sql語句分類,按功能分為數(shù)據(jù)定義語句、數(shù)據(jù)操縱語句、數(shù)據(jù)控制語句

2、sql的數(shù)據(jù)定義包括基本表、索引、視圖和數(shù)據(jù)庫(重點(diǎn)掌握視圖的建立和用sql語句寫出查詢程序),如在關(guān)系數(shù)據(jù)庫系統(tǒng)中,為了簡化用戶的查詢操作,而又不增加數(shù)據(jù)的存儲空間,常用的方法是創(chuàng)建視圖

學(xué)會同時用sql語言和關(guān)系代數(shù)實(shí)現(xiàn)下列相關(guān)操作

p119 例5-

1、5-

2、5-3

3、sql的數(shù)據(jù)更新語句有插入(insert)、修改(update)與刪除(delte)三種

4、數(shù)據(jù)控制是系統(tǒng)通過對數(shù)據(jù)用戶的使用權(quán)限加以限制而保證數(shù)據(jù)安全的重要措施。sql的數(shù)據(jù)控制語句包括授權(quán)(grant)、收權(quán)(revoke)和拒絕訪問(deny)三種。用戶權(quán)限包含數(shù)據(jù)對象和操作類型兩個要素;而數(shù)據(jù)庫角色是被命名的一組與數(shù)據(jù)庫操作相關(guān)的權(quán)限,角色是權(quán)限的集合

5、利用游標(biāo)進(jìn)行查詢需要4種語句,分別是說明游標(biāo)、打開游標(biāo)、推進(jìn)游標(biāo)、關(guān)閉游標(biāo)

第六章

1、數(shù)據(jù)庫對象包含哪些?p156 sql server2008的數(shù)據(jù)庫對象有很多,例如:表、視圖、角色、索引(或存儲過程、默認(rèn)值、數(shù)據(jù)類型、觸發(fā)器、約束)

2、數(shù)據(jù)庫類別p157

3、數(shù)據(jù)庫對象是數(shù)據(jù)庫的邏輯文件。sql server2008的數(shù)據(jù)庫對象包括表、視圖、角色、索引、數(shù)據(jù)類型、默認(rèn)值、存儲過程、觸發(fā)器和約束等。了解各自的含義。

4、sql server2008的數(shù)據(jù)庫中有3種物理文件:基本數(shù)據(jù)文件、輔助數(shù)據(jù)和日志文件

5、掌握視圖的創(chuàng)建和維護(hù)方法。視圖是根據(jù)子模式建立的虛擬表。視圖的有哪些優(yōu)點(diǎn)呢?

如:視圖能夠簡化用戶的操作;視圖使用戶能以多種角度看待同一數(shù)據(jù);視圖對重構(gòu)數(shù)據(jù)庫提供了一定程度的邏輯獨(dú)立性;視圖能夠?qū)C(jī)密數(shù)據(jù)提供安全保護(hù) p247

6、掌握存儲過程和觸發(fā)器的創(chuàng)建和維護(hù).p179

7、trantsact-sql語言:重點(diǎn)放在數(shù)據(jù)操縱語言p192 第七章

1、關(guān)系模式應(yīng)滿足的基本要求p214

2、已知關(guān)系模式r及其上的相關(guān)函數(shù)依賴集合,會求出該關(guān)系模式對應(yīng)的候選碼。

例1:已知關(guān)系模式r(a,b,c,d,e)及其上的函數(shù)依賴集合f={a→d,b→c,e→a },該關(guān)系模式 的候選碼是(be)

例2:學(xué)生表(id,name,sex,age,depart_id,depart_name),存在的函數(shù)依賴是id→{name,sex,age,depart_id}; dept_id→dept_name,其滿足2nf

3、重點(diǎn)掌握課本習(xí)題p239 3 p240 15(1)第八章

1、數(shù)據(jù)庫安全性是指什么?p244

2、數(shù)據(jù)庫安全性控制的一般方法有哪些?p244

3、數(shù)據(jù)庫完整性是指數(shù)據(jù)的正確性和相容性。p259(1)數(shù)據(jù)完整性約束分為表級約束、元組約束和屬性約束

(2)sql server使用約束、默認(rèn)、規(guī)則和觸發(fā)器4種方法定義和實(shí)施數(shù)據(jù)庫完整性功能

4、數(shù)據(jù)庫并發(fā)控制。數(shù)據(jù)庫的并發(fā)控制就是控制數(shù)據(jù)庫,防止多用戶并發(fā)使用數(shù)據(jù)庫時造成數(shù)據(jù)錯誤和程序運(yùn)行錯誤,保證數(shù)據(jù)的完整性。解決事務(wù)并發(fā)操作帶來的數(shù)據(jù)不一致性,常用封鎖機(jī)制。

5、事務(wù)的概念和特征p265 并發(fā)操作帶來的數(shù)據(jù)不一致性包括3類:丟失修改、不可重復(fù)讀和讀“臟”數(shù)據(jù)。

6、封鎖:封鎖機(jī)制作為并發(fā)控制的重要手段,利用封鎖的特性和封鎖協(xié)議,它在并發(fā)操作保證事務(wù)的隔離性,用正確的方式調(diào)度并發(fā)操作,使一個用戶事務(wù)的執(zhí)行不受其他事務(wù)的干擾,從而避免造成數(shù)據(jù)的不一致。

(1)鎖的類型:排他鎖(x鎖)和共享鎖(s鎖),它們各自的特點(diǎn)是什么。p268(2)封鎖協(xié)議:一級封鎖協(xié)議、二級封鎖協(xié)議(如1:事務(wù)t對要修改數(shù)據(jù)必須先加x鎖,直到事務(wù)結(jié)束才釋放x鎖;對要讀取數(shù)據(jù)必須先加s鎖;如2:若事務(wù)t對數(shù)據(jù)對象a加上x鎖,則只允許t讀取和修改a,其他任何事務(wù)都不能再對a加任何類型的鎖)、三級封鎖協(xié)議;

封鎖出現(xiàn)的問題及解決的方法。舉例說明何謂活鎖,如何解決活鎖?p270

7、數(shù)據(jù)庫恢復(fù)技術(shù)

恢復(fù)機(jī)制涉及的兩個關(guān)鍵問題是:第一,如何建立備份數(shù)據(jù);第二,如何利用這些備份數(shù)據(jù)實(shí)施數(shù)據(jù)恢復(fù)。建立備份數(shù)據(jù)最常用的技術(shù)是數(shù)據(jù)轉(zhuǎn)儲和登錄日志文件。

數(shù)據(jù)庫的備份方法通常有完整備份、差異備份、事務(wù)日志備份

8、何謂兩段鎖協(xié)議 p271

9、何謂“并發(fā)調(diào)度可串行化” p270;何謂“可串行化調(diào)度” p271

10、用戶權(quán)限是由兩個要素組成的,分別是數(shù)據(jù)對象和操作類型

11、數(shù)據(jù)庫角色是被命名的一組與數(shù)據(jù)庫操作相關(guān)的權(quán)限,角色是權(quán)限的集合。

課后習(xí)題1、2、3、第1章p19:

一、4;5;10

二、全部 第2章p42:

二、全部

第3章p85:

一、19、22、23

二、全部

4、第4章p111:

一、14、15、16

二、8、911、21、22、24、25、32、33

5、第5章 p127 46、7、8、第6章p176:

一、2、3

二、1、4、6、7、8、9、10、11、12 第7章p205:

二、1、6、7、8、9 第8章p252:

一、1、3、12、13、15、26

二、8、12、13、15、16、18

數(shù)據(jù)庫期末選擇題篇三

數(shù)據(jù)庫原理綜合習(xí)題答案

1.1 名詞解釋

(1)db:即數(shù)據(jù)庫(database),是統(tǒng)一管理的相關(guān)數(shù)據(jù)的集合。db能為各種用戶共享,具有最小冗余度,數(shù)據(jù)間聯(lián)系密切,而又有較高的數(shù)據(jù)獨(dú)立性。

(2)dbms:即數(shù)據(jù)庫管理系統(tǒng)(database management system),是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,為用戶或應(yīng)用程序提供訪問db的方法,包括db的建立、查詢、更新及各種數(shù)據(jù)控制。dbms總是基于某種數(shù)據(jù)模型,可以分為層次型、網(wǎng)狀型、關(guān)系型、面向?qū)ο笮蚫bms。

(3)dbs:即數(shù)據(jù)庫系統(tǒng)(database system),是實(shí)現(xiàn)有組織地、動態(tài)地存儲大量關(guān)聯(lián)數(shù)據(jù),方便多用戶訪問的計算機(jī)軟件、硬件和數(shù)據(jù)資源組成的系統(tǒng),即采用了數(shù)據(jù)庫技術(shù)的計算機(jī)系統(tǒng)。

(4)1:1聯(lián)系:如果實(shí)體集e1中的每個實(shí)體最多只能和實(shí)體集e2中的一個實(shí)體有聯(lián)系,反之亦然,那么實(shí)體集e1對e2的聯(lián)系稱為“一對一聯(lián)系”,記為“1:1”。

(5)1:n聯(lián)系:如果實(shí)體集e1中每個實(shí)體與實(shí)體集e2中任意個(零個或多個)實(shí)體有聯(lián)系,而e2中每個實(shí)體至多和e1中的一個實(shí)體有聯(lián)系,那么e1對e2的聯(lián)系是“一對多聯(lián)系”,記為“1:n”。

(6)m:n聯(lián)系:如果實(shí)體集e1中每個實(shí)體與實(shí)體集e2中任意個(零個或多個)實(shí)體有聯(lián)系,反之亦然,那么e1對e2的聯(lián)系是“多對多聯(lián)系”,記為“m:n”。

(7)數(shù)據(jù)模型:模型是對現(xiàn)實(shí)世界的抽象。在數(shù)據(jù)庫技術(shù)中,表示實(shí)體類型及實(shí)體類型間聯(lián)系的模型稱為“數(shù)據(jù)模型”。它可分為兩種類型:概念數(shù)據(jù)模型和結(jié)構(gòu)數(shù)據(jù)模型。

(6)概念數(shù)據(jù)模型:是獨(dú)門于計算機(jī)系統(tǒng)的模型,完全不涉及信息在系統(tǒng)中的表示,只是用來描述某個特定組織所關(guān)心的信息結(jié)構(gòu)。

(9)結(jié)構(gòu)數(shù)據(jù)模型:是直接面向數(shù)據(jù)庫的邏輯結(jié)構(gòu),是現(xiàn)實(shí)世界的第二層抽象。這類模型涉及到計算機(jī)系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng),所以稱為“結(jié)構(gòu)數(shù)據(jù)模型”。結(jié)構(gòu)數(shù)據(jù)模型應(yīng)包含:數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作、數(shù)據(jù)完整性約束三部分。它主要有:層次、網(wǎng)狀、關(guān)系三種模型。

(10)層次模型:用樹型結(jié)構(gòu)表示實(shí)體類型及實(shí)體間聯(lián)系的數(shù)據(jù)模型。

(11)網(wǎng)狀模型:用有向圖結(jié)構(gòu)表示實(shí)體類型及實(shí)體間聯(lián)系的數(shù)據(jù)模型。

(12)關(guān)系模型:是目前最流行的數(shù)據(jù)庫模型。其主要特征是用二維表格結(jié)構(gòu)表達(dá)實(shí)體集,用外鍵表示實(shí)體間聯(lián)系。關(guān)系模型是由若干個關(guān)系模式組成的集合。

(13)概念模式:是數(shù)據(jù)庫中全部數(shù)據(jù)的整體邏輯結(jié)構(gòu)的描述。它由若干個概念記錄類型組成。概念模式不僅要描述概念記錄類型,還要描述記錄間的聯(lián)系、操作、數(shù)據(jù)的完整性、安全性等要求。

(14)外模式:是用戶與數(shù)據(jù)庫系統(tǒng)的接口,是用戶用到的那部

分?jǐn)?shù)據(jù)的描述。

(15)內(nèi)模式:是數(shù)據(jù)庫在物理存儲方面的描述,定義所有的內(nèi)部記錄類型、索引和文件的組成方式,以及數(shù)據(jù)控制方面的細(xì)節(jié)。

(16)模式/內(nèi)模式映象:這個映象存在于概念級和內(nèi)部級之間,用于定義概念模式和內(nèi)模式間的對應(yīng)性,即概念記錄和內(nèi)部記錄間的對應(yīng)性。此映象一般在內(nèi)模式中描述。

(17)外模式/模式映象:這人映象存在于外部級和概念級之間,用于定義外模式和概念模式間的對應(yīng)性,即外部記錄和內(nèi)部記錄間的對應(yīng)性。此映象都是在外模式中描述。

(18)數(shù)據(jù)獨(dú)立性:在數(shù)據(jù)庫技術(shù)中,數(shù)據(jù)獨(dú)立性是指應(yīng)用程序和數(shù)據(jù)之間相互獨(dú)立,不受影響。數(shù)據(jù)獨(dú)立性分成物理數(shù)據(jù)獨(dú)立性和邏輯數(shù)據(jù)獨(dú)立性兩級。

(19)物理數(shù)據(jù)獨(dú)立性:如果數(shù)據(jù)庫的內(nèi)模式要進(jìn)行修改,即數(shù)據(jù)庫的存儲設(shè)備和存儲方法有所變化,那么模式/內(nèi)模式映象也要進(jìn)行相應(yīng)的修改,使概念模式盡可能保持不變。也就是對模式的修改盡量不影響概念模式。

(20)邏輯數(shù)據(jù)獨(dú)立性:如果數(shù)據(jù)庫的概念模式要進(jìn)行修改(如增加記錄類型或增加數(shù)據(jù)項(xiàng)),那么外模式/模式映象也要進(jìn)行相應(yīng)的修改,使外模式盡可能保持不變。也就是對概念模式的修改盡量不影響外模式和應(yīng)用程序。

(21)宿主語言:在數(shù)據(jù)庫技術(shù)中,編寫應(yīng)用程序的語言仍然是一些高級程序設(shè)計語言,這些語言稱為宿主語言(host language),簡稱主語言。

(22)ddl:數(shù)據(jù)定義語言(data definition language),用于定義數(shù)據(jù)庫的三級結(jié)構(gòu),包括外模式、概念模式、內(nèi)模式及其相互之間的映象,定義數(shù)據(jù)的完整性、安全控制等約束。

(23)dml:數(shù)據(jù)操縱語言(data manipulation language),由dbms提供,用于讓用戶或程序員使用,實(shí)現(xiàn)對數(shù)據(jù)庫中數(shù)據(jù)的操作。dml分成交互型dml和嵌入型dml兩類。依據(jù)語言的級別,dml又可分成過程性dml和非過程性dml兩種。

(24)交互型dml:如果dml自成系統(tǒng),可在終端上直接對數(shù)據(jù)庫進(jìn)行操作,這種dml稱為交互型dml。

(25)嵌入型dml:如果dml嵌入在主語言中使用,此時主語言是經(jīng)過擴(kuò)充能處理dml語句的語言,這種dml稱為嵌入型dml。

(26)過程性dml:用戶編程時,不僅需要指出“做什么”(需要什么樣的數(shù)據(jù)),還需要指出“怎么做”(怎么獲得數(shù)據(jù))。層狀、網(wǎng)狀的dml屬于過程性語言。

(27)非過程性dml:用戶編程時,只需要指出“做什么”,不需要指出“怎么做”。

notice:以上關(guān)于dml的各個概念單獨(dú)出現(xiàn)時,首先要解釋dml的含義。

(28)dd:數(shù)據(jù)字典(data dictionary),數(shù)據(jù)庫系統(tǒng)中存放三級結(jié)構(gòu)定義的數(shù)據(jù)庫稱為數(shù)據(jù)字典。對數(shù)據(jù)庫的操作都要通過訪問dd才能實(shí)現(xiàn)。

(29)dd系統(tǒng):管理dd的實(shí)用程序稱為“dd系統(tǒng)”。

1.2 文件系統(tǒng)階段的數(shù)據(jù)管理有些什么缺陷?試舉例說明。

文件系統(tǒng)有三個缺陷:

(1)數(shù)據(jù)冗余性(redundancy)。由于文件之間缺乏聯(lián)系,造成每個應(yīng)用程序都有對應(yīng)的文件,有可能同樣的數(shù)據(jù)在多個文件中重復(fù)存儲。

(2)數(shù)據(jù)不一致性(inconsistency)。這往往是由數(shù)據(jù)冗余造成的,在進(jìn)行更新操作時,稍不謹(jǐn)慎,就可能使同樣的數(shù)據(jù)在不同的文件中不一樣。

(3)數(shù)據(jù)聯(lián)系弱(poor data relationship)。這是由文件之間相互獨(dú)立,缺乏聯(lián)系造成的。

1.3 數(shù)據(jù)庫階段的數(shù)據(jù)管理有些什么特點(diǎn)?

(1)采用復(fù)雜的數(shù)據(jù)模型表示數(shù)據(jù)結(jié)構(gòu)

(2)有較高的數(shù)據(jù)獨(dú)立性(數(shù)據(jù)結(jié)構(gòu)分成用戶的邏輯結(jié)構(gòu)、整體邏輯結(jié)構(gòu)和物理結(jié)構(gòu)三級)

(3)數(shù)據(jù)庫系統(tǒng)為用戶提供方便的用戶接口,可以使用查詢語言、終端命令或程序方式操作數(shù)據(jù),也可以用程序方式操作數(shù)據(jù)庫。

(4)系統(tǒng)提供了四個方面的數(shù)據(jù)控制功能:數(shù)據(jù)庫的恢復(fù)、并發(fā)控制、數(shù)據(jù)完整性和數(shù)據(jù)安全性,以保證數(shù)據(jù)庫中數(shù)據(jù)是安全的、正確的和可靠的。

(5)對數(shù)據(jù)的操作不一定以記錄為單位,還可以數(shù)據(jù)項(xiàng)為單位,增加了系統(tǒng)的靈活性。

1.4 你怎樣理解實(shí)體、屬性、記錄、字段這些概念的類型和值的差別?試舉例說明。

實(shí)體(entity):是指客觀存在可以相互區(qū)別的事物。實(shí)體可以是具體的對象,如:一個學(xué)生,一輛汽車等;也可以是抽象的事件,如:一次借書、一場足球賽等。

屬性(attribute):實(shí)體有很多特性,每一個特性稱為屬性。每個屬性有一個值域,其類型可以是整數(shù)型、實(shí)數(shù)型、字符串型。比如,學(xué)生(實(shí)體)有學(xué)號、姓名、年齡、性別等屬性,相應(yīng)值域?yàn)樽址⒆址?、整?shù)和字符串型。

字段(field):標(biāo)記實(shí)體屬性的命名單位稱為字段或數(shù)據(jù)項(xiàng)。它是可以命名的最小信息單位,所以又稱為數(shù)據(jù)元素或初等項(xiàng)。字段的命名往往和屬性名相同,比如,學(xué)生有學(xué)號、姓名、年齡、性別等字段。

記錄(record):字段的有序集合稱為記錄。一般用一個記錄描述一個實(shí)體,所以記錄又可以定義為能完整地描述一個實(shí)體的字段集。如:一個學(xué)生記錄,由有序的字段集(學(xué)號、姓名、年齡、性別等)組成。

1.5 邏輯記錄與物理記錄,邏輯文件與物理文件有些什么聯(lián)系和區(qū)別?

聯(lián)系:

(1)邏輯記錄與物理記錄都是記錄,是字段的有序集合;

(2)邏輯文件與物理文件都是文件,是同一類記錄的匯集。

區(qū)別:

(1)邏輯記錄與邏輯文件是邏輯數(shù)據(jù)描述,物理記錄與物理文件是物理數(shù)據(jù)描述。

(2)物理數(shù)據(jù)描述是指數(shù)據(jù)在存儲設(shè)備上的存儲方式,物理記錄、物理文件(還有物理聯(lián)系、物理結(jié)構(gòu)等術(shù)語),都是用來描述實(shí)際存儲設(shè)備上的數(shù)據(jù)。

(3)邏輯數(shù)據(jù)描述是指程序員或用戶用以操作的數(shù)據(jù)形式,是抽象的概念化數(shù)據(jù)。邏輯記錄、邏輯文件(還有邏輯聯(lián)系、邏輯結(jié)構(gòu)等術(shù)語),都是用戶觀點(diǎn)的數(shù)據(jù)描述。

1.6 為某百貨公司設(shè)計一個er模型。

百 貨管轄若干個連鎖商店,每家商店經(jīng)營若干商品,每家商店有若干職工,但每個職工只能服務(wù)于一家商店。實(shí)體類型“商店”的屬性有:商店編號,店名,店址,店經(jīng)理。實(shí)體類型“商品”的屬性有:商品編號,商品名,單價,產(chǎn)地。實(shí)體類型“職工”的屬性有:職工編號,職工名,性別,工資。在聯(lián)系中應(yīng)反映出職工參加某商店工作的開始時間,商店銷售商品的月銷售量。

試畫出反映商店、商品、職工實(shí)體類型及聯(lián)系類型的er圖,并將其轉(zhuǎn)換成關(guān)系模式集。

實(shí)體:商店(商店編號,店名,店址,店經(jīng)理)

商品(商品編號,商品名,單價,產(chǎn)地)

職工(職工編號,職工名,性別,工資)

聯(lián)系:sc(商店—商品之間1:n的聯(lián)系,聯(lián)系屬性為“職工參加商店工作的開始時間”。

se(商店—職工之間1:n的聯(lián)系),聯(lián)系屬性為“月銷售量”。

關(guān)系模式集:商店模式(商店編號,店名,店址,店經(jīng)理)

商品模式(商品編號,商品名,單價,產(chǎn)地,商店編號,月銷售量)

職工模式(職工編號,職工名,性別,工資,商店編號,開始時間)

1.7 試述er模型、層次模型、網(wǎng)狀模型、關(guān)系模型和面向?qū)ο竽P偷闹饕攸c(diǎn)。

er模型的主要特點(diǎn):

(1)優(yōu)點(diǎn):接近于人的思維,容易理解;與計算機(jī)無關(guān),用戶容易接受。

(2)缺點(diǎn):只能說明實(shí)體間語義的聯(lián)系,不能進(jìn)一步說明詳細(xì)的數(shù)據(jù)結(jié)構(gòu)。

層次模型的特點(diǎn):

(1)優(yōu)點(diǎn):記錄之間的聯(lián)系通過指針實(shí)現(xiàn),查詢效率較高。

(2)缺點(diǎn):只能表示1:n聯(lián)系,實(shí)現(xiàn)m:n結(jié)構(gòu)較復(fù)雜;由于層次順序的嚴(yán)格和復(fù)雜,引起數(shù)據(jù)的查詢和更新操作也很復(fù)雜。

網(wǎng)狀模型的特點(diǎn):

(1)優(yōu)點(diǎn):記錄之間聯(lián)系通過指針實(shí)現(xiàn),m:n聯(lián)系也容易實(shí)現(xiàn)(每個m:n聯(lián)系可拆成兩個1:n聯(lián)系),查詢效率較高。

(2)缺點(diǎn):編寫應(yīng)用程序比較復(fù)雜,程序員必須熟悉數(shù)據(jù)庫的邏輯結(jié)構(gòu)。

關(guān)系模型的特點(diǎn):

用關(guān)鍵碼而不是用指針導(dǎo)航數(shù)據(jù),表格簡單,用戶易懂,編程時并不涉及存儲結(jié)構(gòu)、訪問技術(shù)等細(xì)節(jié)。

1.8 試述概念模式在數(shù)據(jù)庫結(jié)構(gòu)中的重要地位。

概念模式是數(shù)據(jù)庫中

全部數(shù)據(jù)的整體邏輯結(jié)構(gòu)的描述。它由若干個概念記錄類型組成。概念模式不僅要描述概念記錄類型,還要描述記錄間的聯(lián)系、操作、數(shù)據(jù)的完整性、安全性等要求。數(shù)據(jù)按外模式的描述提供給用戶,按內(nèi)模式的描述存儲在磁盤中,而概念模式提供了連接這兩級的相對穩(wěn)定的中間觀點(diǎn),并使得兩級的任何一級的改變都不受另一級的牽制。

1.9 數(shù)據(jù)獨(dú)立性與數(shù)據(jù)聯(lián)系這兩個概念有什么區(qū)別?

數(shù)據(jù)獨(dú)立性是指應(yīng)用程序與數(shù)據(jù)之間相互獨(dú)立,不受影響。

數(shù)據(jù)聯(lián)系是指同一記錄內(nèi)部各字段間的聯(lián)系,以及記錄之間的聯(lián)系。

1.10 試述dbms在用戶訪問數(shù)據(jù)庫過程中所起的作用.用戶對數(shù)據(jù)庫進(jìn)行操作,dbms把操作從應(yīng)用程序帶到外部級、概念級、再導(dǎo)向內(nèi)部級,進(jìn)而操作存儲器中的數(shù)據(jù)。

(結(jié)合p22“用戶訪問數(shù)據(jù)的過程”來理解)

1.11 試述dbms的主要功能。

dbms的主要功能有:

(1)數(shù)據(jù)庫的定義功能

(2)數(shù)據(jù)庫的操縱功能

(3)數(shù)據(jù)庫的保護(hù)功能

(4)數(shù)據(jù)庫的存儲管理

(5)數(shù)據(jù)庫的維護(hù)功能

(6)數(shù)據(jù)字典

1.12 試敘dbms對數(shù)據(jù)庫的保護(hù)功能。

dbms對數(shù)據(jù)庫的保護(hù)主要通過四個方面實(shí)現(xiàn):

(1)數(shù)據(jù)庫的恢復(fù)。

(2)數(shù)據(jù)庫的并發(fā)控制。

(3)數(shù)據(jù)庫的完整性控制。

(4)數(shù)據(jù)庫的安全性控制。

1.13 試敘dbms對數(shù)據(jù)庫的維護(hù)功能。

dbms中有一些程序提供給數(shù)據(jù)庫管理員運(yùn)行數(shù)據(jù)庫系統(tǒng)時使用,這些程序起著數(shù)據(jù)庫維護(hù)的功能。

主要有四個實(shí)用程序:

(1)數(shù)據(jù)裝載程序(loading)

(2)備份程序(backup)

(3)文件重組織程序

(4)性能監(jiān)控程序

1.14 從模塊結(jié)構(gòu)看,dbms由哪些部分組成?

從模塊結(jié)構(gòu)看,dbms由兩大部分組成:查詢處理器和存儲管理器

(1)查詢處理器有四個主要成分:ddl編譯器,dml編譯器,嵌入型dml的預(yù)編譯器,查詢運(yùn)行核心程序

(2)存儲管理器有四個主要成分:授權(quán)和完整性管理器,事務(wù)管理器,文件管理器,緩沖區(qū)管理器

(以上幾題具體可參照書上p20-21)

1.15 dbs由哪幾個部分組成?

dbs由四部分組成:數(shù)據(jù)庫、硬件、軟件、數(shù)據(jù)庫管理員。

1.16 什么樣的人是dba?dba應(yīng)具有什么素質(zhì)?dba的職責(zé)是什么?

dba是控制數(shù)據(jù)整體結(jié)構(gòu)的人,負(fù)責(zé)dbs的正常運(yùn)行。dba可以是一個人,在大型系統(tǒng)中也可以是由幾個人組成的小組。dba承擔(dān)創(chuàng)建、監(jiān)控和維護(hù)整個數(shù)據(jù)庫結(jié)構(gòu)的責(zé)任。

dba應(yīng)具有下列素質(zhì):

(1)熟悉企

業(yè)全部數(shù)據(jù)的性質(zhì)和用途;

(2)對用戶的需求有充分的了解;

(3)對系統(tǒng)的性能非常熟悉。

dba的主要職責(zé)有五點(diǎn):

(1)概念模式定義

(2)內(nèi)模式定義

(3)根據(jù)要求修改數(shù)據(jù)庫的概念模式和內(nèi)模式

(4)對數(shù)據(jù)庫訪問的授權(quán)

(5)完整性約束的說明

1.17 試對dbs的全局結(jié)構(gòu)作詳細(xì)解釋。

參照教材p24-25。

1.18 使用dbs的用戶有哪幾類? 使用dbs的用戶有四類:

1)dba

2)專業(yè)用戶

3)應(yīng)用程序員

4)最終用戶

1.19 dbms的查詢處理器有哪些功能?

dbms的查詢處理器可分成四個成分:

1)dml編譯器

2)嵌入型dml的預(yù)編譯器

3)ddl編譯器

4)查詢運(yùn)行核心程序

(各成分功能參照p24)

1.20 dbms的存儲處理器有哪些功能?

dbms的存儲處理器提供了應(yīng)用程序訪問數(shù)據(jù)庫中數(shù)據(jù)的界面,可分成四個成分:

1)授權(quán)和完整性管理器

2)事務(wù)管理器

3)文件管理器

4)緩沖區(qū)管理器

(各成分功能參照p25)

1.21 磁盤存儲器中有哪四類主要的數(shù)據(jù)結(jié)構(gòu)?

數(shù)據(jù)文件:存儲了數(shù)據(jù)庫中的數(shù)據(jù);

數(shù)據(jù)字典(dd):存儲三級結(jié)構(gòu)的描述;

索引文件:為提高查詢速度而設(shè)置的邏輯排序手段;

統(tǒng)計數(shù)據(jù)組織:存儲dbs運(yùn)行時統(tǒng)計分析數(shù)據(jù)。

(1)關(guān)系模型:用二維表格結(jié)構(gòu)表示實(shí)體集,外鍵表示實(shí)體間聯(lián)系的數(shù)據(jù)模型稱為關(guān)系模型。

(2)關(guān)系模式:關(guān)系模式實(shí)際上就是記錄類型。它的定義包括:模式名,屬性名,值域名以及模式的主鍵。關(guān)系模式不涉及到物理存儲方面的描述,僅僅是對數(shù)據(jù)特性的描述。

(3)關(guān)系實(shí)例:元組的集合稱為關(guān)系和實(shí)例,一個關(guān)系即一張二維表格。

(4)屬性:實(shí)體的一個特征。在關(guān)系模型中,字段稱為屬性。

(5)域:在關(guān)系中,每一個屬性都有一個取值范圍,稱為屬性的值域,簡稱域。

(6)元組:在關(guān)系中,記錄稱為元組。元組對應(yīng)表中的一行;表示一個實(shí)體。

(7)超鍵:在關(guān)系中能唯一標(biāo)識元組的屬性集稱為關(guān)系模式的超鍵。

(8)候選鍵:不含有多余屬性的超鍵稱為候選鍵。

(9)主鍵:用戶選作元組標(biāo)識的一個候選鍵為主鍵。(單獨(dú)出現(xiàn),要先解釋“候選鍵”)

(10)外鍵:某個關(guān)系的主鍵相應(yīng)的屬性在另一關(guān)系中出現(xiàn),此時該主鍵在就是另一關(guān)系的外鍵,如有兩個關(guān)系s和sc,其中s#是關(guān)系s的主鍵,相應(yīng)的屬性s#在關(guān)系sc中也出現(xiàn),此時s#就是關(guān)系sc的外鍵。

(11)實(shí)體完整性規(guī)則:這條

規(guī)則要求關(guān)系中元組在組成主鍵的屬性上不能有空值。如果出現(xiàn)空值,那么主鍵值就起不了唯一標(biāo)識元組的作用。

(12)參照完整性規(guī)則: 這條規(guī)則要求“不引用不存在的實(shí)體”。其形式定義如下:如果屬性集k是關(guān)系模式r1的主鍵,k也是關(guān)系模式r2的外鍵,那么r2的關(guān)系中,k的取值只允許有兩種可能,或者為空值,或者等于r1關(guān)系中某個主鍵值。這條規(guī)則在使用時有三點(diǎn)應(yīng)注意: 1)外鍵和相應(yīng)的主鍵可以不同名,只要定義在相同值域上即可。2)r1和r2也可以是同一個關(guān)系模式,表示了屬性之間的聯(lián)系。3)外鍵值是否允許空應(yīng)視具體問題而定。

(13)過程性語言:在編程時必須給出獲得結(jié)果的操作步驟,即“干什么”和“怎么干”。如pascal和c語言等。

(14)非過程性語言:編程時只須指出需要什么信息,不必給出具體的操作步驟。各種關(guān)系查詢語言均屬于非過程性語言。

(15)無限關(guān)系:當(dāng)一個關(guān)系中存在無窮多個元組時,此關(guān)系為無限關(guān)系。如元組表達(dá)式{t|┐r(t)}表示所有不在關(guān)系r中的元組的集合,這是一個無限關(guān)系。

(16)無窮驗(yàn)證:在驗(yàn)證公式時需對無窮多個元組進(jìn)行驗(yàn)證就是無窮驗(yàn)證。如驗(yàn)證公式(u)(p(u))的真假時需對所有的元組u進(jìn)行驗(yàn)證,這是一個無窮驗(yàn)證的問題。

2.2 為什么關(guān)系中的元組沒有先后順序?

因?yàn)殛P(guān)系是一個元組的集合,而元組在集合中的順序無關(guān)緊要。因此不考慮元組間的順序,即沒有行序。

2.3 為什么關(guān)系中不允許有重復(fù)元組?

因?yàn)殛P(guān)系是一個元組的集合,而集合中的元素不允許重復(fù)出現(xiàn),因此在關(guān)系模型中對關(guān)系作了限制,關(guān)系中的元組不能重復(fù),可以用鍵來標(biāo)識唯一的元組。

2.4 關(guān)系與普通的表格、文件有什么區(qū)別?

關(guān)系是一種規(guī)范化了的二維表格,在關(guān)系模型中,對關(guān)系作了下列規(guī)范性限制:

1)關(guān)系中每一個屬性值都是不可分解的。

2)關(guān)系中不允許出現(xiàn)相同的元組(沒有重復(fù)元組)。

3)由于關(guān)系是一個集合,因此不考慮元組間的順序,即沒有行序。

4)元組中,屬性在理論上也是無序的,但在使用時按習(xí)慣考慮列的順序。

2.5 笛卡爾積、等值聯(lián)接、自然聯(lián)接三者之間有什么區(qū)別?

笛卡爾積對兩個關(guān)系r和s進(jìn)行乘操作,產(chǎn)生的關(guān)系中元組個數(shù)為兩個關(guān)系中元組個數(shù)之積。

等值聯(lián)接則是在笛卡爾積的結(jié)果上再進(jìn)行選擇操作,從關(guān)系r和s的笛卡兒積中選擇對應(yīng)屬性值相等的元組;

自然連接則是在等值聯(lián)接(以所有公共屬性值相等為條件)的基礎(chǔ)上再行投影操作,并去掉重復(fù)的公共屬性列。當(dāng)兩個關(guān)系沒有公共屬性時,自然連接就轉(zhuǎn)化我笛卡爾積。

2.8 如果r是二元關(guān)

系,那么下列元組表達(dá)式的結(jié)果是什么? {t|(u)(r(t)∧r(u)∧(t[1]≠u[1]∨t[2]≠u[2]))}

這個表達(dá)式的意思是:從關(guān)系r中選擇元組,該元組滿足:第1分量值或第2分量值至少有一個不等于其他某元組。由于r是二元關(guān)系,只有兩個分量,由于沒有重復(fù)元組,上述條件顯然滿足。所以,這個表達(dá)式結(jié)果就是關(guān)系r。

2.9 假設(shè)r和s分別是三元和二元關(guān)系,試把表達(dá)式π1,5(σ2=4∨3=4(r×s))轉(zhuǎn)換成等價的:(1)漢語查詢句子;(2)元組表達(dá)式;(3)域表達(dá)式。

(1)漢語表達(dá)式:

從r×s關(guān)系中選擇滿足下列條件的元組:

第2分量(r中第2分量)與第4分量(s中第1分量)值相等,或第3分量(r中第3分量)與第4分量(s中第1分量)值相等;并取第1列與第5列組成的新關(guān)系。

(2)元組表達(dá)式:{t|(u)(v)(r(u)∧s(v)∧(u[2]=v[1]∨u[3]=v[1])∧t[1]=u[1]∧t[2]=v[2])}(3)域表達(dá)式:{xv|(y)(z)(u)(r(xyz)∧s(uv)∧(y=u∨z=u))}

2.10 假設(shè)r和s都是二元關(guān)系,試把元組表達(dá)式{t|r(t)∧(u)(s(u)∧u[1]≠t[2])}轉(zhuǎn)換成等價的:(1)漢語查詢句子;(2)域表達(dá)式:(3)關(guān)系代數(shù)表達(dá)式。

(1)漢語表達(dá)式:選擇r關(guān)系中元組第2分量值不等于s關(guān)系中某元組第1分量值的元組。

(2)域表達(dá)式:{xy|(u)(v)(r(xy)∧s(uv)∧(u≠y))}(3)關(guān)系代數(shù)表達(dá)式:π1,2(σ2≠3(r×s))

2.11 試把域表達(dá)式{ab|r(ab)∧r(ba)}轉(zhuǎn)換成等價的:

(1)漢語查詢句子;(2)關(guān)系代數(shù)表達(dá)式;(3)元組表達(dá)式。

(1)漢語查詢句子:選擇r中元組第1分量值與第2分量值互換后仍存在于r中的元組。

(2)關(guān)系代數(shù)表達(dá)式:π1,2(σ1=4∧2=3(r×r));

(3)元組表達(dá)式:{t|(u)(r(t)∧r(u)∧t[1]=u[2]∧t[2]=u[1])}

試用關(guān)系代數(shù)表達(dá)式表示下列查詢語句。(見下一題)

2.14 試用元組表達(dá)式表示上題中各個查詢語句。

(1)檢索liu老師所授課程的課程號、課程名。

πc#,cname(σteacher='liu'(c))

{t|(u)(c(u)∧c[3]='liu'∧t[1]=u[1]∧t[2]=u[2])}

(2)檢索年齡大于23歲的男學(xué)生的學(xué)號與姓名。

πs#,sname(σage>'23'∧sex='男'(s))

{t|(u)(s(u)∧u[3]>'23'∧u[4]='男'∧t[1]=u[1]∧t[2]=u[2])}

(3)檢索學(xué)號為s3學(xué)生所學(xué)課程的課程名與任課教師名。πcname,teacher(σs#='s3'(scc))

{t|(u)(v)(sc(u)∧c(v)∧u[1]='s3'∧v[1]=u[2]∧t[1]=v[2]∧t[2]=v[3])}

(4)檢索至少選修liu老

師所授課程中一門課程的女學(xué)生的姓名。

πsname(σsex='女'∧teacher='liu'(sscc))

{t|(u)(v)(w)(s(u)∧sc(v)∧c(w)∧u[4]='女'∧v[1]=u[1]∧v[2]=w[1]∧w[3]='liu'∧t[1]=u[2])}

(5)檢索wang同學(xué)不學(xué)的課程號。

πc#(c)-πc#(σsname='wang'(ssc))

或者,πc#(sc)-πc#(σsname='wang'(ssc))(全部課程號減去wang同學(xué)所學(xué)的課程號){t|(u)(v)(c(u)∧sc(v)∧(u[1]=v[2]=>(w)(s(w)∧w[1]=v[1]∧w[2]≠'wang'))∧t[1]=u[1])}

(從c中選擇滿足條件的元組:sc中的所有元組,如果學(xué)號與c中所選元組相同的話,其在s中對應(yīng)的姓名肯定不是'wang'。)

notice:“p1=>p2”的含義是:如果p1為真,則p2為真。

(6)檢索至少選修兩門課程的學(xué)生學(xué)號。

πs#(σ1=4∧2≠5(sc×sc))

sc自乘之后,再選擇(同一個學(xué)號中兩個課程號不同的元組),投影。

{t|(u)(v)(sc(u)∧sc(v)∧u[1]=v[1]∧u[2]≠v[2])∧t[1]=u[1]}

(7)檢索全部學(xué)生都選修的課程的課程號與課程名。

πc#,cname(c(πs#,c#(sc)÷πs#(s)))(涉及到全部值時,應(yīng)用除法,“除數(shù)”是“全部”){t|(u)(v)(w)(s(u)∧sc(v)∧c(w)∧u[1]=v[1]∧v[2]=w[1]∧t[1]=v[1]∧t[2]=v[2])}

(8)檢索選修課程包含liu老師所授課程的學(xué)生學(xué)號。

πs#(σteacher='liu'(scc))

{t|(u)(v)(sc(u)∧c(v)∧u[2]=v[1]∧v[3]='liu'∧t[1]=u[1])}

如果liu老師有多門課程,則選修課程包含liu老師所授全部課程的學(xué)生學(xué)號為:

πs#,c#(sc)÷πc#(σteacher='liu'(c))

2.15 在教學(xué)數(shù)據(jù)庫s、sc、c中,用戶有一查詢語句:檢索女同學(xué)選修課程的課程名和任課教師名。(1)試寫出該查詢的關(guān)系代數(shù)表達(dá)式;(2)試寫出查詢優(yōu)化的關(guān)系代數(shù)表達(dá)式。

(1)πcname,teacher(σsex='女'(sscc))

(2)優(yōu)化為:πcname,teacher(cπc#(πs#,c#(sc)πs#(σsex='女'(s))))

(基本思路:盡量提前做選擇操作;在每個操作后,應(yīng)做個投影操作,去掉不用的屬性值。

2.16 在2.15題中,(1)畫出該查詢初始的關(guān)系代數(shù)表達(dá)式的語法樹。

(2)使用2.4.4節(jié)的優(yōu)化算法,對語法樹進(jìn)行優(yōu)化,并畫出優(yōu)化后的語法樹。

該查詢初始的關(guān)系代數(shù)表達(dá)式的語法樹

優(yōu)化后的語法樹

2.17 為什么要對關(guān)系代數(shù)表達(dá)式進(jìn)行優(yōu)化?

在關(guān)系代數(shù)運(yùn)算中,各個運(yùn)算所費(fèi)時間和空間是不一樣的。如何安排若干關(guān)系的運(yùn)算操作步驟,直接影響到整個操作所需要的時間和空間。對關(guān)系代數(shù)表達(dá)式進(jìn)行優(yōu)化,可以提高系統(tǒng)的操作效率,達(dá)到執(zhí)行過程即省時間又省空間的目的。

3.1 名詞解釋

(1)sql模式:sql模式是表和授權(quán)的靜態(tài)定義。一個sql模式定義為基本表的集合。一個由模式名和模式擁有者的用戶名或賬號來確定,并包含模式中每一個元素(基本表、視圖、索引等)的定義。

(2)sql數(shù)據(jù)庫:sql(structured query language),即‘結(jié)構(gòu)

式查詢語言’,采用英語單詞表示和結(jié)構(gòu)式的語法規(guī)則。一個sql數(shù)據(jù)庫是表的匯集,它用一個或多個sql模式定義。

(3)基本表:在sql中,把傳統(tǒng)的關(guān)系模型中的關(guān)系模式稱為基本表(base table)。基本表是實(shí)際存儲在數(shù)據(jù)庫中的表,對應(yīng)一個關(guān)系。

(4)存儲文件:在sql中,把傳統(tǒng)的關(guān)系模型中的存儲模式稱為存儲文件(stored file)。每個存儲文件與外部存儲器上一個物理文件對應(yīng)。

(5)視圖:在sql中,把傳統(tǒng)的關(guān)系模型中的子模式稱為視圖(view),視圖是從若干基本表和(或)其他視圖構(gòu)造出來的表。

(6)行:在sql中,把傳統(tǒng)的關(guān)系模型中的元組稱為行(row)。

(7)列:在sql中,把傳統(tǒng)的關(guān)系模型中的屬性稱為列(coloumn)。

(8)實(shí)表:基本表被稱為“實(shí)表”,它是實(shí)際存放在數(shù)據(jù)庫中的表。

(9)虛表:視圖被稱為“虛表”,創(chuàng)建一個視圖時,只把視圖的定義存儲在數(shù)據(jù)詞典中,而不存儲視圖所對應(yīng)的數(shù)據(jù)。

(10)相關(guān)子查詢:在嵌套查詢中出現(xiàn)的符合以下特征的子查詢:子查詢中查詢條件依賴于外層查詢中的某個值,所以子查詢的處理不只一次,要反復(fù)求值,以供外層查詢使用。

(11)聯(lián)接查詢:查詢時先對表進(jìn)行笛卡爾積操作,然后再做等值聯(lián)接、選擇、投影等操作。聯(lián)接查詢的效率比嵌套查詢低。

(12)交互式sql:在終端交互方式下使用的sql語言稱為交互式sql。

(13)嵌入式sql:嵌入在高級語言的程序中使用的sql語言稱為嵌入式sql。

(14)共享變量:sql和宿主語言的接口。共享變量有宿主語言程序定義,再用sql的declare語句說明,sql語句就可引用這些變量傳遞數(shù)據(jù)庫信息。

(15)游標(biāo):游標(biāo)是與某一查詢結(jié)果相聯(lián)系的符號名,用于把集合操作轉(zhuǎn)換成單記錄處理方式。

(16)卷游標(biāo):為了克服游標(biāo)在推進(jìn)時不能返回的不便,sql2提供了卷游標(biāo)技術(shù)。卷游標(biāo)在推進(jìn)時不但能沿查詢結(jié)果中元組順序從頭到尾一行行推進(jìn),也能一行行返回。

3.2 對于教學(xué)數(shù)據(jù)庫的三個基本表

學(xué)生 s(s#,sname,age,sex)

學(xué)習(xí)sc(s#,c#,grade)

課程 c(c#,cname,teacher)

試用sql的查詢語句表達(dá)下列查詢:

(1)檢索liu老師所授課程的課程號和課程名。

select c#,cname

from c

where teacher=‘liu’

(2)檢索年齡大于23歲的男學(xué)生的學(xué)號和姓名。

select s#,sname

from s

where(age>23)and(sex=‘m’)

(3)檢索至少選修liu老師所授課程中一門課程的女學(xué)生姓名。

select sname

from s

where sex=‘f’ and s# in

(select s#

from sc

where c# in

(select c#

om c

where teacher=‘liu’)

notice:有多種寫法,比如聯(lián)接查詢寫法:

select sname

from s,sc,c

where sex=‘f’ and sc.s#=s.s#

and sc.c#=c.c#

and teacher='liu' 但上一種寫法更好一些。

(4)檢索wang同學(xué)不學(xué)的課程的課程號。

select c#

from c

where c# not in

(select c#

from sc

where s# in

(select s#

from s

where sname='wang'))

fr

(5)檢索至少選修兩門課程的學(xué)生學(xué)號。

select distinct

from sc x,sc y

where = and <> notice:對表sc進(jìn)行自連接,x,y是sc的兩個別名。

(6)檢索全部學(xué)生都選修的課程的課程號與課程名。

select c#,cname

from c

where not exists

(select *

from s

where s# not in

(select *

from sc

where sc.c#=c.c#))

要從語義上分解:(1)選擇課程的課程號與課程名,不存在不選這門課的同學(xué)。

其中,“不選這門課的同學(xué)”可以表示為:

select *

from s

where s# not in

(select *

from sc

where sc.c#=c.c#)

或者

select *

from s

where

not exists

(select *

from sc

where s.s#=c.s# and

sc.c#=c.c#)

(7)檢索選修課程包含liu老師所授課的學(xué)生學(xué)號。

select distinct s#

from sc

where c# in

(select c#

from c

where teacher='liu'))

3.3 設(shè)有兩個基本表r(a,b,c)和s(d,e,f),試用sql查詢語句表達(dá)下列關(guān)系代數(shù)表達(dá)式:

(1)πa(r)

(2)σb='17'(r)

(3)r×s

(4))πa,f(σc=d(r×s))(1)select a from r

(2)select * from r where b='17'(3)select a,b,c,d,e,f from r,s

(4)select a,f from r,s where r.c=s.d

3.4 3.4 設(shè)有兩個基本表r(a,b,c)和s(a,b,c)試用sql查詢語句表達(dá)下列關(guān)系代數(shù)表達(dá)式:

(1)r∪s

(2)r∩s

(3)r-s

(4)πa,b(r)πb,c(s)

(1)select a,b,c

from r

union

select a,b,c

from s

(2)select a,b,c

from r

intersect

select a,b,c

from s

(3)select a,b,c

from r

where not exists

(select a,b,c

from s

where r.a=s.a and r.b=s.b and r.c=s.c)

(4)select r.a,r.b,s.c

from r,s

whe

re r.b=s.b

3.5 試敘述sql語言的關(guān)系代數(shù)特點(diǎn)和元組演算特點(diǎn)。

(p61-62)

3.6 試用sql查詢語句表達(dá)下列對教學(xué)數(shù)據(jù)庫中三個基本表s、sc、c的查詢:

(1)統(tǒng)計有學(xué)生選修的課程門數(shù)。

select count(distinct c#)from sc

(2)求選修c4課程的學(xué)生的平均年齡。

select avg(age)

from s

where s# in

(select s#

from sc

where c#='c4')或者,select avg(age)

from s,sc

where s.s#=sc.s# and c#='004'

(3)求liu老師所授課程的每門課程的學(xué)生平均成績。

select cname,avg(grade)

from sc ,c

where sc.c#=c.c# and teacher='liu'

group by c#

(4)統(tǒng)計每門課程的學(xué)生選修人數(shù)(超過10人的課程才統(tǒng)計)。要求輸出課程號和選修人數(shù),查詢結(jié)果按人數(shù)降序排列,若人數(shù)相同,按課程號升序排列。

select distinct c#,count(s#)

from sc

group by c#

having count(s#)>10

order by 2 desc, c# asc

(5)檢索學(xué)號比wang同學(xué)大,而年齡比他小的學(xué)生姓名。

select

from s as x, s as y

where ='wang' and x.s#>y.s# and

(6)檢索姓名以wang打頭的所有學(xué)生的姓名和年齡。

select sname,age

from s

where sname like 'wang%'

(7)在sc中檢索成績?yōu)榭罩档膶W(xué)生學(xué)號和課程號。

select s#,c#

from sc

where grade is null

(8)求年齡大于女同學(xué)平均年齡的男學(xué)生姓名和年齡。

select sname,age

from s as x

where ='男' and >(select avg(age)from s as y where ='女')

(9)求年齡大于所有女同學(xué)年齡的男學(xué)生姓名和年齡。

select sname,age

from s as x

where ='男' and >all(select age from s as y where ='女')

3.7 試用sql更新語句表達(dá)對教學(xué)數(shù)據(jù)庫中三個基本表s、sc、c的各個更新操作:

(1)往基本表s中插入一個學(xué)生元組(‘s9’,‘wu’,18)。

insert into s(s#,sname,age)values('59','wu',18)

(2)在基本表s中檢索每一門課程成績都大于等于80分的學(xué)生學(xué)號、姓名和性別,并把檢索到的值送往另一個已存在的基本表student(s#,sanme,sex)。

insert into student(s#,sname,sex)

select s#,sname,sex

from s where not exists

(select * from sc where

grade<80 and s.s#=sc.s#)

(3)在基本表sc中刪除尚無成績的選課元組。

delete from sc

where grade is null(4)把wang同學(xué)的學(xué)習(xí)選課和成績?nèi)縿h去。

dele

te from sc

where s# in

(select s#

from s

where sname='wang')

(5)把選修maths課不及格的成績?nèi)臑榭罩怠?/p>

update sc

set grade=null

where grade<60 and c# in

(select c#

from c

where cname='maths')

(6)把低于總平均成績的女同學(xué)成績提高5%。

update sc

set grade=grade*1.05

where grade<(select avg(grade)from sc)and s# in(select s# from s where sex='f')

(7)在基本表sc中修改c4課程的成績,若成績小于等于75分時提高5%,若成績大于75分時提高4%(用兩個update語句實(shí)現(xiàn))。

update sc

set grade=grade*1.05

where c#='c4' and grade<=75

update sc

set grade=grade*1.04

where c#='c4' and grade>75

3.8 在第1章例1.4中提到“倉庫管理”關(guān)系模型有五個關(guān)系模式:

零件 part(p#,pname,color,weight)

項(xiàng)目 project(j#,jname,date)

供應(yīng)商 supplier(s#,sname,saddr)

供應(yīng) p_p(j#,p#,totoal)

采購 p_s(p#,s#,quantity)

(1)試用sql ddl語句定義上述五個基本表,并說明主鍵和外鍵。

create table part

(p# char(4)not null,pname char(12)not null,color char(10),weight real,primary key(p#))

create table project

(j# char(4)not null,jname char(12)not null,date date,primary key(j#))

create table suplier

(s# char(4)not null,sname char(12),saddr varchar(20),primary key(s#))

create table p_p

(j# char(4),p# char(4),total integer,primary key(j#,p#),foreign key(j#)reference project(j#),foreign key(p#)reference part(p#))

create table p_s

(p# char(4),s# char(4),quantity integer,primary key(p#,s#),foreign key(p#)reference part(p#),foreign key(s#)reference suplier(s#))

(2)試將progect、p_p、part三個基本表的自然聯(lián)接定義為一個視圖view1,part、p_s、supplier 三個基本表的自然聯(lián)接定義為一個視圖view2。

create view view1(j#,jname,date,p#,pname,color,weight,total)

as select project.j#,jname,date,part.p#,pname,color,weight,total

from project,part,p_p

where part.p#=p_p.p# and p_p.j#=project.j

#create view view2(p#,pname,color,weight,s#,sname,saddr,quantity)

as select part.p#,pname,color,weight,supplier.s#,sname,saddr,qua

ntity

from part,p_s,supplier

where part.p#=p_s.p# and p_s.s#=supplier.s#

(3)試在上述兩個視圖的基礎(chǔ)上進(jìn)行數(shù)據(jù)查詢:

1)檢索上海的供應(yīng)商所供應(yīng)的零件的編號和名字。

select p#,pname from view2 where saddr='shanghai'

2)檢索項(xiàng)目j4所用零件的供應(yīng)商編號和名字。

select s#,sname from view2 where p# in(select p# from view1 where j#='j4')

3.9 對于教學(xué)數(shù)據(jù)庫中基本表sc,已建立下列視圖:

create view s_grade(s#,c_num,avg_grade)

as select s#,count(c#),avg(grade)

from sc

group by s#

試判斷下列查詢和更新是否允許執(zhí)行。若允許,寫出轉(zhuǎn)換到基本表sc上的相應(yīng)操作。

(1)select *

from s_grade

允許

select s#,count(c#),avg(grade)from sc group by s#

(2)select s#,c_num

from s_grade

where avg_grade>80

允許

select s#,count(c#)from sc where avg(grade)>80

(3)select s#,avg_grade

from s_grade

where c_num>(select c_num

from s_grade

where s#=‘s4’)

允許

select s#,avg(grade)

from sc as x

where count(x.c#)>(select count(y.c#)from sc as y where y.s#='s4')

group by s#

(4)update s_grade

set c_num=c_num+1

where s#=‘s4’

不允許

(5)delete from s_grade

where c_num>4

不允許

3.10 預(yù)處理方式對于嵌入式sql的實(shí)現(xiàn)有什么重要意義?

預(yù)處理方式是先用預(yù)處理程序?qū)υ闯绦蜻M(jìn)行掃描,識別出sql語句,并處理成宿主語言的函數(shù)調(diào)用形式;然后再用宿主語言的編譯程序把源程序編譯成目標(biāo)程序。這樣,不用擴(kuò)充宿主語言的編譯程序,就能處理sql語句。

3.11 在宿主語言的程序中使用sql語句有哪些規(guī)定?

在宿主語言的程序中使用slq語句有以下規(guī)定:

(1)在程序中要區(qū)分sql語句與宿主語言語句

(2)允許嵌入的sql語句引用宿主語言的程序變量(稱為共享變量),但有兩條規(guī)定:

1)引用時,這些變量前必須加“:”作為前綴標(biāo)識,以示與數(shù)據(jù)庫中變量有區(qū)別。

2)這些變量由宿主語言的程序定義,并用sql的declare語句說明。

(3)sql的集合處理方式與宿主語言單記錄處理方式之間要協(xié)調(diào)。需要采用

游標(biāo)機(jī)制,把集合操作轉(zhuǎn)換成單記錄處理方式。

3.12 sql的集合處理方式與宿主語言單記錄處理方式之間如何協(xié)調(diào)?

由于sql語句處理的是記錄集合,而宿主語言語句一次只能處理一個記錄,因此需要用游標(biāo)(cousor)機(jī)制,把集合操作轉(zhuǎn)換成單記錄處理方式。

2.13 嵌入式sql語句何時不必涉及到游標(biāo)?何時必須涉及到游標(biāo)?

(1)insert、delete、update語句,查詢結(jié)果肯定是單元組時的select語句,都可直接嵌入在主程序中使用,不必涉及到游標(biāo)。

(2)當(dāng)select語句查詢結(jié)果是多個元組時,此時宿主語言程序無法使用,一定要用游標(biāo)機(jī)制把多個元組一次一個地傳送給宿主語言處理。

4.1 名詞解釋

(1)函數(shù)依賴:fd(function dependency),設(shè)有關(guān)系模式r(u),x,y是u的子集,r是r的任一具體關(guān)系,如果對r的任意兩個元組t1,t2,由t1[x]=t2[x]導(dǎo)致t1[y]=t2[y], 則稱x函數(shù)決定y,或y函數(shù)依賴于x,記為x→y。x→y為模式r的一個函數(shù)依賴。

(2)函數(shù)依賴的邏輯蘊(yùn)涵:設(shè)f是關(guān)系模式r的一個函數(shù)依賴集,x,y是r的屬性子集,如果從f中的函數(shù)依賴能夠推出x→y,則稱f邏輯蘊(yùn)涵x→y,記為f|=x→y。

(3)部分函數(shù)依賴:即局部依賴,對于一個函數(shù)依賴w→a,如果存在xw(x包含于w)有x→a成立,那么稱w→a是局部依賴,否則稱w→a為完全依賴。

(4)完全函數(shù)依賴:見上。

(5)傳遞依賴:在關(guān)系模式中,如果y→x,x→a,且xy(x不決定y),ax(a不屬于x),那么稱y→a是傳遞依賴。

(6)函數(shù)依賴集f的閉包f+: 被邏輯蘊(yùn)涵的函數(shù)依賴的全體構(gòu)成的集合,稱為f的閉包(closure),記為f+。

(7)1nf: 第一范式。如果關(guān)系模式r的所有屬性的值域中每一個值都是不可再分解的值, 則稱r是屬于第一范式模式。如果某個數(shù)據(jù)庫模式都是第一范式的,則稱該數(shù)據(jù)庫存模式屬于第一范式的數(shù)據(jù)庫模式。第一范式的模式要求屬性值不可再分裂成更小部分,即屬性項(xiàng)不能是屬性組合和組屬性組成。

(8)2nf: 第二范式。如果關(guān)系模式r為第一范式,并且r中每一個非主屬性完全函數(shù)依賴于r的某個候選鍵,則稱是第二范式模式;如果某個數(shù)據(jù)庫模式中每個關(guān)系模式都是第二范式的,則稱該數(shù)據(jù)庫模式屬于第二范式的數(shù)據(jù)庫模式。(注:如果a是關(guān)系模式r的候選鍵的一個屬性,則稱a是r的主屬性,否則稱a是r的非主屬性。)

(9)3nf:第三范式。如果關(guān)系模式r是第二范式,且每個非主屬性都不傳遞依賴于r的候選鍵,則稱r是第三范式的模式。如果某個數(shù)據(jù)庫模式中的每個關(guān)系模式都是第三范式,則稱為3nf的數(shù)據(jù)庫模式。

(10)bcnf:bc范式。如果關(guān)系模式r是第一范式,且每個屬性都不傳遞依賴于r的候選鍵,那么稱r

是bcnf的模式。

(11)4nf:第四范式。設(shè)r是一個關(guān)系模式,d是r上的多值依賴集合。如果d中成立非平凡多值依賴x→→y時,x必是r的超鍵,那么稱r是第四范式的模式。

(12)推理規(guī)則的正確性和完備性:正確性是指,如果x→y是從推理規(guī)則推出的,那么x→y在f+中。完備性是指,不能從f使用推理規(guī)則導(dǎo)出的函數(shù)依賴不在f+中。

(13)依賴集的覆蓋和等價:關(guān)系模式r(u)上的兩個函數(shù)依賴集f和g,如果滿足f+=g+,則稱f和g是等價的。如果f和g等價,則可稱f覆蓋g或g覆蓋f。

(14)最小依賴集:如果函數(shù)集合f滿足以下三個條件:(1)f中每個函數(shù)依賴的右部都是單屬性;(2)f中的任一函數(shù)依賴x→a,其f-{x→a}與f是不等價的;(3)f中的任一函數(shù)依賴x→a,z為x的子集,(f-{x→a})∪{z→a}與f 不等價。則稱f為最小函數(shù)依賴集合,記為fmin。

(15)無損聯(lián)接:設(shè)r是一關(guān)系模式,分解成關(guān)系模式ρ={r1,r2...,rk},f是r上的一個函數(shù)依賴集。如果對r中滿足f的每一個關(guān)系r都有r=πr1(r)πr2(r)...πrk(r)則稱這個分解相對于f是“無損聯(lián)接分解”。

(16)保持依賴集:所謂保持依賴就是指關(guān)系模式的函數(shù)依賴集在分解后仍在數(shù)據(jù)庫中保持不變,即關(guān)系模式r到ρ={r1,r2,...,rk}的分解,使函數(shù)依賴集f被f這些ri上的投影蘊(yùn)涵。

(17)多值依賴:設(shè)r(u)是屬性集u上的一個關(guān)系模式,x,y,z是u的子集,并且z=u-x-y, 用x,y,z分別代表屬性集x,y,z的值,只要r是r的關(guān)系,r中存在元組(x,y1,z1)和(x,y2,z2)時,就也存在元組(x,y1,z2)和(x,y2,z1),那么稱多值依賴(multivalued dependency mvd)x→→y在關(guān)系模式r中成立。

4.2 關(guān)系模式r有n個屬性,在模式r上可能成立的函數(shù)依賴有多少個? 其中平凡的函數(shù)依賴有多少個?非平凡的函數(shù)依賴有多少個?

(要考慮所有可能的情況,數(shù)學(xué)排列組合問題。對于數(shù)據(jù)庫本身而言,本題沒多大意義)

所有屬性相互依賴時,函數(shù)依賴最多。

·

平凡的函數(shù)依賴:對于函數(shù)依賴x→y,如果yx,那么稱x→y是一個“平凡的函數(shù)依賴”。

4.3 建立關(guān)于系、學(xué)生、班級、社團(tuán)等信息的一個關(guān)系數(shù)據(jù)庫,一個系有若干個專業(yè),每個專業(yè)每年只招一個班,每個班有若干個學(xué)生,一個系的學(xué)生住在同一宿舍區(qū),每個學(xué)生可以參加若干個社團(tuán),每個社團(tuán)有若干學(xué)生。

描述學(xué)生的屬性有:學(xué)號、姓名、出生年月、系名、班級號、宿舍區(qū)。

描述班級的屬性有:班級號、專業(yè)名、系名、人數(shù)、入校年份。

描述系的屬性有:系名、系號、系辦公地點(diǎn)、人數(shù)。

描述社團(tuán)的屬性有:社團(tuán)名、成立年份、地點(diǎn)、人數(shù)、學(xué)生參加某社團(tuán)的年份。

請給出關(guān)系模式,寫出每個關(guān)系模式的最小函數(shù)依賴集,指出是否存在傳遞函數(shù)依賴,對于函數(shù)依賴左部是多屬性的情況,討論函數(shù)依賴是完全函數(shù)依賴還是部分函數(shù)依賴。指出各關(guān)系的候選鍵、外部鍵,有沒有全鍵存在?

各關(guān)系模式如下:

學(xué)生(學(xué)號,姓名,出生年月,系名,班級號,宿舍區(qū))

班級(班級號,專業(yè)名,系名,人數(shù),入校年份)

系(系名,系號,系辦公地點(diǎn),人數(shù))

社團(tuán)(社團(tuán)名,成立年份,地點(diǎn),人數(shù))

加入社團(tuán)(社團(tuán)名,學(xué)號,學(xué)生參加社團(tuán)的年份)

學(xué)生(學(xué)號,姓名,出生年月,系名,班級號,宿舍區(qū))

●“學(xué)生”關(guān)系的最小函數(shù)依賴集為:

fmin={學(xué)號→姓名,學(xué)號→班級號,學(xué)號→出生年月,學(xué)號→系名,系名→宿舍區(qū)} ●以上關(guān)系模式中存在傳遞函數(shù)依賴,如:學(xué)號→系名,系名→宿舍區(qū)

●候選鍵是學(xué)號,外部鍵是班級號,系名。

notice: 在關(guān)系模式中,如果y→x,x→a,且xy(x不決定y),a不屬于x,那么稱y→a是傳遞依賴。

班級(班級號,專業(yè)名,系名,人數(shù),入校年份)

●“班級”關(guān)系的最小函數(shù)依賴集為:

fmin={(系名,專業(yè)名)→班級號,班級號→人數(shù),班級號→入校年份,班級號→系名,班級號→專業(yè)名}

(假設(shè)沒有相同的系,不同系中專業(yè)名可以相同)●以上關(guān)系模式中不存在傳遞函數(shù)依賴。

●“(系名,專業(yè)名)→班級號”是完全函數(shù)依賴。

●候選鍵是(系名,專業(yè)名),班級號,外部鍵是系名。

系(系名,系號,系辦公地點(diǎn),人數(shù))

●“系”關(guān)系的最小函數(shù)依賴集為: fmin={系號→系名,系名→系辦公地點(diǎn),系名→人數(shù),系名→系號}

●以上關(guān)系模式中不存在傳遞函數(shù)依賴

●候選鍵是系名,系號

社團(tuán)(社團(tuán)名,成立年份,地點(diǎn),人數(shù))

●“社團(tuán)”關(guān)系的最小函數(shù)依賴集為: fmin={社團(tuán)名→成立年份,社團(tuán)名→地點(diǎn),社團(tuán)名→人數(shù))

●以上關(guān)系模式中不存在傳遞函數(shù)依賴。

●候選鍵是社團(tuán)名

加入社團(tuán)(社團(tuán)名,學(xué)號,學(xué)生參加社團(tuán)的年份)

●“加入社團(tuán)”關(guān)系的最小函數(shù)依賴集為: fmin={(社團(tuán)名,學(xué)號)→學(xué)生參加社團(tuán)的年份)●“(社團(tuán)名,學(xué)號)→學(xué)生參加社團(tuán)的年份”是完全函數(shù)依賴。

●以上關(guān)系模式中不存在傳遞函數(shù)依賴。

●候選鍵是(社團(tuán)名,學(xué)號)。

4.4 對函數(shù)依賴x→y的定義加以擴(kuò)充,x和y可以為空屬性集,用φ表示,那么x→φ,φ→y,φ→φ的含義是什么?

根據(jù)函數(shù)依賴的定義,以上三個表達(dá)式的含義為:

(1)一個關(guān)系模式r(u)中,x,y是u的子集,r是r的任一具體關(guān)系,如果對r的任意兩個元組t1,t2, 由t1[x]=t2[x]必有t1[φ]=t2[φ]。即x→φ表示空屬性函數(shù)依賴于x。這是任何關(guān)系中都存在的。

(2)φ→y表示y函數(shù)依賴于空屬性。由此可

知該關(guān)系中所有元組中y屬性的值均相同。

(3)φ→φ表示空屬性函數(shù)依賴于空屬性。這也是任何關(guān)系中都存在的。

4.5 已知關(guān)系模式r(abc),f={a→c,b→c},求f+。

可以直接通過自反律、增廣律、傳遞律加以推廣:

f+={φ→φ,a→φ,b→φ,c→φ,a→c,b→c,ab→φ,ab→a,ab→b,ab→c,ab→bc,ab→ab,ab→abc,bc→φ,bc→c,bc→b,bc→bc,ac→φ,ac→c,ac→a,ac→ac,abc→φ,abc→a,abc→b,abc→c,abc→bc,abc→ab,abc→abc}

4.6 試分析下列分解是否具有無損聯(lián)接和保持函數(shù)依賴的特點(diǎn):

(1)設(shè)r(abc),f1={a→b} 在r上成立,ρ1={ab,ac}。

首先,檢查是否具有無損聯(lián)接特點(diǎn):

第1種解法--算法4.2:

(1)構(gòu)造表

(2)根據(jù)a→b進(jìn)行處理

結(jié)果第二行全是a行,因此分解是無損聯(lián)接分解。

第2種解法:(定理4.8)設(shè) r1=ab,r2=ac

r1∩r2=a

r2-r1=b

∵a→b,∴該分解是無損聯(lián)接分解。

然后,檢查分解是否保持函數(shù)依賴

πr1(f1)={a→b,以及按自反率推出的一些函數(shù)依賴}

πr2(f1)={按自反率推出的一些函數(shù)依賴}

f1被πr1(f1)所蘊(yùn)涵,∴所以該分解保持函數(shù)依賴。

(2)設(shè)r(abc),f2={a→c,b→c}在r上成立,ρ2={ab,ac}

首先,檢查是否具有無損聯(lián)接特點(diǎn):

第1種解法(略)

第2種解法:(定理4.8)設(shè) r1=ab,r2=ac

r1∩r2=a

r2-r1=c

∵a→c,∴該分解是無損聯(lián)接分解。

然后,檢查分解是否保持函數(shù)依賴

πr1(f2)={按自反率推出的一些函數(shù)依賴}

πr2(f2)={a→c,以及按自反率推出的一些函數(shù)依賴} ∵f1中的b→c沒有被蘊(yùn)涵,所以該分解沒有保持函數(shù)依賴。

(3)設(shè)r(abc),f3={a→b},在r上成立,ρ3={ab,bc}.首先,檢查是否具有無損聯(lián)接特點(diǎn):

第1種解法:

(1)構(gòu)造表

(2)根據(jù)a→b進(jìn)行處理

沒有一行全是a行。因此這個分解不具有無損聯(lián)接特性。

第2種解法:(定理4.8)

設(shè) r1=ab,r2=bc

r1∩r2=b

r2-r1=c,r1-r2=a

∵b→c,b→a不在f3中 ∴該分解不具有無損聯(lián)接特性。

然后,檢查分解是否保持函數(shù)依賴

πr1(f3)={a→b,以及按自反率推出的一些函數(shù)依賴}

πr2(f3)={按自反率推出的一些函數(shù)依賴}

f1被πr1(f3)所蘊(yùn)涵,所以該分解保持函數(shù)依賴。

(4)設(shè)r(abc),f4={a→b,b→c}在r上成立,ρ4={ac,bc}

首先,檢查是否具有無損聯(lián)接特點(diǎn):

第1種解法(略)

第2種解法:(定理4.8)

設(shè) r1=ac,r2=bc

r1(ac)∩r2(bc)=c

r2-r1=b,r1-r2=a

∵c→b,c→a不在f4中 ∴該分解不具有無損聯(lián)接特性。

然后,檢查分解是否保持函數(shù)依賴

πr1(f2)={按自反率推出的一些函數(shù)依賴}

πr2(f2)={b→c,以及按自反率推出的一些函數(shù)依賴}

∵f1中的a→b沒有被蘊(yùn)涵,所以該分解沒有保持函數(shù)依賴。

4.7 設(shè)r=abcd,r上的函數(shù)依賴集f={a→b,b→c,a→d,d→c},r的一個分解ρ={ab,ac,ad},求:(1)f在ρ的每個模式上的投影。(2)ρ相對于f是無損聯(lián)接分解嗎?(3)ρ保持依賴嗎?(1)

πab(f)={a→b,及按自反律所推導(dǎo)出的一些平凡函數(shù)依賴} πac(f)={a→c,及按自反律所推導(dǎo)出的一些平凡函數(shù)依賴} πad(f)={a→d,及按自反律所推導(dǎo)出的一些平凡函數(shù)依賴}(2)

(1)構(gòu)造表

(2)根據(jù)a→b,b→c,a→d,d→c進(jìn)行處理

每一行都是a,ρ相對于f是無損聯(lián)接分解。

(3)πab(f)∪πac(f)∪πad(f)={a→b,a→c,a→d}, 沒有滿足b→c,d→c函數(shù)依賴,因此ρ相對于f的這個分解不保持函數(shù)依賴。

4.8 設(shè)r=abcd,r上的f={a→c,d→c,bd→a}, 試證明ρ={ab,acd,bcd}相對于f不是無損聯(lián)接分解。

根據(jù)算法4.2

(1)構(gòu)造表

(2)根據(jù)a→c,d→c,bd→a進(jìn)行處理

沒有一行都是a,所以,ρ相對于f不是無損聯(lián)接分解。

4.9 設(shè)r=abcd,r上的f={a→b,b→c,d→b},把r分解成bcnf模式集。

(1)若首先把r分解成{acd,bd},試求f在這兩個模式上的投影。

(2)acd和bd是bcnf嗎?如果不是,請進(jìn)一步分解。

(1)πacd(f)={a→c}

πbd(f)={d→b}

(2)因?yàn)楦鶕?jù)bcnf的定義,要求關(guān)系模式是第一范式,且每個屬性都不傳遞依賴于r的侯選鍵。bcd中(a,d)為候選鍵,可是(a,d)→a, a→c,所以它不是bcnf模式。

它可進(jìn)一步分解為:{ac,dc},此時ac,dc均為bcnf模式。

bd是bcnf,因?yàn)閞2(bd)是第一范式,且每個屬性都不傳遞依賴于d(候選鍵),所以它是bcnf模式。

4.10 設(shè)r=abcd,ρ={ab,bc,cd}。f1={a→b,b→c};f2={b→c,c→d};

(1)如果f1是r上的函數(shù)依賴集,此時ρ是無損聯(lián)接分解嗎?若不是,試舉出反例。

(2)如果f2是r上的函數(shù)依賴集呢?

(1)不是無損聯(lián)接??捎伤惴?.2判斷或由定理4.8判斷。

根據(jù)算法4.2

(1)構(gòu)造表

(2)根據(jù)a→b,b→c進(jìn)行處理

結(jié)果沒有出現(xiàn)一行全a的情況,所以它不是無損聯(lián)接。舉例如下:

設(shè)模式r的一關(guān)系r為{(a1b1c1d1),(a2b2c1d2)} 則有:r1=πab(r)={(a1b1),(a2b2)}

r2=πbc(r)={(b1c1),(b2c1)}

r3=πcd(r)={(c1d1),(c1d2)} 令a=r1r2r3={(a1b1c1d1),(a1b1c1d2),(a2b2c1d1),(a2b2c1d2)} r≠a,所以ρ不是無損聯(lián)接。

(2)如果f2是r上的函數(shù)依賴,則可以判斷,ρ是無損聯(lián)接。判斷過程同上。

4.11 設(shè)關(guān)系模式r(s#,c#,grade,tname,taddr),其屬性分別表示學(xué)生學(xué)號、選修課程的編號,成績、任課教師地址等意義。如果規(guī)定,每個學(xué)生每學(xué)一門課只有一個成績; 每門課只有一個教師任教;每個教師只有一個地址(此處不允許教師同名同姓)。

(1)試寫出關(guān)系模式r基本的函數(shù)依賴和候選鍵。

(2)試把r分解成2nf模式集并說明理由。

(3)試把r分解成3nf模式集,并說明理由。

(1)f={(s#,c#)→grade,c#→tname,tname→taddr} 侯選鍵是(s#,c#)。

(2)在模式r中,tname不完全依賴于鍵(s#,c#),因此需進(jìn)行分解,可分解為下列兩個關(guān)系。

sc={s#,c#,grade} c={c#,tname,taddr} 分解后,sc中,grade完全依賴于侯選鍵(s#,c#),在c中,主屬性是c#,tname、taddr均完全依賴于c#。因此,該分解符合2nf模式。

(3)3nf:若每個關(guān)系模式是2nf,則每個非主屬性都不傳遞于r的候選鍵。

按上述已分好的兩個模式,sc中已滿足“每個非主屬性都不傳遞于r的候選鍵”,已是3nf,而在c中,c#→tname,tname→taddr,taddr傳遞依賴于c#,因此還需分成兩個模式:ct(c#,tname), t(tname,tadd)。

分解后,總共有sc={s#,c#,grade},ct(c#,tname), t(tname,tadd)三個模式。

該分解符合3nf模式。

4.12 圖4.6表示一個公司各部門的層次結(jié)構(gòu),對每個部門,數(shù)據(jù)庫中包含部門號(唯一的)d#,預(yù)算費(fèi)(budget)以及此部門領(lǐng)導(dǎo)人員的職工號(唯一的)e#等信息。對每一個部門,還存有部門的全部職工,生產(chǎn)科研項(xiàng)目以及辦公室的信息。

職工信息包括:職工號,他所參加的生產(chǎn)科研項(xiàng)目號(j#),他所在辦公室的電話號(phone#)。

生產(chǎn)科研項(xiàng)目包含:項(xiàng)目號(唯一的),預(yù)算費(fèi)。

辦公室信息包含:辦公室號(唯一的),面積。

對每個職工,數(shù)據(jù)庫中有他曾擔(dān)任過的職務(wù)以及擔(dān)任某一職務(wù)時的工資歷史。對每個辦公室包含此辦公室中全部電話號嗎的信息。

請給出你認(rèn)為合理的數(shù)據(jù)依賴,把這個層次結(jié)構(gòu)轉(zhuǎn)換成一組規(guī)范化的關(guān)系。

提示:此題可分步完成,先轉(zhuǎn)換成一組1nf的關(guān)系,然后逐步轉(zhuǎn)換成2nf,3nf,...。

先得到一個泛關(guān)系的模式如下:

d={d#,manager_e#,budget,e#,j#,phone#,business,sa_history,office#,area} d#:部門號, manager_e#:部門領(lǐng)導(dǎo)人員的職工號, e#:職工號, j#:生產(chǎn)科研項(xiàng)目號, phone#:辦公室的電話號,business:職工職務(wù),sa_history:工資歷史,office#:辦公室號,area:辦公室面積

根據(jù)所給信息,給出下列數(shù)據(jù)依賴:

f={d#→manager_e#,e#→office#,(e#,business)→sa_history,j#→budget,e#→j#,office#→area,office→d#,#phone#→office#}(假設(shè)一個部門可能有多個辦公室,有多個項(xiàng)目,一個辦公室只屬于一個部門,有多部電話,一個員工只參加一個項(xiàng)目,一個項(xiàng)目可能屬于多個部門)

只要保證每個屬性值不可分割,以上范式即為1nf。候選鍵為(e#,business,phone#)

轉(zhuǎn)換成2nf關(guān)系(消除局部依賴):

em_dep(e#,d#,manager_e#,office#,area,j#,budget)

對應(yīng) f={d#→manager_e#,e#→office#,j#→budget,e#→j#,office#→area,office→d#}

history(e#,business,history)

對應(yīng) f={(e#,business)→sa_history} phone(phone#,office#)

對應(yīng) f={phone#→office#}

轉(zhuǎn)換成3nf關(guān)系(消除非主屬性對侯選鍵的傳遞依賴):

department(d#,manager_e#)office(office#,area,d#)emproee(e#,j#,office#)

history(e#,business,history)phone(phone#,office#)project(j#,budget)

注意:由于對題意理解的不同,可能答案不唯一。

4.13 設(shè)關(guān)系模式r(abc)上有一個多值依賴a→→b。如果已知r的當(dāng)前關(guān)系中存在三組(ab1c1)、(ab2c2)和(ab3c3),那么這個關(guān)系中至少還應(yīng)存在哪些元組?

從多值依賴的定義可以得出,至少應(yīng)存在下列元組:

(ab1c2)、(ab1c3)、(ab2c1)、(ab2c3)、(ab3c1)、(ab3c2)

5.1 名詞解釋

(1)數(shù)據(jù)庫設(shè)計:數(shù)據(jù)庫設(shè)計是指對于一個給定的應(yīng)用環(huán)境,提供一個確定最優(yōu)數(shù)據(jù)模型與處理模式的邏輯設(shè)計,以及一個確定數(shù)據(jù)庫存儲結(jié)構(gòu)與存取方法的物理設(shè)計,建立起既能反映現(xiàn)實(shí)世界信息和信息聯(lián)系,滿足用戶數(shù)據(jù)要求和加工要求,又能被某個數(shù)據(jù)庫管理系統(tǒng)所接受,同時能實(shí)現(xiàn)系統(tǒng)目標(biāo),并有效存取數(shù)據(jù)的數(shù)據(jù)庫。

(2)數(shù)據(jù)庫工程:指數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā),它是一項(xiàng)軟件工程,但有數(shù)據(jù)庫應(yīng)用自身的特點(diǎn)。(3)評審:在數(shù)據(jù)庫設(shè)計過程中,評審的目的是為了確認(rèn)某一階段的任務(wù)是否全部完成,避免重大的疏漏或錯誤,并在生存期的早期階段給予糾正,以減少系統(tǒng)研制的成本。

(4)數(shù)據(jù)字典:是對系統(tǒng)中數(shù)據(jù)的詳盡描述,它提供對數(shù)據(jù)庫數(shù)據(jù)描述的集中管理。它的處理功能是存儲和檢索元數(shù)據(jù),并且為數(shù)據(jù)庫管理員提供有關(guān)的報告。對數(shù)據(jù)庫設(shè)計來說,數(shù)據(jù)字典是進(jìn)行詳細(xì)的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的主要成果。數(shù)據(jù)字典主要包括四個部分:數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲。

5.2 數(shù)據(jù)系統(tǒng)的生存期分成哪幾個階段?數(shù)據(jù)庫結(jié)構(gòu)的設(shè)計在生存期中的地位如何?

分成七個階段 :規(guī)劃、需求分析、概念設(shè)計、邏輯設(shè)計、物理設(shè)計、實(shí)現(xiàn)、運(yùn)行和維護(hù)。

數(shù)據(jù)庫結(jié)構(gòu)的設(shè)計在生存期中的地位很重要,數(shù)據(jù)庫結(jié)構(gòu)的設(shè)計包括邏輯設(shè)計、物理設(shè)計,邏輯設(shè)計把概念模式轉(zhuǎn)化為與選用的具體機(jī)器上的dbms所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu),而物理設(shè)計主要是設(shè)計db在物理設(shè)備上的存儲結(jié)構(gòu)與存取方法等。

5.3 什么是數(shù)據(jù)庫設(shè)計?數(shù)據(jù)庫設(shè)計過程的輸入和輸出有哪些內(nèi)容?

數(shù)據(jù)庫設(shè)計是指對于一個給定的應(yīng)用環(huán)境,提供一個確定最優(yōu)數(shù)據(jù)模型與處理模式的邏輯設(shè)計,以及一個確定數(shù)據(jù)庫存儲結(jié)構(gòu)與存取方法的物理設(shè)計,建立起既能反映現(xiàn)實(shí)世界信息和信息聯(lián)系,滿足用戶數(shù)據(jù)要求和加工要求,又能被某個數(shù)據(jù)庫管理系統(tǒng)所接受,同時能實(shí)現(xiàn)系統(tǒng)目標(biāo),并有效存取數(shù)據(jù)的數(shù)據(jù)庫。

數(shù)據(jù)庫設(shè)計過程的輸入包括四部分內(nèi)容:1)總體信息需求;2)處理需求;(3)dbms的特征;(4)硬件和os(操作系統(tǒng))特征。

數(shù)據(jù)庫設(shè)計過程的輸出包括兩部分:

(1)完整的數(shù)據(jù)庫結(jié)構(gòu),其中包括邏輯結(jié)構(gòu)和物理結(jié)構(gòu);

(2)基于數(shù)據(jù)庫結(jié)構(gòu)和處理需求的應(yīng)用程序的設(shè)計原則。這些輸出一般以說明書的形式出現(xiàn)。

5.4 基于數(shù)據(jù)庫系統(tǒng)生存期的數(shù)據(jù)庫設(shè)計分成哪幾個階段?

分為5個階段:簡記為(規(guī)需概邏物):規(guī)劃、需求分析、概念設(shè)計、邏輯設(shè)計和物理設(shè)計五個階段。

5.5 什么是比較好的數(shù)據(jù)庫設(shè)計方法?數(shù)據(jù)庫設(shè)計方法應(yīng)包括哪些內(nèi)容? 一個好的數(shù)據(jù)庫設(shè)計方法應(yīng)該能在合理的期限內(nèi),以合理的工作量產(chǎn)生一個有實(shí)用價值的數(shù)據(jù)庫結(jié)構(gòu)。

一種實(shí)用的數(shù)據(jù)庫設(shè)計方法應(yīng)包括以下內(nèi)容:設(shè)計過程、設(shè)計技術(shù)、評價準(zhǔn)則、信息需求、描述機(jī)制。

5.6 數(shù)據(jù)庫設(shè)計的規(guī)劃階段應(yīng)做哪些事情?

數(shù)據(jù)庫設(shè)計中的規(guī)劃階段的主要任務(wù)是進(jìn)行建立數(shù)據(jù)庫的必要性及可行性分析,確定數(shù)據(jù)庫系統(tǒng)在組織中和信息系統(tǒng)中的地位,以及各個數(shù)據(jù)庫之間的聯(lián)系。

5.7 數(shù)據(jù)庫設(shè)計的需求分析階段是如何實(shí)現(xiàn)的?目標(biāo)是什么?

數(shù)據(jù)庫設(shè)計的需求分析通過三步來完成:即需求信息的收集、分析整理和評審。

其目的在于對系統(tǒng)的應(yīng)用情況作全面詳細(xì)的調(diào)查,確定企業(yè)組織的目標(biāo),收集支持系統(tǒng)總的設(shè)計目標(biāo)的基礎(chǔ)數(shù)據(jù)和對這些數(shù)據(jù)的要求,確定用戶的需求,并把這些要求寫成用戶和數(shù)據(jù)設(shè)計者都能夠接受的文檔。

5.8 評審在數(shù)據(jù)庫設(shè)計中有什么重要作用?為什么允許設(shè)計過程中有多次的回溯與反復(fù)?

評審的作用在于確認(rèn)某一階段的任務(wù)是否全部完成,通過評審可以及早發(fā)現(xiàn)系統(tǒng)設(shè)計中的錯誤,并在生存期的早期階段給予糾正,以減少系統(tǒng)研制的成本。

如果在數(shù)據(jù)庫已經(jīng)實(shí)現(xiàn)時再發(fā)現(xiàn)設(shè)計中的錯誤,那么代價比較大。因此應(yīng)該允許設(shè)計過程的回溯與反復(fù)。設(shè)計過程需要根據(jù)評審意見修改所提交的階段設(shè)計成果,有時修改甚至要回溯到前面的某一階段,進(jìn)行部分乃至全部重新設(shè)計。

5.9 數(shù)據(jù)字典的內(nèi)容和作用是什么?

數(shù)據(jù)字典的內(nèi)容一般包括:數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲和加工過程。

其作用是對系統(tǒng)中數(shù)據(jù)做出詳盡的描述,提供對數(shù)據(jù)庫數(shù)據(jù)的集中管理。

5.10 對概念模型有些什么要求? 對概念模型一般有以下要求:

(1)概念模型是對現(xiàn)實(shí)世界的抽象和概括,它應(yīng)真實(shí)、充分地反映現(xiàn)實(shí)世界中事物和事物之間的聯(lián)系,具有豐富的語義表達(dá)能力,能表達(dá)用戶的各種需求,包括描述現(xiàn)實(shí)世界中各種對象及其復(fù)雜聯(lián)系、用戶對數(shù)據(jù)對象的處理要求和手段。

(2)概念模型應(yīng)簡潔、明晰,獨(dú)立于機(jī)器、容易理解、方便數(shù)據(jù)庫設(shè)計人員與應(yīng)用人員交換意見,使用戶能積極參與數(shù)據(jù)庫的設(shè)計工作。

(3)概念模型應(yīng)易于變動。當(dāng)應(yīng)用環(huán)境和應(yīng)用要求改變時,容易對概念模型修改和補(bǔ)充。

(4)概念模型應(yīng)很容易向關(guān)系、層次或網(wǎng)狀等各種數(shù)據(jù)模型轉(zhuǎn)換,易于從概念模式導(dǎo)出也dbms有關(guān)的邏輯模式。

5.11 概念設(shè)計的具體步驟是什么? 概念設(shè)計的主要步驟為:

(1)進(jìn)行數(shù)據(jù)抽象、設(shè)計局部概念模式;

(2)將局部概念模式綜合成全局概念模式;

(3)評審。

(具體解釋參見教材p131)

5.12 什么是數(shù)據(jù)抽象?主要有哪兩種形式的抽象?數(shù)據(jù)抽象在數(shù)據(jù)庫設(shè)計過程中起什么作用?

數(shù)據(jù)抽象是對人、物、事或概念的人為處理,它抽取人們關(guān)心的共同特性,忽略非本質(zhì)的細(xì)節(jié),并把這些特性用各種概念精確地加以描述,這些概念組成了某種模型。

數(shù)據(jù)抽象有兩種形式:

(1)系統(tǒng)狀態(tài)的抽象,即抽象對象;

(2)系統(tǒng)轉(zhuǎn)換的抽象,即抽象運(yùn)算。

數(shù)據(jù)抽象是概念設(shè)計中非常重要的一步。通過數(shù)據(jù)抽象,可以將現(xiàn)實(shí)世界中的客觀對象首先抽象為不依賴任何具體機(jī)器的信息結(jié)構(gòu)。

5.13 什么是er圖?構(gòu)成er圖的基本要素是什么? er圖是用來表示數(shù)據(jù)庫概念設(shè)計er模型的工具,它提供了表示實(shí)體、屬性和聯(lián)系的方法。

構(gòu)成er圖的基本

數(shù)據(jù)庫期末選擇題篇四

課堂練習(xí):

一年級奧數(shù)題,試試看

1.哥哥有4個蘋果,姐姐有3個蘋果,弟弟有8個蘋果,哥哥給弟弟1個后,弟弟吃了3個,這時誰的蘋果多?

2.小明今年6歲,小強(qiáng)今年4歲,2年后,小明比小強(qiáng)大幾歲?

3.同學(xué)們排隊(duì)做操,小明前面有4個人,后面有4個人,這一隊(duì)一共有多少人?

4.有一本書,小華第一天觀了2頁,以后每一天都比前一天多觀2頁,第4天觀了多少頁?

教學(xué)隨筆:

新課改下的數(shù)學(xué)教學(xué)

課改時頒布的《基礎(chǔ)教育課程改革指導(dǎo)綱要》把“以學(xué)生發(fā)展為本”作為新課程的基本理念,提出了“改變過于強(qiáng)調(diào)接受學(xué)習(xí)、死記硬背、機(jī)械訓(xùn)練的現(xiàn)狀,倡導(dǎo)學(xué)生主動參與、樂于研究、勤于動手”,“大力推入信息技術(shù)在教學(xué)過程中普遍應(yīng)用,逐步實(shí)現(xiàn)教學(xué)內(nèi)容的呈現(xiàn)方式、學(xué)生的學(xué)習(xí)方式,以及教學(xué)過程中師生互動方式的變革”。新課程指導(dǎo)綱要說明了課改既要加強(qiáng)學(xué)生的基礎(chǔ)性學(xué)習(xí),又要提高學(xué)生的發(fā)展性學(xué)習(xí)和創(chuàng)造性學(xué)習(xí),從而培養(yǎng)學(xué)生終身學(xué)習(xí)的愿望和能力。也就是說數(shù)學(xué)課堂教學(xué)是展示教學(xué)改革的舞臺,開闊教師的視野,真正和學(xué)生融為一體,給學(xué)生營造一個自由的發(fā)展空間,讓學(xué)生在樸素的課堂生活中品味數(shù)學(xué),感悟數(shù)學(xué)。

一、新課改下的數(shù)學(xué)教學(xué)注重過程

1、新課改下的數(shù)學(xué)教學(xué)的過程是學(xué)生體驗(yàn)數(shù)學(xué)的過程。(1)體驗(yàn)數(shù)學(xué)的自然科學(xué)性,數(shù)學(xué)是一門自然科學(xué),自然界的一切事物一切現(xiàn)象都存在一定的數(shù)量關(guān)系和空間關(guān)系。(2)體驗(yàn)數(shù)學(xué)的基礎(chǔ)性與工具性,數(shù)學(xué)是一切自然科學(xué)的基礎(chǔ),也是自然科學(xué)的工具。學(xué)生在體會應(yīng)用數(shù)學(xué)知識的同時,也學(xué)會了用已有知識來綜合解決實(shí)際問題。在課堂教學(xué)中聯(lián)系生活實(shí)際講數(shù)學(xué),引導(dǎo)學(xué)生關(guān)注現(xiàn)實(shí)社會現(xiàn)象,關(guān)注社會熱點(diǎn)問題,把經(jīng)驗(yàn)生活社會化,把數(shù)學(xué)問題生活化,并且創(chuàng)造性融滲透一些生活素材。如利息、保險、話費(fèi)收繳等方面數(shù)學(xué)問題,結(jié)合教學(xué)內(nèi)容,創(chuàng)設(shè)情境,設(shè)疑引思,如以“十一”黃金周為線索,提供有關(guān)數(shù)據(jù)編應(yīng)用題,還入一步拓展,通過解決提出的問題,你有什么感受?我們應(yīng)該如何運(yùn)用數(shù)學(xué)思想方法去改善我們的生活質(zhì)量?(3)體驗(yàn)數(shù)學(xué)之美。(4)體驗(yàn)數(shù)學(xué)是一種文化。我國的《易經(jīng)》中的卦象就是用數(shù)來表示的,我國古代兵書中的“運(yùn)籌帷幄,決勝千里”中的籌就是用數(shù)碼表示的。讓學(xué)生體驗(yàn)這些增強(qiáng)了學(xué)生的民族自豪感。(5)體驗(yàn)數(shù)學(xué)是一種思想。數(shù)學(xué)是一種科學(xué)思想,這種思想反映著數(shù)學(xué)知識的共同本質(zhì)。教學(xué)中采用由淺滲入滲出深、逐級遞入、螺旋上升的方式逐步滲入滲出重要的數(shù)學(xué)思想方法,2、新課改下的數(shù)學(xué)教學(xué)的過程是學(xué)生做數(shù)學(xué),探究數(shù)學(xué)知識,發(fā)現(xiàn)數(shù)學(xué)知識的過程,自主建構(gòu)知識體系的過程。在數(shù)學(xué)教學(xué)過程中,學(xué)生在老師的引導(dǎo)下,入行自主的學(xué)習(xí)探究,發(fā)現(xiàn)問題,解決問題,反思問題,與同學(xué)和老師合作交流,討論,共同發(fā)現(xiàn)新的知識。教師鼓勵每個學(xué)生動手、動口、動腦,參與數(shù)學(xué)的學(xué)習(xí)過程教學(xué)“以人為本”把主動權(quán)交給學(xué)生,使學(xué)生能夠積極、有效地參與教學(xué)活動,主動地獲取知識,最終達(dá)到樂于探究、勤于動手。

3、新課改下的數(shù)學(xué)教學(xué)的過程是教師與學(xué)生、學(xué)生與學(xué)生之間交往互動,感情交流的過程。教學(xué)過程中教師的教與學(xué)生的學(xué)的統(tǒng)一實(shí)質(zhì)就是交往互動,老師教實(shí)質(zhì)上是幫助學(xué)生建構(gòu)知識體系和能力體系,學(xué)生學(xué)實(shí)質(zhì)上是學(xué)生獨(dú)立自主的建構(gòu)自己的知識系統(tǒng)和發(fā)展自己的潛能。在學(xué)生學(xué)習(xí)數(shù)學(xué)問題時,小組合作學(xué)習(xí)是個很好的形式,在學(xué)生充分參與下,對數(shù)學(xué)知識的理解入行初步的統(tǒng)一,然后,把研究的結(jié)果展示給全班同學(xué)。合作學(xué)習(xí)在小范圍內(nèi)給不愛發(fā)言的學(xué)生留下了表現(xiàn)的空間--給同桌講講,同時為學(xué)生創(chuàng)設(shè)了適合交流與合作的氛圍,盡可能讓學(xué)生嘗試不同角度尋求解決問題的方法。在小組合作學(xué)習(xí)中,留給學(xué)生思考的空間,在質(zhì)疑中放手讓學(xué)生學(xué)數(shù)學(xué)。如在處理如何做出一個軸對稱圖案時,先讓學(xué)生分組討論做軸對稱的方案,然后分別合作完成,最后全班交流各自的做法,尤其要講明這種做法的道理,以及你是如何想到這樣做的。顯然不同的學(xué)生從不同的生活背景和生活閱歷出發(fā),都能做出軸對稱圖形,彼此之間的交流實(shí)現(xiàn)了他們對軸對稱圖形關(guān)鍵特性的理解和熟悉,同時學(xué)生在交流中獲得了理解,分享了成功的快樂。

二、新課改下的數(shù)學(xué)教學(xué)注意個性。

新課改非常強(qiáng)調(diào)學(xué)生的個性發(fā)展。數(shù)學(xué)教學(xué)要以人為本,數(shù)學(xué)教師要關(guān)注學(xué)生,要教書育人!關(guān)注人的核心理念就是“要一切為了學(xué)生的發(fā)展”。在教學(xué)中,教師要盡最大可能把課堂還給學(xué)生,讓課堂煥發(fā)出生命活力,引導(dǎo)學(xué)生積極參與教學(xué)的全過程,變單調(diào)乏味的被動學(xué)習(xí)為生動活潑的主動學(xué)習(xí)。如在課堂上教師時常鼓勵學(xué)生大膽地走上講臺,講他們的熟悉,讓他們與學(xué)生討論,使講臺成為他們表現(xiàn)自己的舞臺,愉悅的學(xué)習(xí)氛圍把學(xué)生帶入了樂學(xué)的大門,而且達(dá)到學(xué)習(xí)知識的最佳狀態(tài)。課堂教學(xué)一直體現(xiàn)民主教學(xué)的思想,營造了寬松、和諧、活躍的教學(xué)氛圍,師生互動、平等參與,使學(xué)生進(jìn)滲入滲出求知若渴的意境。少一些直敘,多一些設(shè)問,少一些“是什么”,多一些“為什么”,使學(xué)生真正成為學(xué)習(xí)的主人,最大限度地發(fā)揮每個學(xué)生的潛能,在認(rèn)知和情感兩個領(lǐng)域的結(jié)合上,促入學(xué)生全面發(fā)展,使學(xué)生愿學(xué)、愛學(xué)、樂學(xué)。

教學(xué)隨筆:

新課改下的數(shù)學(xué)教學(xué)

一、新課改下的數(shù)學(xué)教學(xué)注重創(chuàng)新

創(chuàng)新是一個民族發(fā)展的必要條件,沒有創(chuàng)新,一個民族就要衰亡。課堂教學(xué)是學(xué)校教育的主渠道、主戰(zhàn)場,如何在課堂教學(xué)中落實(shí)創(chuàng)新教育的目標(biāo),即如何在創(chuàng)新教育目標(biāo)下有效推入課堂教學(xué)改革呢?

1、更新教育看念,轉(zhuǎn)變教學(xué)思想。創(chuàng)新精神的培養(yǎng)是與社會變革對人才的要求相適應(yīng)的。因此要培養(yǎng)學(xué)生創(chuàng)新意識和創(chuàng)新能力,當(dāng)務(wù)之急是教師必須具有創(chuàng)新意識和創(chuàng)新能力。要敢于沖破傳統(tǒng)教學(xué)看念的束縛,大力改革教學(xué)方法,把學(xué)生真正當(dāng)作學(xué)習(xí)的主體,鼓勵學(xué)生大膽質(zhì)疑,敢于向老師“發(fā)難”,讓學(xué)生積極參與到課堂教學(xué)的全過程中,師生之間建立一種平等、信任、理解、尊重的和諧關(guān)系,讓學(xué)生得到充分表達(dá)自己思想感情的機(jī)會,從而達(dá)到教學(xué)相長的目的。

2、優(yōu)化導(dǎo)學(xué)組合,實(shí)施素質(zhì)教育。優(yōu)化導(dǎo)學(xué)組合,就是要正確發(fā)揮教師的主導(dǎo)作用,堅定地實(shí)施主體性數(shù)學(xué),真正把學(xué)生觀作是建構(gòu)數(shù)學(xué)看念的生動活潑的發(fā)現(xiàn)者和探索者;也就是說教師要時刻關(guān)注學(xué)生知識的臨界點(diǎn),充分把握學(xué)生的學(xué)習(xí)興奮點(diǎn),采用“跳一跳,摘果子”的方法,把“導(dǎo)”著眼于指向,把“學(xué)”注意于自學(xué)、自悟,打破傳統(tǒng)的“你教我學(xué)”,“教一步,學(xué)一步,練一步,考一步”那種枯燥乏味的、壓制學(xué)生思維發(fā)展和創(chuàng)造能力的教學(xué)模式。

二、新課改下的數(shù)學(xué)教學(xué)注意思想品質(zhì)教育

由于數(shù)學(xué)是人類實(shí)踐活動的結(jié)晶,是無數(shù)勞動者所創(chuàng)造的精神財富,所以在學(xué)生接受科學(xué)家特別是我國科學(xué)家在數(shù)學(xué)領(lǐng)域的杰出成就的過程中,吸取其科學(xué)獻(xiàn)身精神,增強(qiáng)愛國主義和民族氣節(jié)。要利用數(shù)字美、圖形美、符號美、科學(xué)美、奇異美以培養(yǎng)學(xué)生的心靈美、行為美、語言美、科學(xué)美。

三、在數(shù)學(xué)教學(xué)中培養(yǎng)學(xué)生的新觀念、新思想

作為數(shù)學(xué)教師在教學(xué)中不僅要教學(xué)生學(xué)會,更應(yīng)教學(xué)生會學(xué)。“授之以魚,不如授之以漁”,方法的掌握,思想的形成,才能使學(xué)生受益終生。

四、在數(shù)學(xué)教學(xué)中培養(yǎng)學(xué)生經(jīng)營和開拓市場的能力

一切數(shù)學(xué)知識都來源于現(xiàn)實(shí)生活中,同時,現(xiàn)實(shí)生活中許多問題都需要用數(shù)學(xué)知識、數(shù)學(xué)思想的方法去思考解決。比如,漁場主怎樣經(jīng)營既能獲得最高產(chǎn)量,又能實(shí)現(xiàn)可持續(xù)發(fā)展;一件好的產(chǎn)品設(shè)計怎樣營銷方案才能快速得到市場認(rèn)可,產(chǎn)生良好的經(jīng)濟(jì)效益。為此數(shù)學(xué)教學(xué)中應(yīng)有意識地培養(yǎng)學(xué)生經(jīng)營和開拓市場的能力。善于經(jīng)營和開拓市場的能力在數(shù)學(xué)教學(xué)中主要體現(xiàn)為對一個數(shù)學(xué)問題或?qū)嶋H問題如何設(shè)計出最佳的解決方案或模型。

總之,結(jié)合《基礎(chǔ)教育課程改革指導(dǎo)綱要》的學(xué)習(xí),在平時的數(shù)學(xué)教學(xué)中,及時審視自己的教學(xué),調(diào)控學(xué)生的情緒,引導(dǎo)學(xué)生積極參與到課堂教學(xué)中,給學(xué)生創(chuàng)造一個民主和諧的發(fā)展空間,師生一起攜手探究數(shù)學(xué)知識,以改變課堂教學(xué)為己任,做出無愧于時代的貢獻(xiàn)。

課堂練習(xí):

一年級奧數(shù)題

1、小明今年10歲,媽媽今年38歲,當(dāng)小明15歲時,媽媽(43)歲。

2、小明和小紅都集郵票。小明給了小紅6枚后,兩人的郵票同樣多,原來小明的郵票比小紅的多(12)枚。

3、龍龍用4元買一個菠蘿,用買一個菠蘿的錢可以買1千克香蕉。買1千克香蕉的錢可以買4個梨。每個梨(1)元。

4、強(qiáng)強(qiáng)和小華打了2小時的乒乓球,每人打了(2)小時。

數(shù)據(jù)庫期末選擇題篇五

三、填空題(每空1分,共20分)1.數(shù)據(jù)庫系統(tǒng)具有數(shù)據(jù)的___外模式____、__模式_____和內(nèi)模式三級模式結(jié)構(gòu)。 server 2000局部變量名字必須以____@、_____開頭,而全局變量名字必須以______@@___開頭。

3.語句 select ascii('d'), char(67)的執(zhí)行結(jié)果是:___68______和__c_______。68、c“,2 4.語句 select lower('beautiful'), rtrim('我心中的太陽 ')的執(zhí)行結(jié)果是: _beautiful____和___我心中的太陽_____。

5.選擇運(yùn)算是根據(jù)某些條件對關(guān)系做_ 水平__分割;投影是根據(jù)某些條件對關(guān)系做____垂直”__分割?!?6.關(guān)系運(yùn)算主要有___選擇___、__投影__和連接。

7.完整性約束包括__實(shí)體__完整性、_域____性、參照完整性和用戶定義完整性。8.在sql server 2000中,數(shù)據(jù)庫對象包括__表__、___視圖__、觸發(fā)器、過程、列、索引、約束、規(guī)則、默認(rèn)和用戶自定義的數(shù)據(jù)類型等。

9.語句 select day('2004-4-6'), len('我們快放假了.')的執(zhí)行結(jié)果是:___6______和____7____。

10.語句 select round(13.4321,2), round(13.4567,3)的執(zhí)行結(jié)果是:__13.4300_______和____13.4570_____。

11.完整性約束包括____域___完整性、__實(shí)體____完整性、參照完整性和用戶定義完整性。

12.t-sql 語言中,有__算術(shù)__運(yùn)算、字符串連接運(yùn)算、比較運(yùn)算和__邏輯__運(yùn)算。

13.語句 select upper('beautiful'), ltrim(' 我心中的太陽')的執(zhí)行結(jié)果是: ______ beautiful __和__我心中的太陽___。

14.索引的類型主要有______聚集索引_______和____非聚集索引______。15.在sql server 2000中,數(shù)據(jù)庫對象包括數(shù)據(jù)表、_視圖___、__存儲過程_、觸發(fā)器、規(guī)則、默認(rèn)和用戶自定義的數(shù)據(jù)類型等。

16.數(shù)據(jù)庫的數(shù)據(jù)模型包含__數(shù)據(jù)結(jié)構(gòu)__、_數(shù)據(jù)操作_和__完整性約束_三個要素。

17.___ 域完整性___是指保證指定列的數(shù)據(jù)具有正確的數(shù)據(jù)類型、格式和有效的數(shù)據(jù)范圍。

18.___ 觸發(fā)器____是特殊類型的存儲過程,它能在任何試圖改變表中由觸發(fā)器保護(hù)的數(shù)據(jù)時執(zhí)行。

19.事務(wù)(transaction)可以看成是由對數(shù)據(jù)庫的若干操作組成的一個單元,這些操作要么__都完成__,要么__都取消___(如果在操作執(zhí)行過程中不能完成其中任一操作)。

server 2000 采用的身份驗(yàn)證模式有_ windows身份驗(yàn)證__模式和_混合_模式。

21.用戶訪問sql server數(shù)據(jù)庫時,經(jīng)過了兩個_身份__驗(yàn)證和__權(quán)限__驗(yàn)證安全驗(yàn)證階段。

2 server 2000提供的數(shù)據(jù)庫備份方法有____完整___數(shù)據(jù)庫備份和_差異__數(shù)據(jù)庫備份、___事務(wù)日志____備份和_____文件和文件組_______備份。 server代理主要由__作業(yè)____、___操作員___和警報來組成。 server復(fù)制把服務(wù)器分為__發(fā)布____服務(wù)器、____分發(fā)__服務(wù)器和訂閱服務(wù)器三種。

語言主要由____數(shù)據(jù)定義語言(ddl)______、___數(shù)據(jù)操作語言(dml)____和數(shù)據(jù)控制語言(dcl)組成。

26.語句 select(7+3)*4-17/(4-(8-6))+99%4 的執(zhí)行結(jié)果是____35______ 27.____ 視圖____是由一個或多個數(shù)據(jù)表(基本表)或視圖導(dǎo)出的虛擬表。28._實(shí)體完整性_用于保證數(shù)據(jù)庫中數(shù)據(jù)表的每一個特定實(shí)體的記錄都是惟一的。

29.索引的類型有_____聚集索引_______和非聚集索引。

30.___ 存儲過程______是已經(jīng)存儲在sql server服務(wù)器中的一組預(yù)編譯過的transact-sql語句。

31.觸發(fā)器定義在一個表中,當(dāng)在表中執(zhí)行___ insert _____、____ update ____或delete操作時被觸發(fā)自動執(zhí)行。

32.事務(wù)的acid屬性是指___原子__性、__一致__性、__獨(dú)立__性和___持久__性。

33.數(shù)據(jù)庫管理系統(tǒng)的安全性通常包括兩個方面,一是指數(shù)據(jù)__訪問_____的安全性,二是指數(shù)據(jù)___運(yùn)行____的安全性。

server代理主要由___作業(yè)_____、操作員和____警報____來組成。 server復(fù)制有快照復(fù)制、____事務(wù)__復(fù)制和___合并_____復(fù)制3種類型。36.從最終用戶角度來看,數(shù)據(jù)庫應(yīng)用系統(tǒng)分為單用戶結(jié)構(gòu)、主從式結(jié)構(gòu)、分布式結(jié)構(gòu)、____客戶服務(wù)器___結(jié)構(gòu)和_____瀏覽器服務(wù)器____結(jié)構(gòu)。

37.用select進(jìn)行模糊查詢時,可以使用like或not like匹配符,但要在條件值中使用_ %_或__等通配符來配合查詢。并且,模糊查詢只能針__字符_類型字段查詢。%、_、字符”,3 server中數(shù)據(jù)操作語句包括___ insert _____、__ update ______、___ delete _____和select語句。

39.游標(biāo)的操作步驟包括聲明、__打開___、處理(提取、刪除或修改)、__關(guān)閉____和___釋放___游標(biāo)。

server 2000以____#___開頭的標(biāo)識符,表示臨時表或過程; join 運(yùn)算是____左連接______。

dateadd(day, 10, '2005-12-22')結(jié)果是____2006-01-01____。()函數(shù)的是______四舍五入___函數(shù)。

server復(fù)制把服務(wù)器分為___發(fā)布___服務(wù)器、___分發(fā)___服務(wù)器和___訂閱___服務(wù)器三種。

sql server提供多個圖形化工具,其中用來啟動、停止和暫停sql serve的圖形化工具稱為_____服務(wù)管理器_____。

46.____ 存儲過程_____是已經(jīng)存儲在sql server服務(wù)器中的一組預(yù)編譯過的transact-sql語句。

子句與where子句很相似,其區(qū)別在于:

where子句作用的對象是__表和視圖__,having子句作用的對象是__分組____。48.實(shí)體—聯(lián)系模型的三要素是_____實(shí)體_____、___屬性____和實(shí)體之間的聯(lián)系。

server的數(shù)據(jù)類型可分為_系統(tǒng)___數(shù)據(jù)類型和__用戶自定義__數(shù)據(jù)類型。

server聚合函數(shù)有最大、最小、求和、平均和計數(shù)等,它們分別是max、_______、_______、avg和count。min、sum",2 連續(xù)發(fā)表了論文,提出了關(guān)系模型,奠定了__關(guān)系數(shù)據(jù)庫_____管理系統(tǒng)的基礎(chǔ)。

5 server的數(shù)據(jù)庫文件的擴(kuò)展名為_ mdf_、事務(wù)日志文件的擴(kuò)展名為_ ldf_。

53.建立和使用____約束____的目的是為了保證數(shù)據(jù)的完整性。

命令是對數(shù)據(jù)庫進(jìn)行_ ___備份______, restore命令是對數(shù)據(jù)庫進(jìn)行______恢復(fù)____。

server 2000的安全性分為兩類_數(shù)據(jù)訪問_安全性和__數(shù)據(jù)運(yùn)行_安全性。

56.關(guān)系模型用___二維表_____結(jié)構(gòu)表示實(shí)體集,用鍵來表示實(shí)體間聯(lián)系。3.數(shù)據(jù)庫是被長期存放在計算機(jī)內(nèi)的、有組織的、統(tǒng)一管理的相關(guān)___數(shù)據(jù)___的集合。 server數(shù)據(jù)庫的體系結(jié)構(gòu)也是三級模式結(jié)構(gòu),在sql server中,___外模式___對應(yīng)于視圖、__模式____對應(yīng)于基本表、__內(nèi)模式____對應(yīng)于存儲文件。58.___ 關(guān)系完整性_____是為保證數(shù)據(jù)庫中數(shù)據(jù)的正確性和相容性,對關(guān)系模型提出的某種約束條件或規(guī)則。

59.視圖是由一個或多個___數(shù)據(jù)表___或視圖導(dǎo)出的___虛擬表___或查詢表。60.__ 角色___是指服務(wù)器管理、數(shù)據(jù)庫管理和數(shù)據(jù)庫訪問特定的權(quán)限的集合。61.當(dāng)___表___被刪除時與它關(guān)聯(lián)的觸發(fā)器也一同被刪除。

【本文地址:http://mlvmservice.com/zuowen/1071674.html】

全文閱讀已結(jié)束,如果需要下載本文請點(diǎn)擊

下載此文檔