人的記憶力會隨著歲月的流逝而衰退,寫作可以彌補記憶的不足,將曾經(jīng)的人生經(jīng)歷和感悟記錄下來,也便于保存一份美好的回憶。范文怎么寫才能發(fā)揮它最大的作用呢?下面是小編為大家收集的優(yōu)秀范文,供大家參考借鑒,希望可以幫助到有需要的朋友。
數(shù)據(jù)庫期末選擇題篇一
1.學校中有若干系,每個系有若干班級和教研室,每個教研室有若干教員,其中有的教授和副教授每人各帶若干研究生;每個班有若干學生,每個學生選修若干課程,每門課可由若干學生選修。請用 e 一 r 圖畫出此學校的概念模型。
2.某學生宿舍管理系統(tǒng),涉及的部分信息如下:(1)學生:學號,姓名,性別,專業(yè),班級。(2)寢室:寢室號,房間電話。
(3)管理員:員工號,姓名,聯(lián)系電話。
其中:每個寢室可同時住宿多名學生,每名學生只分配一個寢室;每個寢室指定其中一名學生擔當寢室長;每個管理員同時管理多個寢室,但每個寢室只有一名管理員。(1)建立一個反映上述局部應用的er模型,要求標注聯(lián)系類型。
(2)根據(jù)轉換規(guī)則,將er模型轉換為關系模型。要求標注每個關系模型的主鍵和外鍵(如果存在)。(1)
(2)
? 學生(學號,姓名,性別,專業(yè),班級)主鍵:學號
? 住宿(寢室號,學號)主鍵:學號
寢室號是外鍵;學號也是外鍵
? 學生管理寢室(寢室號,寢室長學號)主鍵:寢室號或者寢室長學號
寢室號是外鍵;寢室長學號也是外鍵
? 寢室(寢室號,房間電話)主鍵:寢室號
? 管理(寢室號,員工號)主鍵:寢室號
寢室號是外鍵;員工號是外鍵
? 管理員(員工號,姓名,聯(lián)系電話)主鍵:員工號
合并后的答案:
? 學生(學號,姓名,性別,專業(yè),班級,寢室號)主鍵:學號 寢室號是外鍵
? 寢室(寢室號,房間電話,寢室長學號,員工號)主鍵:寢室號或者寢室長學號 員工號是外鍵;寢室長學號是外鍵
? 管理員(員工號,姓名,聯(lián)系電話)主鍵:員工號
3設某工廠數(shù)據(jù)庫中有四個實體集。
一是“倉庫”實體集,屬性有倉庫號、倉庫面積等; 二是“零件”實體集,屬性有零件號、零件名、規(guī)格、單價等; 三是“供應商”實體集,屬性有供應商號、供應商名、地址等; 四是“保管員”實體集,屬性有職工號、姓名等。
設倉庫與零件之間有“存放”聯(lián)系,每個倉庫可存放多種零件,每種零件可存放于若干倉庫中,每個倉庫存放每種零件要記錄庫存量;供應商與零件之間有“供應”聯(lián)系,一個供應商可供應多種零件,每種零件也可由多個供應商提供,每個供應商每提供一種零件要記錄供應量;倉庫與保管員之間有“工作”聯(lián)系,一個倉庫可以有多名保管員,但一名保管員只能在一個倉庫工作。
(1)試為該工廠的數(shù)據(jù)庫設計一個er模型,要求標注聯(lián)系類型。
(2)根據(jù)轉換規(guī)則,將er模型轉換成關系模型,要求標明每個關系模式的主鍵和外鍵。
(2)
? 倉庫(倉庫號,倉庫面積)主鍵:倉庫號
? 存放(倉庫號,零件號,庫存量)主鍵:倉庫號,零件號
倉庫號是外鍵,零件好也是外鍵。
? 零件(零件號,零件名,規(guī)格,單價)主鍵:零件號
? 供應(零件號,供應商號,供應量)主鍵:零件號,供應商號
零件號是外鍵,供應商號是外鍵
? 供應商(供應商號,供應商名,地址)主鍵:供應商號
? 工作(職工號,倉庫號)主鍵:職工號
職工號是外鍵,倉庫號是外鍵
? 保管員(職工號、姓名)主鍵:職工號
合并后的答案:
? 倉庫(倉庫號,倉庫面積)主鍵:倉庫號
? 存放(倉庫號,零件號,庫存量)主鍵:倉庫號,零件號
倉庫號是外鍵,零件好也是外鍵。
? 零件(零件號,零件名,規(guī)格,單價)主鍵:零件號
? 供應(零件號,供應商號,供應量)主鍵:零件號,供應商號
零件號是外鍵,供應商號是外鍵
? 供應商(供應商號,供應商名,地址)主鍵:供應商號
? 保管員(職工號,姓名,倉庫號)主鍵:職工號 倉庫號是外鍵
二. 函數(shù)依賴識別以及規(guī)范到3nf 1.設某人才市場數(shù)據(jù)庫中有一個記錄應聘人員信息的關系模式: r(人員編號,姓名,性別,職位編號,職位名稱,考試成績)
如果規(guī)定:每人可應聘多個職位,每個職位可由多人應聘且必須參加相關考試,考試成績由人員編號和職位編號確定。
姓名可以重復。職位名稱不可重復。
(1)根據(jù)上述規(guī)定,寫出模式r的基本fd和關鍵碼。(2)r最高屬于第幾范式。(3)將r規(guī)范到3nf。答案:
(1)根據(jù)上述規(guī)定,寫出模式r的基本fd和關鍵碼。人員編號→姓名 人員編號→性別 職位編號→職位名稱 職位名稱→職位編號
(人員編號,職位編號)→考試成績 候選碼:(人員編號,職位編號)(2)r最高屬于第幾范式。
r最高屬于第一范式。因為非主屬性姓名,性別部分依賴于碼,不屬于第二范式。(3)將r規(guī)范到3nf。
人員(人員編號,姓名,性別)職位(職位編號,職位名稱)
應聘(人員編號,職位編號,考試成績)2.設有一個反映教師參加科研項目的關系模式:
r(教師號,教師名稱,項目名稱,科研工作量,項目類別,項目金額,負責人)
如果規(guī)定:每個項目可有多人參加,每名教師每參加一個項目有一個科研工作量;每個項目只屬于一種類別,只有一名負責人。教師名稱可以重復。(1)根據(jù)上述規(guī)定,寫出模式r的基本fd和關鍵碼。(2)說明r不是2nf的理由。(3)將r規(guī)范到3nf。答案:(1)根據(jù)上述規(guī)定,寫出模式r的基本fd和關鍵碼。教師號→教師名稱 項目名稱→項目類別 項目名稱→項目金額 項目名稱→負責人
(教師號,項目名稱)→科研工作量 主鍵:(教師號,項目名稱)(2)說明r不是2nf的理由。
非主屬性教師名稱,項目類別,項目金額,負責人部分依賴碼。(3)將r規(guī)范到3nf。教師(教師號,教師名稱)
項目(項目名稱,項目類別,項目金額,負責人)項目開發(fā)(教師號,項目名稱,科研工作量)3.設有一個記錄學生畢業(yè)設計情況的關系模式:
r(學號,學生名,班級,教師號,教師名,職稱,畢業(yè)設計題目,成績)
如果規(guī)定:每名學生只有一位畢業(yè)設計指導教師,每位教師可指導多名學生;學生的畢業(yè)設計題目可能重復。
(1)根據(jù)上述規(guī)定,寫出模式r的基本fd和關鍵碼。(2)r最高屬于幾范式。(3)將r規(guī)范到3nf。
三. sql語句
1.零件、供應商、采購 ? 設有以下關系模式
part(pno, pname, pmodel)零件號、零件名稱、零件型號
buy(pno, sno, bdate, bprice, bnum)零件號、供應商號、采購日期、采購價格、采購數(shù)量
supplier(sno, sname, saddress)供應商號,供應商名稱,供應商地址
? 要求寫出符合下列題目要求的sql語句
(1)查詢供應商名稱為?創(chuàng)新零件?的所有零件購買記錄(零件號、零件名稱、零件型號、供應商號、供應商名稱、采購日期、采購價格、采購數(shù)量)。
查詢供應商名稱為?創(chuà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)查詢各供應商2011的零件供應總數(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)查詢供應商?創(chuàng)新零件?2011的零件供應總數(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)新零件?供應商
零件采購價格低于?創(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)更新供應商?創(chuàng)新零件?的地址為?杭州市? update supplier set ss ='杭州市' where = '創(chuàng)新零件';(12)生成一個視圖annualbuy顯示2011所有零件購買記錄,按照供應商號排序,一個供應商內按照零件號排序 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權利,對購買表的采購數(shù)量字段有更新權限。grant select on part, update(bnum)on buy to 張小明;(14)收回用戶張小明對零件表有select權利。revoke select on part from 張小明;2.試用sql語言查詢項目金額在20000元~30000元(包括20000元和30000元)之間并且項目名稱以?銀行?開頭的項目名稱,項目類別,項目金額。select pname,pcatogery,amount from project where amount between 20000 and 30000 and pname like ‘銀行%’;
3.試用sql語言查詢參加項目名稱為“網(wǎng)上書城”的教師姓名。
select tname from teacher, delivery,project where = and = and =‘網(wǎng)上書城’;
數(shù)據(jù)庫期末選擇題篇二
15計科本《數(shù)據(jù)庫系統(tǒng)原理與應用》期末復習綱要
一、題型與分值分布1、2、3、4、單項選擇20題,計20分 填空題,每空1分,計10分 簡答題4小題,計20分 綜合應用題2題,計50分
(1)概念模型(er圖),轉化成相關的關系模型并寫出主碼與外碼,并建立相關的關系表(20分)(2)t—sql語名的作用,6小題,計30分
二、具體知識要點及課后習題
具體知識點: 第一章
1、數(shù)據(jù)庫中的數(shù)據(jù)具有哪些基本特點。(永久存儲、有組織、可共享)
2、數(shù)據(jù)庫系統(tǒng)具有哪些基本特點。(數(shù)據(jù)共享、數(shù)據(jù)完整性、數(shù)據(jù)獨立性及較小的冗余度)
3、4、數(shù)據(jù)庫系統(tǒng)與數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)之間的關系? 數(shù)據(jù)庫中的數(shù)據(jù)獨立性分為物理獨立性和邏輯獨立性,分別指的是什么?p11-125、6、模式
7、數(shù)據(jù)庫管理系統(tǒng)的功能結構為p16 數(shù)據(jù)庫系統(tǒng)的三級數(shù)據(jù)模式結構:邏輯模式、外模式、內數(shù)據(jù)庫系統(tǒng)的二級映象技術是指外模式與模式之間的映象,它不僅在三級數(shù)據(jù)模式之間建立了聯(lián)系,同時也保證了數(shù)據(jù)的獨立性。
8、數(shù)據(jù)的正確、有效和相容稱之為數(shù)據(jù)的完整性 第二章
1、信息的三種世界是指現(xiàn)實世界、信息世界和計算機世界(數(shù)據(jù)世界)。
2、數(shù)據(jù)庫系統(tǒng)的核心是數(shù)據(jù)模型,、概念模型是現(xiàn)實世界的第一層抽象,這一類模型中最著名的模型是實體-關系模型。
3、數(shù)據(jù)模型的三要素是:數(shù)據(jù)結構、數(shù)據(jù)操作和完整性約束條件。如“實體完整性”約束規(guī)則,要求關系中的“主碼”不允許取空值
4、數(shù)據(jù)庫系統(tǒng)中常見的數(shù)據(jù)模型有:層次模型、網(wǎng)狀模型和關系模型
5、概念模型的特點是:對現(xiàn)實世界的第一層抽象;與軟、硬件無關;從用戶觀點對數(shù)據(jù)建模。邏輯模型的特點是:對現(xiàn)實世界的第二層抽象;與硬件無關,與軟件有關;從計算機實現(xiàn)觀點對數(shù)據(jù)建模。第三章
1、數(shù)據(jù)庫的概念結構設計(e-r圖)p55-58: e-r模型是對現(xiàn)實世界的一種抽象,e-r圖的主要成分是實體、聯(lián)系和屬性;各分e-r圖之間的沖突主要有屬性沖突、命名沖突和結構沖突三類。
2、概念模型向關系模型的轉換(邏輯結構設計)p62
3、概念數(shù)據(jù)模型不依賴于任何數(shù)據(jù)庫管理系統(tǒng)。實體-關系模型是概念模型中最著名的一種。第四章
1、數(shù)據(jù)庫中關系的類型有基本表、視圖表和查詢表三種,它們各有何不同p91
2、關系中的基本名詞:元組、屬性、候選碼和主碼、全碼、主屬性和非主屬性p91 一個關系只有一個主碼
3、數(shù)據(jù)庫中基本關系的性質p92
4、關系的完整性 p95
5、關系操作語言的種類:關系代數(shù)語言、關系演算語言、基于映象的語言(如sql是一種映象,是非過程化的)。sql包含數(shù)據(jù)定義、數(shù)據(jù)操作和數(shù)據(jù)控制三種功能
5、關系模型的完整性約束有三類:實體完整性、參照完整性和用戶定義的完整性 p96 主要掌握主碼、外碼等
6、專門的關系運算:選擇、投影、連接
7、關系代數(shù)運算中,傳統(tǒng)的集合運算有笛卡爾積、并、交和差
8、數(shù)據(jù)庫數(shù)據(jù)具有永久存儲、有組織、可共享三個基本特點。重點掌握4.2.3用關系代數(shù)表示檢索的實例 第五章
1、sql語句分類,按功能分為數(shù)據(jù)定義語句、數(shù)據(jù)操縱語句、數(shù)據(jù)控制語句
2、sql的數(shù)據(jù)定義包括基本表、索引、視圖和數(shù)據(jù)庫(重點掌握視圖的建立和用sql語句寫出查詢程序),如在關系數(shù)據(jù)庫系統(tǒng)中,為了簡化用戶的查詢操作,而又不增加數(shù)據(jù)的存儲空間,常用的方法是創(chuàng)建視圖
學會同時用sql語言和關系代數(shù)實現(xiàn)下列相關操作
p119 例5-
1、5-
2、5-3
3、sql的數(shù)據(jù)更新語句有插入(insert)、修改(update)與刪除(delte)三種
4、數(shù)據(jù)控制是系統(tǒng)通過對數(shù)據(jù)用戶的使用權限加以限制而保證數(shù)據(jù)安全的重要措施。sql的數(shù)據(jù)控制語句包括授權(grant)、收權(revoke)和拒絕訪問(deny)三種。用戶權限包含數(shù)據(jù)對象和操作類型兩個要素;而數(shù)據(jù)庫角色是被命名的一組與數(shù)據(jù)庫操作相關的權限,角色是權限的集合
5、利用游標進行查詢需要4種語句,分別是說明游標、打開游標、推進游標、關閉游標
第六章
1、數(shù)據(jù)庫對象包含哪些?p156 sql server2008的數(shù)據(jù)庫對象有很多,例如:表、視圖、角色、索引(或存儲過程、默認值、數(shù)據(jù)類型、觸發(fā)器、約束)
2、數(shù)據(jù)庫類別p157
3、數(shù)據(jù)庫對象是數(shù)據(jù)庫的邏輯文件。sql server2008的數(shù)據(jù)庫對象包括表、視圖、角色、索引、數(shù)據(jù)類型、默認值、存儲過程、觸發(fā)器和約束等。了解各自的含義。
4、sql server2008的數(shù)據(jù)庫中有3種物理文件:基本數(shù)據(jù)文件、輔助數(shù)據(jù)和日志文件
5、掌握視圖的創(chuàng)建和維護方法。視圖是根據(jù)子模式建立的虛擬表。視圖的有哪些優(yōu)點呢?
如:視圖能夠簡化用戶的操作;視圖使用戶能以多種角度看待同一數(shù)據(jù);視圖對重構數(shù)據(jù)庫提供了一定程度的邏輯獨立性;視圖能夠對機密數(shù)據(jù)提供安全保護 p247
6、掌握存儲過程和觸發(fā)器的創(chuàng)建和維護.p179
7、trantsact-sql語言:重點放在數(shù)據(jù)操縱語言p192 第七章
1、關系模式應滿足的基本要求p214
2、已知關系模式r及其上的相關函數(shù)依賴集合,會求出該關系模式對應的候選碼。
例1:已知關系模式r(a,b,c,d,e)及其上的函數(shù)依賴集合f={a→d,b→c,e→a },該關系模式 的候選碼是(be)
例2:學生表(id,name,sex,age,depart_id,depart_name),存在的函數(shù)依賴是id→{name,sex,age,depart_id}; dept_id→dept_name,其滿足2nf
3、重點掌握課本習題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使用約束、默認、規(guī)則和觸發(fā)器4種方法定義和實施數(shù)據(jù)庫完整性功能
4、數(shù)據(jù)庫并發(fā)控制。數(shù)據(jù)庫的并發(fā)控制就是控制數(shù)據(jù)庫,防止多用戶并發(fā)使用數(shù)據(jù)庫時造成數(shù)據(jù)錯誤和程序運行錯誤,保證數(shù)據(jù)的完整性。解決事務并發(fā)操作帶來的數(shù)據(jù)不一致性,常用封鎖機制。
5、事務的概念和特征p265 并發(fā)操作帶來的數(shù)據(jù)不一致性包括3類:丟失修改、不可重復讀和讀“臟”數(shù)據(jù)。
6、封鎖:封鎖機制作為并發(fā)控制的重要手段,利用封鎖的特性和封鎖協(xié)議,它在并發(fā)操作保證事務的隔離性,用正確的方式調度并發(fā)操作,使一個用戶事務的執(zhí)行不受其他事務的干擾,從而避免造成數(shù)據(jù)的不一致。
(1)鎖的類型:排他鎖(x鎖)和共享鎖(s鎖),它們各自的特點是什么。p268(2)封鎖協(xié)議:一級封鎖協(xié)議、二級封鎖協(xié)議(如1:事務t對要修改數(shù)據(jù)必須先加x鎖,直到事務結束才釋放x鎖;對要讀取數(shù)據(jù)必須先加s鎖;如2:若事務t對數(shù)據(jù)對象a加上x鎖,則只允許t讀取和修改a,其他任何事務都不能再對a加任何類型的鎖)、三級封鎖協(xié)議;
封鎖出現(xiàn)的問題及解決的方法。舉例說明何謂活鎖,如何解決活鎖?p270
7、數(shù)據(jù)庫恢復技術
恢復機制涉及的兩個關鍵問題是:第一,如何建立備份數(shù)據(jù);第二,如何利用這些備份數(shù)據(jù)實施數(shù)據(jù)恢復。建立備份數(shù)據(jù)最常用的技術是數(shù)據(jù)轉儲和登錄日志文件。
數(shù)據(jù)庫的備份方法通常有完整備份、差異備份、事務日志備份
8、何謂兩段鎖協(xié)議 p271
9、何謂“并發(fā)調度可串行化” p270;何謂“可串行化調度” p271
10、用戶權限是由兩個要素組成的,分別是數(shù)據(jù)對象和操作類型
11、數(shù)據(jù)庫角色是被命名的一組與數(shù)據(jù)庫操作相關的權限,角色是權限的集合。
課后習題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ù)庫原理綜合習題答案
1.1 名詞解釋
(1)db:即數(shù)據(jù)庫(database),是統(tǒng)一管理的相關數(shù)據(jù)的集合。db能為各種用戶共享,具有最小冗余度,數(shù)據(jù)間聯(lián)系密切,而又有較高的數(shù)據(jù)獨立性。
(2)dbms:即數(shù)據(jù)庫管理系統(tǒng)(database management system),是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,為用戶或應用程序提供訪問db的方法,包括db的建立、查詢、更新及各種數(shù)據(jù)控制。dbms總是基于某種數(shù)據(jù)模型,可以分為層次型、網(wǎng)狀型、關系型、面向對象型dbms。
(3)dbs:即數(shù)據(jù)庫系統(tǒng)(database system),是實現(xiàn)有組織地、動態(tài)地存儲大量關聯(lián)數(shù)據(jù),方便多用戶訪問的計算機軟件、硬件和數(shù)據(jù)資源組成的系統(tǒng),即采用了數(shù)據(jù)庫技術的計算機系統(tǒng)。
(4)1:1聯(lián)系:如果實體集e1中的每個實體最多只能和實體集e2中的一個實體有聯(lián)系,反之亦然,那么實體集e1對e2的聯(lián)系稱為“一對一聯(lián)系”,記為“1:1”。
(5)1:n聯(lián)系:如果實體集e1中每個實體與實體集e2中任意個(零個或多個)實體有聯(lián)系,而e2中每個實體至多和e1中的一個實體有聯(lián)系,那么e1對e2的聯(lián)系是“一對多聯(lián)系”,記為“1:n”。
(6)m:n聯(lián)系:如果實體集e1中每個實體與實體集e2中任意個(零個或多個)實體有聯(lián)系,反之亦然,那么e1對e2的聯(lián)系是“多對多聯(lián)系”,記為“m:n”。
(7)數(shù)據(jù)模型:模型是對現(xiàn)實世界的抽象。在數(shù)據(jù)庫技術中,表示實體類型及實體類型間聯(lián)系的模型稱為“數(shù)據(jù)模型”。它可分為兩種類型:概念數(shù)據(jù)模型和結構數(shù)據(jù)模型。
(6)概念數(shù)據(jù)模型:是獨門于計算機系統(tǒng)的模型,完全不涉及信息在系統(tǒng)中的表示,只是用來描述某個特定組織所關心的信息結構。
(9)結構數(shù)據(jù)模型:是直接面向數(shù)據(jù)庫的邏輯結構,是現(xiàn)實世界的第二層抽象。這類模型涉及到計算機系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng),所以稱為“結構數(shù)據(jù)模型”。結構數(shù)據(jù)模型應包含:數(shù)據(jù)結構、數(shù)據(jù)操作、數(shù)據(jù)完整性約束三部分。它主要有:層次、網(wǎng)狀、關系三種模型。
(10)層次模型:用樹型結構表示實體類型及實體間聯(lián)系的數(shù)據(jù)模型。
(11)網(wǎng)狀模型:用有向圖結構表示實體類型及實體間聯(lián)系的數(shù)據(jù)模型。
(12)關系模型:是目前最流行的數(shù)據(jù)庫模型。其主要特征是用二維表格結構表達實體集,用外鍵表示實體間聯(lián)系。關系模型是由若干個關系模式組成的集合。
(13)概念模式:是數(shù)據(jù)庫中全部數(shù)據(jù)的整體邏輯結構的描述。它由若干個概念記錄類型組成。概念模式不僅要描述概念記錄類型,還要描述記錄間的聯(lián)系、操作、數(shù)據(jù)的完整性、安全性等要求。
(14)外模式:是用戶與數(shù)據(jù)庫系統(tǒng)的接口,是用戶用到的那部
分數(shù)據(jù)的描述。
(15)內模式:是數(shù)據(jù)庫在物理存儲方面的描述,定義所有的內部記錄類型、索引和文件的組成方式,以及數(shù)據(jù)控制方面的細節(jié)。
(16)模式/內模式映象:這個映象存在于概念級和內部級之間,用于定義概念模式和內模式間的對應性,即概念記錄和內部記錄間的對應性。此映象一般在內模式中描述。
(17)外模式/模式映象:這人映象存在于外部級和概念級之間,用于定義外模式和概念模式間的對應性,即外部記錄和內部記錄間的對應性。此映象都是在外模式中描述。
(18)數(shù)據(jù)獨立性:在數(shù)據(jù)庫技術中,數(shù)據(jù)獨立性是指應用程序和數(shù)據(jù)之間相互獨立,不受影響。數(shù)據(jù)獨立性分成物理數(shù)據(jù)獨立性和邏輯數(shù)據(jù)獨立性兩級。
(19)物理數(shù)據(jù)獨立性:如果數(shù)據(jù)庫的內模式要進行修改,即數(shù)據(jù)庫的存儲設備和存儲方法有所變化,那么模式/內模式映象也要進行相應的修改,使概念模式盡可能保持不變。也就是對模式的修改盡量不影響概念模式。
(20)邏輯數(shù)據(jù)獨立性:如果數(shù)據(jù)庫的概念模式要進行修改(如增加記錄類型或增加數(shù)據(jù)項),那么外模式/模式映象也要進行相應的修改,使外模式盡可能保持不變。也就是對概念模式的修改盡量不影響外模式和應用程序。
(21)宿主語言:在數(shù)據(jù)庫技術中,編寫應用程序的語言仍然是一些高級程序設計語言,這些語言稱為宿主語言(host language),簡稱主語言。
(22)ddl:數(shù)據(jù)定義語言(data definition language),用于定義數(shù)據(jù)庫的三級結構,包括外模式、概念模式、內模式及其相互之間的映象,定義數(shù)據(jù)的完整性、安全控制等約束。
(23)dml:數(shù)據(jù)操縱語言(data manipulation language),由dbms提供,用于讓用戶或程序員使用,實現(xiàn)對數(shù)據(jù)庫中數(shù)據(jù)的操作。dml分成交互型dml和嵌入型dml兩類。依據(jù)語言的級別,dml又可分成過程性dml和非過程性dml兩種。
(24)交互型dml:如果dml自成系統(tǒng),可在終端上直接對數(shù)據(jù)庫進行操作,這種dml稱為交互型dml。
(25)嵌入型dml:如果dml嵌入在主語言中使用,此時主語言是經(jīng)過擴充能處理dml語句的語言,這種dml稱為嵌入型dml。
(26)過程性dml:用戶編程時,不僅需要指出“做什么”(需要什么樣的數(shù)據(jù)),還需要指出“怎么做”(怎么獲得數(shù)據(jù))。層狀、網(wǎng)狀的dml屬于過程性語言。
(27)非過程性dml:用戶編程時,只需要指出“做什么”,不需要指出“怎么做”。
notice:以上關于dml的各個概念單獨出現(xiàn)時,首先要解釋dml的含義。
(28)dd:數(shù)據(jù)字典(data dictionary),數(shù)據(jù)庫系統(tǒng)中存放三級結構定義的數(shù)據(jù)庫稱為數(shù)據(jù)字典。對數(shù)據(jù)庫的操作都要通過訪問dd才能實現(xiàn)。
(29)dd系統(tǒng):管理dd的實用程序稱為“dd系統(tǒng)”。
1.2 文件系統(tǒng)階段的數(shù)據(jù)管理有些什么缺陷?試舉例說明。
文件系統(tǒng)有三個缺陷:
(1)數(shù)據(jù)冗余性(redundancy)。由于文件之間缺乏聯(lián)系,造成每個應用程序都有對應的文件,有可能同樣的數(shù)據(jù)在多個文件中重復存儲。
(2)數(shù)據(jù)不一致性(inconsistency)。這往往是由數(shù)據(jù)冗余造成的,在進行更新操作時,稍不謹慎,就可能使同樣的數(shù)據(jù)在不同的文件中不一樣。
(3)數(shù)據(jù)聯(lián)系弱(poor data relationship)。這是由文件之間相互獨立,缺乏聯(lián)系造成的。
1.3 數(shù)據(jù)庫階段的數(shù)據(jù)管理有些什么特點?
(1)采用復雜的數(shù)據(jù)模型表示數(shù)據(jù)結構
(2)有較高的數(shù)據(jù)獨立性(數(shù)據(jù)結構分成用戶的邏輯結構、整體邏輯結構和物理結構三級)
(3)數(shù)據(jù)庫系統(tǒng)為用戶提供方便的用戶接口,可以使用查詢語言、終端命令或程序方式操作數(shù)據(jù),也可以用程序方式操作數(shù)據(jù)庫。
(4)系統(tǒng)提供了四個方面的數(shù)據(jù)控制功能:數(shù)據(jù)庫的恢復、并發(fā)控制、數(shù)據(jù)完整性和數(shù)據(jù)安全性,以保證數(shù)據(jù)庫中數(shù)據(jù)是安全的、正確的和可靠的。
(5)對數(shù)據(jù)的操作不一定以記錄為單位,還可以數(shù)據(jù)項為單位,增加了系統(tǒng)的靈活性。
1.4 你怎樣理解實體、屬性、記錄、字段這些概念的類型和值的差別?試舉例說明。
實體(entity):是指客觀存在可以相互區(qū)別的事物。實體可以是具體的對象,如:一個學生,一輛汽車等;也可以是抽象的事件,如:一次借書、一場足球賽等。
屬性(attribute):實體有很多特性,每一個特性稱為屬性。每個屬性有一個值域,其類型可以是整數(shù)型、實數(shù)型、字符串型。比如,學生(實體)有學號、姓名、年齡、性別等屬性,相應值域為字符、字符串、整數(shù)和字符串型。
字段(field):標記實體屬性的命名單位稱為字段或數(shù)據(jù)項。它是可以命名的最小信息單位,所以又稱為數(shù)據(jù)元素或初等項。字段的命名往往和屬性名相同,比如,學生有學號、姓名、年齡、性別等字段。
記錄(record):字段的有序集合稱為記錄。一般用一個記錄描述一個實體,所以記錄又可以定義為能完整地描述一個實體的字段集。如:一個學生記錄,由有序的字段集(學號、姓名、年齡、性別等)組成。
1.5 邏輯記錄與物理記錄,邏輯文件與物理文件有些什么聯(lián)系和區(qū)別?
聯(lián)系:
(1)邏輯記錄與物理記錄都是記錄,是字段的有序集合;
(2)邏輯文件與物理文件都是文件,是同一類記錄的匯集。
區(qū)別:
(1)邏輯記錄與邏輯文件是邏輯數(shù)據(jù)描述,物理記錄與物理文件是物理數(shù)據(jù)描述。
(2)物理數(shù)據(jù)描述是指數(shù)據(jù)在存儲設備上的存儲方式,物理記錄、物理文件(還有物理聯(lián)系、物理結構等術語),都是用來描述實際存儲設備上的數(shù)據(jù)。
(3)邏輯數(shù)據(jù)描述是指程序員或用戶用以操作的數(shù)據(jù)形式,是抽象的概念化數(shù)據(jù)。邏輯記錄、邏輯文件(還有邏輯聯(lián)系、邏輯結構等術語),都是用戶觀點的數(shù)據(jù)描述。
1.6 為某百貨公司設計一個er模型。
百 貨管轄若干個連鎖商店,每家商店經(jīng)營若干商品,每家商店有若干職工,但每個職工只能服務于一家商店。實體類型“商店”的屬性有:商店編號,店名,店址,店經(jīng)理。實體類型“商品”的屬性有:商品編號,商品名,單價,產(chǎn)地。實體類型“職工”的屬性有:職工編號,職工名,性別,工資。在聯(lián)系中應反映出職工參加某商店工作的開始時間,商店銷售商品的月銷售量。
試畫出反映商店、商品、職工實體類型及聯(lián)系類型的er圖,并將其轉換成關系模式集。
實體:商店(商店編號,店名,店址,店經(jīng)理)
商品(商品編號,商品名,單價,產(chǎn)地)
職工(職工編號,職工名,性別,工資)
聯(lián)系:sc(商店—商品之間1:n的聯(lián)系,聯(lián)系屬性為“職工參加商店工作的開始時間”。
se(商店—職工之間1:n的聯(lián)系),聯(lián)系屬性為“月銷售量”。
關系模式集:商店模式(商店編號,店名,店址,店經(jīng)理)
商品模式(商品編號,商品名,單價,產(chǎn)地,商店編號,月銷售量)
職工模式(職工編號,職工名,性別,工資,商店編號,開始時間)
1.7 試述er模型、層次模型、網(wǎng)狀模型、關系模型和面向對象模型的主要特點。
er模型的主要特點:
(1)優(yōu)點:接近于人的思維,容易理解;與計算機無關,用戶容易接受。
(2)缺點:只能說明實體間語義的聯(lián)系,不能進一步說明詳細的數(shù)據(jù)結構。
層次模型的特點:
(1)優(yōu)點:記錄之間的聯(lián)系通過指針實現(xiàn),查詢效率較高。
(2)缺點:只能表示1:n聯(lián)系,實現(xiàn)m:n結構較復雜;由于層次順序的嚴格和復雜,引起數(shù)據(jù)的查詢和更新操作也很復雜。
網(wǎng)狀模型的特點:
(1)優(yōu)點:記錄之間聯(lián)系通過指針實現(xiàn),m:n聯(lián)系也容易實現(xiàn)(每個m:n聯(lián)系可拆成兩個1:n聯(lián)系),查詢效率較高。
(2)缺點:編寫應用程序比較復雜,程序員必須熟悉數(shù)據(jù)庫的邏輯結構。
關系模型的特點:
用關鍵碼而不是用指針導航數(shù)據(jù),表格簡單,用戶易懂,編程時并不涉及存儲結構、訪問技術等細節(jié)。
1.8 試述概念模式在數(shù)據(jù)庫結構中的重要地位。
概念模式是數(shù)據(jù)庫中
全部數(shù)據(jù)的整體邏輯結構的描述。它由若干個概念記錄類型組成。概念模式不僅要描述概念記錄類型,還要描述記錄間的聯(lián)系、操作、數(shù)據(jù)的完整性、安全性等要求。數(shù)據(jù)按外模式的描述提供給用戶,按內模式的描述存儲在磁盤中,而概念模式提供了連接這兩級的相對穩(wěn)定的中間觀點,并使得兩級的任何一級的改變都不受另一級的牽制。
1.9 數(shù)據(jù)獨立性與數(shù)據(jù)聯(lián)系這兩個概念有什么區(qū)別?
數(shù)據(jù)獨立性是指應用程序與數(shù)據(jù)之間相互獨立,不受影響。
數(shù)據(jù)聯(lián)系是指同一記錄內部各字段間的聯(lián)系,以及記錄之間的聯(lián)系。
1.10 試述dbms在用戶訪問數(shù)據(jù)庫過程中所起的作用.用戶對數(shù)據(jù)庫進行操作,dbms把操作從應用程序帶到外部級、概念級、再導向內部級,進而操作存儲器中的數(shù)據(jù)。
(結合p22“用戶訪問數(shù)據(jù)的過程”來理解)
1.11 試述dbms的主要功能。
dbms的主要功能有:
(1)數(shù)據(jù)庫的定義功能
(2)數(shù)據(jù)庫的操縱功能
(3)數(shù)據(jù)庫的保護功能
(4)數(shù)據(jù)庫的存儲管理
(5)數(shù)據(jù)庫的維護功能
(6)數(shù)據(jù)字典
1.12 試敘dbms對數(shù)據(jù)庫的保護功能。
dbms對數(shù)據(jù)庫的保護主要通過四個方面實現(xiàn):
(1)數(shù)據(jù)庫的恢復。
(2)數(shù)據(jù)庫的并發(fā)控制。
(3)數(shù)據(jù)庫的完整性控制。
(4)數(shù)據(jù)庫的安全性控制。
1.13 試敘dbms對數(shù)據(jù)庫的維護功能。
dbms中有一些程序提供給數(shù)據(jù)庫管理員運行數(shù)據(jù)庫系統(tǒng)時使用,這些程序起著數(shù)據(jù)庫維護的功能。
主要有四個實用程序:
(1)數(shù)據(jù)裝載程序(loading)
(2)備份程序(backup)
(3)文件重組織程序
(4)性能監(jiān)控程序
1.14 從模塊結構看,dbms由哪些部分組成?
從模塊結構看,dbms由兩大部分組成:查詢處理器和存儲管理器
(1)查詢處理器有四個主要成分:ddl編譯器,dml編譯器,嵌入型dml的預編譯器,查詢運行核心程序
(2)存儲管理器有四個主要成分:授權和完整性管理器,事務管理器,文件管理器,緩沖區(qū)管理器
(以上幾題具體可參照書上p20-21)
1.15 dbs由哪幾個部分組成?
dbs由四部分組成:數(shù)據(jù)庫、硬件、軟件、數(shù)據(jù)庫管理員。
1.16 什么樣的人是dba?dba應具有什么素質?dba的職責是什么?
dba是控制數(shù)據(jù)整體結構的人,負責dbs的正常運行。dba可以是一個人,在大型系統(tǒng)中也可以是由幾個人組成的小組。dba承擔創(chuàng)建、監(jiān)控和維護整個數(shù)據(jù)庫結構的責任。
dba應具有下列素質:
(1)熟悉企
業(yè)全部數(shù)據(jù)的性質和用途;
(2)對用戶的需求有充分的了解;
(3)對系統(tǒng)的性能非常熟悉。
dba的主要職責有五點:
(1)概念模式定義
(2)內模式定義
(3)根據(jù)要求修改數(shù)據(jù)庫的概念模式和內模式
(4)對數(shù)據(jù)庫訪問的授權
(5)完整性約束的說明
1.17 試對dbs的全局結構作詳細解釋。
參照教材p24-25。
1.18 使用dbs的用戶有哪幾類? 使用dbs的用戶有四類:
1)dba
2)專業(yè)用戶
3)應用程序員
4)最終用戶
1.19 dbms的查詢處理器有哪些功能?
dbms的查詢處理器可分成四個成分:
1)dml編譯器
2)嵌入型dml的預編譯器
3)ddl編譯器
4)查詢運行核心程序
(各成分功能參照p24)
1.20 dbms的存儲處理器有哪些功能?
dbms的存儲處理器提供了應用程序訪問數(shù)據(jù)庫中數(shù)據(jù)的界面,可分成四個成分:
1)授權和完整性管理器
2)事務管理器
3)文件管理器
4)緩沖區(qū)管理器
(各成分功能參照p25)
1.21 磁盤存儲器中有哪四類主要的數(shù)據(jù)結構?
數(shù)據(jù)文件:存儲了數(shù)據(jù)庫中的數(shù)據(jù);
數(shù)據(jù)字典(dd):存儲三級結構的描述;
索引文件:為提高查詢速度而設置的邏輯排序手段;
統(tǒng)計數(shù)據(jù)組織:存儲dbs運行時統(tǒng)計分析數(shù)據(jù)。
(1)關系模型:用二維表格結構表示實體集,外鍵表示實體間聯(lián)系的數(shù)據(jù)模型稱為關系模型。
(2)關系模式:關系模式實際上就是記錄類型。它的定義包括:模式名,屬性名,值域名以及模式的主鍵。關系模式不涉及到物理存儲方面的描述,僅僅是對數(shù)據(jù)特性的描述。
(3)關系實例:元組的集合稱為關系和實例,一個關系即一張二維表格。
(4)屬性:實體的一個特征。在關系模型中,字段稱為屬性。
(5)域:在關系中,每一個屬性都有一個取值范圍,稱為屬性的值域,簡稱域。
(6)元組:在關系中,記錄稱為元組。元組對應表中的一行;表示一個實體。
(7)超鍵:在關系中能唯一標識元組的屬性集稱為關系模式的超鍵。
(8)候選鍵:不含有多余屬性的超鍵稱為候選鍵。
(9)主鍵:用戶選作元組標識的一個候選鍵為主鍵。(單獨出現(xiàn),要先解釋“候選鍵”)
(10)外鍵:某個關系的主鍵相應的屬性在另一關系中出現(xiàn),此時該主鍵在就是另一關系的外鍵,如有兩個關系s和sc,其中s#是關系s的主鍵,相應的屬性s#在關系sc中也出現(xiàn),此時s#就是關系sc的外鍵。
(11)實體完整性規(guī)則:這條
規(guī)則要求關系中元組在組成主鍵的屬性上不能有空值。如果出現(xiàn)空值,那么主鍵值就起不了唯一標識元組的作用。
(12)參照完整性規(guī)則: 這條規(guī)則要求“不引用不存在的實體”。其形式定義如下:如果屬性集k是關系模式r1的主鍵,k也是關系模式r2的外鍵,那么r2的關系中,k的取值只允許有兩種可能,或者為空值,或者等于r1關系中某個主鍵值。這條規(guī)則在使用時有三點應注意: 1)外鍵和相應的主鍵可以不同名,只要定義在相同值域上即可。2)r1和r2也可以是同一個關系模式,表示了屬性之間的聯(lián)系。3)外鍵值是否允許空應視具體問題而定。
(13)過程性語言:在編程時必須給出獲得結果的操作步驟,即“干什么”和“怎么干”。如pascal和c語言等。
(14)非過程性語言:編程時只須指出需要什么信息,不必給出具體的操作步驟。各種關系查詢語言均屬于非過程性語言。
(15)無限關系:當一個關系中存在無窮多個元組時,此關系為無限關系。如元組表達式{t|┐r(t)}表示所有不在關系r中的元組的集合,這是一個無限關系。
(16)無窮驗證:在驗證公式時需對無窮多個元組進行驗證就是無窮驗證。如驗證公式(u)(p(u))的真假時需對所有的元組u進行驗證,這是一個無窮驗證的問題。
2.2 為什么關系中的元組沒有先后順序?
因為關系是一個元組的集合,而元組在集合中的順序無關緊要。因此不考慮元組間的順序,即沒有行序。
2.3 為什么關系中不允許有重復元組?
因為關系是一個元組的集合,而集合中的元素不允許重復出現(xiàn),因此在關系模型中對關系作了限制,關系中的元組不能重復,可以用鍵來標識唯一的元組。
2.4 關系與普通的表格、文件有什么區(qū)別?
關系是一種規(guī)范化了的二維表格,在關系模型中,對關系作了下列規(guī)范性限制:
1)關系中每一個屬性值都是不可分解的。
2)關系中不允許出現(xiàn)相同的元組(沒有重復元組)。
3)由于關系是一個集合,因此不考慮元組間的順序,即沒有行序。
4)元組中,屬性在理論上也是無序的,但在使用時按習慣考慮列的順序。
2.5 笛卡爾積、等值聯(lián)接、自然聯(lián)接三者之間有什么區(qū)別?
笛卡爾積對兩個關系r和s進行乘操作,產(chǎn)生的關系中元組個數(shù)為兩個關系中元組個數(shù)之積。
等值聯(lián)接則是在笛卡爾積的結果上再進行選擇操作,從關系r和s的笛卡兒積中選擇對應屬性值相等的元組;
自然連接則是在等值聯(lián)接(以所有公共屬性值相等為條件)的基礎上再行投影操作,并去掉重復的公共屬性列。當兩個關系沒有公共屬性時,自然連接就轉化我笛卡爾積。
2.8 如果r是二元關
系,那么下列元組表達式的結果是什么? {t|(u)(r(t)∧r(u)∧(t[1]≠u[1]∨t[2]≠u[2]))}
這個表達式的意思是:從關系r中選擇元組,該元組滿足:第1分量值或第2分量值至少有一個不等于其他某元組。由于r是二元關系,只有兩個分量,由于沒有重復元組,上述條件顯然滿足。所以,這個表達式結果就是關系r。
2.9 假設r和s分別是三元和二元關系,試把表達式π1,5(σ2=4∨3=4(r×s))轉換成等價的:(1)漢語查詢句子;(2)元組表達式;(3)域表達式。
(1)漢語表達式:
從r×s關系中選擇滿足下列條件的元組:
第2分量(r中第2分量)與第4分量(s中第1分量)值相等,或第3分量(r中第3分量)與第4分量(s中第1分量)值相等;并取第1列與第5列組成的新關系。
(2)元組表達式:{t|(u)(v)(r(u)∧s(v)∧(u[2]=v[1]∨u[3]=v[1])∧t[1]=u[1]∧t[2]=v[2])}(3)域表達式:{xv|(y)(z)(u)(r(xyz)∧s(uv)∧(y=u∨z=u))}
2.10 假設r和s都是二元關系,試把元組表達式{t|r(t)∧(u)(s(u)∧u[1]≠t[2])}轉換成等價的:(1)漢語查詢句子;(2)域表達式:(3)關系代數(shù)表達式。
(1)漢語表達式:選擇r關系中元組第2分量值不等于s關系中某元組第1分量值的元組。
(2)域表達式:{xy|(u)(v)(r(xy)∧s(uv)∧(u≠y))}(3)關系代數(shù)表達式:π1,2(σ2≠3(r×s))
2.11 試把域表達式{ab|r(ab)∧r(ba)}轉換成等價的:
(1)漢語查詢句子;(2)關系代數(shù)表達式;(3)元組表達式。
(1)漢語查詢句子:選擇r中元組第1分量值與第2分量值互換后仍存在于r中的元組。
(2)關系代數(shù)表達式:π1,2(σ1=4∧2=3(r×r));
(3)元組表達式:{t|(u)(r(t)∧r(u)∧t[1]=u[2]∧t[2]=u[1])}
試用關系代數(shù)表達式表示下列查詢語句。(見下一題)
2.14 試用元組表達式表示上題中各個查詢語句。
(1)檢索liu老師所授課程的課程號、課程名。
πc#,cname(σteacher='liu'(c))
{t|(u)(c(u)∧c[3]='liu'∧t[1]=u[1]∧t[2]=u[2])}
(2)檢索年齡大于23歲的男學生的學號與姓名。
πs#,sname(σage>'23'∧sex='男'(s))
{t|(u)(s(u)∧u[3]>'23'∧u[4]='男'∧t[1]=u[1]∧t[2]=u[2])}
(3)檢索學號為s3學生所學課程的課程名與任課教師名。π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老
師所授課程中一門課程的女學生的姓名。
π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同學不學的課程號。
πc#(c)-πc#(σsname='wang'(ssc))
或者,πc#(sc)-πc#(σsname='wang'(ssc))(全部課程號減去wang同學所學的課程號){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中的所有元組,如果學號與c中所選元組相同的話,其在s中對應的姓名肯定不是'wang'。)
notice:“p1=>p2”的含義是:如果p1為真,則p2為真。
(6)檢索至少選修兩門課程的學生學號。
πs#(σ1=4∧2≠5(sc×sc))
sc自乘之后,再選擇(同一個學號中兩個課程號不同的元組),投影。
{t|(u)(v)(sc(u)∧sc(v)∧u[1]=v[1]∧u[2]≠v[2])∧t[1]=u[1]}
(7)檢索全部學生都選修的課程的課程號與課程名。
πc#,cname(c(πs#,c#(sc)÷πs#(s)))(涉及到全部值時,應用除法,“除數(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老師所授課程的學生學號。
πs#(σteacher='liu'(scc))
{t|(u)(v)(sc(u)∧c(v)∧u[2]=v[1]∧v[3]='liu'∧t[1]=u[1])}
如果liu老師有多門課程,則選修課程包含liu老師所授全部課程的學生學號為:
πs#,c#(sc)÷πc#(σteacher='liu'(c))
2.15 在教學數(shù)據(jù)庫s、sc、c中,用戶有一查詢語句:檢索女同學選修課程的課程名和任課教師名。(1)試寫出該查詢的關系代數(shù)表達式;(2)試寫出查詢優(yōu)化的關系代數(shù)表達式。
(1)πcname,teacher(σsex='女'(sscc))
(2)優(yōu)化為:πcname,teacher(cπc#(πs#,c#(sc)πs#(σsex='女'(s))))
(基本思路:盡量提前做選擇操作;在每個操作后,應做個投影操作,去掉不用的屬性值。
2.16 在2.15題中,(1)畫出該查詢初始的關系代數(shù)表達式的語法樹。
(2)使用2.4.4節(jié)的優(yōu)化算法,對語法樹進行優(yōu)化,并畫出優(yōu)化后的語法樹。
該查詢初始的關系代數(shù)表達式的語法樹
優(yōu)化后的語法樹
2.17 為什么要對關系代數(shù)表達式進行優(yōu)化?
在關系代數(shù)運算中,各個運算所費時間和空間是不一樣的。如何安排若干關系的運算操作步驟,直接影響到整個操作所需要的時間和空間。對關系代數(shù)表達式進行優(yōu)化,可以提高系統(tǒng)的操作效率,達到執(zhí)行過程即省時間又省空間的目的。
3.1 名詞解釋
(1)sql模式:sql模式是表和授權的靜態(tài)定義。一個sql模式定義為基本表的集合。一個由模式名和模式擁有者的用戶名或賬號來確定,并包含模式中每一個元素(基本表、視圖、索引等)的定義。
(2)sql數(shù)據(jù)庫:sql(structured query language),即‘結構
式查詢語言’,采用英語單詞表示和結構式的語法規(guī)則。一個sql數(shù)據(jù)庫是表的匯集,它用一個或多個sql模式定義。
(3)基本表:在sql中,把傳統(tǒng)的關系模型中的關系模式稱為基本表(base table)?;颈硎菍嶋H存儲在數(shù)據(jù)庫中的表,對應一個關系。
(4)存儲文件:在sql中,把傳統(tǒng)的關系模型中的存儲模式稱為存儲文件(stored file)。每個存儲文件與外部存儲器上一個物理文件對應。
(5)視圖:在sql中,把傳統(tǒng)的關系模型中的子模式稱為視圖(view),視圖是從若干基本表和(或)其他視圖構造出來的表。
(6)行:在sql中,把傳統(tǒng)的關系模型中的元組稱為行(row)。
(7)列:在sql中,把傳統(tǒng)的關系模型中的屬性稱為列(coloumn)。
(8)實表:基本表被稱為“實表”,它是實際存放在數(shù)據(jù)庫中的表。
(9)虛表:視圖被稱為“虛表”,創(chuàng)建一個視圖時,只把視圖的定義存儲在數(shù)據(jù)詞典中,而不存儲視圖所對應的數(shù)據(jù)。
(10)相關子查詢:在嵌套查詢中出現(xiàn)的符合以下特征的子查詢:子查詢中查詢條件依賴于外層查詢中的某個值,所以子查詢的處理不只一次,要反復求值,以供外層查詢使用。
(11)聯(lián)接查詢:查詢時先對表進行笛卡爾積操作,然后再做等值聯(lián)接、選擇、投影等操作。聯(lián)接查詢的效率比嵌套查詢低。
(12)交互式sql:在終端交互方式下使用的sql語言稱為交互式sql。
(13)嵌入式sql:嵌入在高級語言的程序中使用的sql語言稱為嵌入式sql。
(14)共享變量:sql和宿主語言的接口。共享變量有宿主語言程序定義,再用sql的declare語句說明,sql語句就可引用這些變量傳遞數(shù)據(jù)庫信息。
(15)游標:游標是與某一查詢結果相聯(lián)系的符號名,用于把集合操作轉換成單記錄處理方式。
(16)卷游標:為了克服游標在推進時不能返回的不便,sql2提供了卷游標技術。卷游標在推進時不但能沿查詢結果中元組順序從頭到尾一行行推進,也能一行行返回。
3.2 對于教學數(shù)據(jù)庫的三個基本表
學生 s(s#,sname,age,sex)
學習sc(s#,c#,grade)
課程 c(c#,cname,teacher)
試用sql的查詢語句表達下列查詢:
(1)檢索liu老師所授課程的課程號和課程名。
select c#,cname
from c
where teacher=‘liu’
(2)檢索年齡大于23歲的男學生的學號和姓名。
select s#,sname
from s
where(age>23)and(sex=‘m’)
(3)檢索至少選修liu老師所授課程中一門課程的女學生姓名。
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同學不學的課程的課程號。
select c#
from c
where c# not in
(select c#
from sc
where s# in
(select s#
from s
where sname='wang'))
fr
(5)檢索至少選修兩門課程的學生學號。
select distinct
from sc x,sc y
where = and <> notice:對表sc進行自連接,x,y是sc的兩個別名。
(6)檢索全部學生都選修的課程的課程號與課程名。
select c#,cname
from c
where not exists
(select *
from s
where s# not in
(select *
from sc
where sc.c#=c.c#))
要從語義上分解:(1)選擇課程的課程號與課程名,不存在不選這門課的同學。
其中,“不選這門課的同學”可以表示為:
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老師所授課的學生學號。
select distinct s#
from sc
where c# in
(select c#
from c
where teacher='liu'))
3.3 設有兩個基本表r(a,b,c)和s(d,e,f),試用sql查詢語句表達下列關系代數(shù)表達式:
(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 設有兩個基本表r(a,b,c)和s(a,b,c)試用sql查詢語句表達下列關系代數(shù)表達式:
(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語言的關系代數(shù)特點和元組演算特點。
(p61-62)
3.6 試用sql查詢語句表達下列對教學數(shù)據(jù)庫中三個基本表s、sc、c的查詢:
(1)統(tǒng)計有學生選修的課程門數(shù)。
select count(distinct c#)from sc
(2)求選修c4課程的學生的平均年齡。
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老師所授課程的每門課程的學生平均成績。
select cname,avg(grade)
from sc ,c
where sc.c#=c.c# and teacher='liu'
group by c#
(4)統(tǒng)計每門課程的學生選修人數(shù)(超過10人的課程才統(tǒng)計)。要求輸出課程號和選修人數(shù),查詢結果按人數(shù)降序排列,若人數(shù)相同,按課程號升序排列。
select distinct c#,count(s#)
from sc
group by c#
having count(s#)>10
order by 2 desc, c# asc
(5)檢索學號比wang同學大,而年齡比他小的學生姓名。
select
from s as x, s as y
where ='wang' and x.s#>y.s# and
(6)檢索姓名以wang打頭的所有學生的姓名和年齡。
select sname,age
from s
where sname like 'wang%'
(7)在sc中檢索成績?yōu)榭罩档膶W生學號和課程號。
select s#,c#
from sc
where grade is null
(8)求年齡大于女同學平均年齡的男學生姓名和年齡。
select sname,age
from s as x
where ='男' and >(select avg(age)from s as y where ='女')
(9)求年齡大于所有女同學年齡的男學生姓名和年齡。
select sname,age
from s as x
where ='男' and >all(select age from s as y where ='女')
3.7 試用sql更新語句表達對教學數(shù)據(jù)庫中三個基本表s、sc、c的各個更新操作:
(1)往基本表s中插入一個學生元組(‘s9’,‘wu’,18)。
insert into s(s#,sname,age)values('59','wu',18)
(2)在基本表s中檢索每一門課程成績都大于等于80分的學生學號、姓名和性別,并把檢索到的值送往另一個已存在的基本表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同學的學習選課和成績全部刪去。
dele
te from sc
where s# in
(select s#
from s
where sname='wang')
(5)把選修maths課不及格的成績全改為空值。
update sc
set grade=null
where grade<60 and c# in
(select c#
from c
where cname='maths')
(6)把低于總平均成績的女同學成績提高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語句實現(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中提到“倉庫管理”關系模型有五個關系模式:
零件 part(p#,pname,color,weight)
項目 project(j#,jname,date)
供應商 supplier(s#,sname,saddr)
供應 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)試在上述兩個視圖的基礎上進行數(shù)據(jù)查詢:
1)檢索上海的供應商所供應的零件的編號和名字。
select p#,pname from view2 where saddr='shanghai'
2)檢索項目j4所用零件的供應商編號和名字。
select s#,sname from view2 where p# in(select p# from view1 where j#='j4')
3.9 對于教學數(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í)行。若允許,寫出轉換到基本表sc上的相應操作。
(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 預處理方式對于嵌入式sql的實現(xiàn)有什么重要意義?
預處理方式是先用預處理程序對源程序進行掃描,識別出sql語句,并處理成宿主語言的函數(shù)調用形式;然后再用宿主語言的編譯程序把源程序編譯成目標程序。這樣,不用擴充宿主語言的編譯程序,就能處理sql語句。
3.11 在宿主語言的程序中使用sql語句有哪些規(guī)定?
在宿主語言的程序中使用slq語句有以下規(guī)定:
(1)在程序中要區(qū)分sql語句與宿主語言語句
(2)允許嵌入的sql語句引用宿主語言的程序變量(稱為共享變量),但有兩條規(guī)定:
1)引用時,這些變量前必須加“:”作為前綴標識,以示與數(shù)據(jù)庫中變量有區(qū)別。
2)這些變量由宿主語言的程序定義,并用sql的declare語句說明。
(3)sql的集合處理方式與宿主語言單記錄處理方式之間要協(xié)調。需要采用
游標機制,把集合操作轉換成單記錄處理方式。
3.12 sql的集合處理方式與宿主語言單記錄處理方式之間如何協(xié)調?
由于sql語句處理的是記錄集合,而宿主語言語句一次只能處理一個記錄,因此需要用游標(cousor)機制,把集合操作轉換成單記錄處理方式。
2.13 嵌入式sql語句何時不必涉及到游標?何時必須涉及到游標?
(1)insert、delete、update語句,查詢結果肯定是單元組時的select語句,都可直接嵌入在主程序中使用,不必涉及到游標。
(2)當select語句查詢結果是多個元組時,此時宿主語言程序無法使用,一定要用游標機制把多個元組一次一個地傳送給宿主語言處理。
4.1 名詞解釋
(1)函數(shù)依賴:fd(function dependency),設有關系模式r(u),x,y是u的子集,r是r的任一具體關系,如果對r的任意兩個元組t1,t2,由t1[x]=t2[x]導致t1[y]=t2[y], 則稱x函數(shù)決定y,或y函數(shù)依賴于x,記為x→y。x→y為模式r的一個函數(shù)依賴。
(2)函數(shù)依賴的邏輯蘊涵:設f是關系模式r的一個函數(shù)依賴集,x,y是r的屬性子集,如果從f中的函數(shù)依賴能夠推出x→y,則稱f邏輯蘊涵x→y,記為f|=x→y。
(3)部分函數(shù)依賴:即局部依賴,對于一個函數(shù)依賴w→a,如果存在xw(x包含于w)有x→a成立,那么稱w→a是局部依賴,否則稱w→a為完全依賴。
(4)完全函數(shù)依賴:見上。
(5)傳遞依賴:在關系模式中,如果y→x,x→a,且xy(x不決定y),ax(a不屬于x),那么稱y→a是傳遞依賴。
(6)函數(shù)依賴集f的閉包f+: 被邏輯蘊涵的函數(shù)依賴的全體構成的集合,稱為f的閉包(closure),記為f+。
(7)1nf: 第一范式。如果關系模式r的所有屬性的值域中每一個值都是不可再分解的值, 則稱r是屬于第一范式模式。如果某個數(shù)據(jù)庫模式都是第一范式的,則稱該數(shù)據(jù)庫存模式屬于第一范式的數(shù)據(jù)庫模式。第一范式的模式要求屬性值不可再分裂成更小部分,即屬性項不能是屬性組合和組屬性組成。
(8)2nf: 第二范式。如果關系模式r為第一范式,并且r中每一個非主屬性完全函數(shù)依賴于r的某個候選鍵,則稱是第二范式模式;如果某個數(shù)據(jù)庫模式中每個關系模式都是第二范式的,則稱該數(shù)據(jù)庫模式屬于第二范式的數(shù)據(jù)庫模式。(注:如果a是關系模式r的候選鍵的一個屬性,則稱a是r的主屬性,否則稱a是r的非主屬性。)
(9)3nf:第三范式。如果關系模式r是第二范式,且每個非主屬性都不傳遞依賴于r的候選鍵,則稱r是第三范式的模式。如果某個數(shù)據(jù)庫模式中的每個關系模式都是第三范式,則稱為3nf的數(shù)據(jù)庫模式。
(10)bcnf:bc范式。如果關系模式r是第一范式,且每個屬性都不傳遞依賴于r的候選鍵,那么稱r
是bcnf的模式。
(11)4nf:第四范式。設r是一個關系模式,d是r上的多值依賴集合。如果d中成立非平凡多值依賴x→→y時,x必是r的超鍵,那么稱r是第四范式的模式。
(12)推理規(guī)則的正確性和完備性:正確性是指,如果x→y是從推理規(guī)則推出的,那么x→y在f+中。完備性是指,不能從f使用推理規(guī)則導出的函數(shù)依賴不在f+中。
(13)依賴集的覆蓋和等價:關系模式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)接:設r是一關系模式,分解成關系模式ρ={r1,r2...,rk},f是r上的一個函數(shù)依賴集。如果對r中滿足f的每一個關系r都有r=πr1(r)πr2(r)...πrk(r)則稱這個分解相對于f是“無損聯(lián)接分解”。
(16)保持依賴集:所謂保持依賴就是指關系模式的函數(shù)依賴集在分解后仍在數(shù)據(jù)庫中保持不變,即關系模式r到ρ={r1,r2,...,rk}的分解,使函數(shù)依賴集f被f這些ri上的投影蘊涵。
(17)多值依賴:設r(u)是屬性集u上的一個關系模式,x,y,z是u的子集,并且z=u-x-y, 用x,y,z分別代表屬性集x,y,z的值,只要r是r的關系,r中存在元組(x,y1,z1)和(x,y2,z2)時,就也存在元組(x,y1,z2)和(x,y2,z1),那么稱多值依賴(multivalued dependency mvd)x→→y在關系模式r中成立。
4.2 關系模式r有n個屬性,在模式r上可能成立的函數(shù)依賴有多少個? 其中平凡的函數(shù)依賴有多少個?非平凡的函數(shù)依賴有多少個?
(要考慮所有可能的情況,數(shù)學排列組合問題。對于數(shù)據(jù)庫本身而言,本題沒多大意義)
所有屬性相互依賴時,函數(shù)依賴最多。
·
平凡的函數(shù)依賴:對于函數(shù)依賴x→y,如果yx,那么稱x→y是一個“平凡的函數(shù)依賴”。
4.3 建立關于系、學生、班級、社團等信息的一個關系數(shù)據(jù)庫,一個系有若干個專業(yè),每個專業(yè)每年只招一個班,每個班有若干個學生,一個系的學生住在同一宿舍區(qū),每個學生可以參加若干個社團,每個社團有若干學生。
描述學生的屬性有:學號、姓名、出生年月、系名、班級號、宿舍區(qū)。
描述班級的屬性有:班級號、專業(yè)名、系名、人數(shù)、入校年份。
描述系的屬性有:系名、系號、系辦公地點、人數(shù)。
描述社團的屬性有:社團名、成立年份、地點、人數(shù)、學生參加某社團的年份。
請給出關系模式,寫出每個關系模式的最小函數(shù)依賴集,指出是否存在傳遞函數(shù)依賴,對于函數(shù)依賴左部是多屬性的情況,討論函數(shù)依賴是完全函數(shù)依賴還是部分函數(shù)依賴。指出各關系的候選鍵、外部鍵,有沒有全鍵存在?
各關系模式如下:
學生(學號,姓名,出生年月,系名,班級號,宿舍區(qū))
班級(班級號,專業(yè)名,系名,人數(shù),入校年份)
系(系名,系號,系辦公地點,人數(shù))
社團(社團名,成立年份,地點,人數(shù))
加入社團(社團名,學號,學生參加社團的年份)
學生(學號,姓名,出生年月,系名,班級號,宿舍區(qū))
●“學生”關系的最小函數(shù)依賴集為:
fmin={學號→姓名,學號→班級號,學號→出生年月,學號→系名,系名→宿舍區(qū)} ●以上關系模式中存在傳遞函數(shù)依賴,如:學號→系名,系名→宿舍區(qū)
●候選鍵是學號,外部鍵是班級號,系名。
notice: 在關系模式中,如果y→x,x→a,且xy(x不決定y),a不屬于x,那么稱y→a是傳遞依賴。
班級(班級號,專業(yè)名,系名,人數(shù),入校年份)
●“班級”關系的最小函數(shù)依賴集為:
fmin={(系名,專業(yè)名)→班級號,班級號→人數(shù),班級號→入校年份,班級號→系名,班級號→專業(yè)名}
(假設沒有相同的系,不同系中專業(yè)名可以相同)●以上關系模式中不存在傳遞函數(shù)依賴。
●“(系名,專業(yè)名)→班級號”是完全函數(shù)依賴。
●候選鍵是(系名,專業(yè)名),班級號,外部鍵是系名。
系(系名,系號,系辦公地點,人數(shù))
●“系”關系的最小函數(shù)依賴集為: fmin={系號→系名,系名→系辦公地點,系名→人數(shù),系名→系號}
●以上關系模式中不存在傳遞函數(shù)依賴
●候選鍵是系名,系號
社團(社團名,成立年份,地點,人數(shù))
●“社團”關系的最小函數(shù)依賴集為: fmin={社團名→成立年份,社團名→地點,社團名→人數(shù))
●以上關系模式中不存在傳遞函數(shù)依賴。
●候選鍵是社團名
加入社團(社團名,學號,學生參加社團的年份)
●“加入社團”關系的最小函數(shù)依賴集為: fmin={(社團名,學號)→學生參加社團的年份)●“(社團名,學號)→學生參加社團的年份”是完全函數(shù)依賴。
●以上關系模式中不存在傳遞函數(shù)依賴。
●候選鍵是(社團名,學號)。
4.4 對函數(shù)依賴x→y的定義加以擴充,x和y可以為空屬性集,用φ表示,那么x→φ,φ→y,φ→φ的含義是什么?
根據(jù)函數(shù)依賴的定義,以上三個表達式的含義為:
(1)一個關系模式r(u)中,x,y是u的子集,r是r的任一具體關系,如果對r的任意兩個元組t1,t2, 由t1[x]=t2[x]必有t1[φ]=t2[φ]。即x→φ表示空屬性函數(shù)依賴于x。這是任何關系中都存在的。
(2)φ→y表示y函數(shù)依賴于空屬性。由此可
知該關系中所有元組中y屬性的值均相同。
(3)φ→φ表示空屬性函數(shù)依賴于空屬性。這也是任何關系中都存在的。
4.5 已知關系模式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ù)依賴的特點:
(1)設r(abc),f1={a→b} 在r上成立,ρ1={ab,ac}。
首先,檢查是否具有無損聯(lián)接特點:
第1種解法--算法4.2:
(1)構造表
(2)根據(jù)a→b進行處理
結果第二行全是a行,因此分解是無損聯(lián)接分解。
第2種解法:(定理4.8)設 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)所蘊涵,∴所以該分解保持函數(shù)依賴。
(2)設r(abc),f2={a→c,b→c}在r上成立,ρ2={ab,ac}
首先,檢查是否具有無損聯(lián)接特點:
第1種解法(略)
第2種解法:(定理4.8)設 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沒有被蘊涵,所以該分解沒有保持函數(shù)依賴。
(3)設r(abc),f3={a→b},在r上成立,ρ3={ab,bc}.首先,檢查是否具有無損聯(lián)接特點:
第1種解法:
(1)構造表
(2)根據(jù)a→b進行處理
沒有一行全是a行。因此這個分解不具有無損聯(lián)接特性。
第2種解法:(定理4.8)
設 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)所蘊涵,所以該分解保持函數(shù)依賴。
(4)設r(abc),f4={a→b,b→c}在r上成立,ρ4={ac,bc}
首先,檢查是否具有無損聯(lián)接特點:
第1種解法(略)
第2種解法:(定理4.8)
設 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沒有被蘊涵,所以該分解沒有保持函數(shù)依賴。
4.7 設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,及按自反律所推導出的一些平凡函數(shù)依賴} πac(f)={a→c,及按自反律所推導出的一些平凡函數(shù)依賴} πad(f)={a→d,及按自反律所推導出的一些平凡函數(shù)依賴}(2)
(1)構造表
(2)根據(jù)a→b,b→c,a→d,d→c進行處理
每一行都是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 設r=abcd,r上的f={a→c,d→c,bd→a}, 試證明ρ={ab,acd,bcd}相對于f不是無損聯(lián)接分解。
根據(jù)算法4.2
(1)構造表
(2)根據(jù)a→c,d→c,bd→a進行處理
沒有一行都是a,所以,ρ相對于f不是無損聯(lián)接分解。
4.9 設r=abcd,r上的f={a→b,b→c,d→b},把r分解成bcnf模式集。
(1)若首先把r分解成{acd,bd},試求f在這兩個模式上的投影。
(2)acd和bd是bcnf嗎?如果不是,請進一步分解。
(1)πacd(f)={a→c}
πbd(f)={d→b}
(2)因為根據(jù)bcnf的定義,要求關系模式是第一范式,且每個屬性都不傳遞依賴于r的侯選鍵。bcd中(a,d)為候選鍵,可是(a,d)→a, a→c,所以它不是bcnf模式。
它可進一步分解為:{ac,dc},此時ac,dc均為bcnf模式。
bd是bcnf,因為r2(bd)是第一范式,且每個屬性都不傳遞依賴于d(候選鍵),所以它是bcnf模式。
4.10 設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)構造表
(2)根據(jù)a→b,b→c進行處理
結果沒有出現(xiàn)一行全a的情況,所以它不是無損聯(lián)接。舉例如下:
設模式r的一關系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 設關系模式r(s#,c#,grade,tname,taddr),其屬性分別表示學生學號、選修課程的編號,成績、任課教師地址等意義。如果規(guī)定,每個學生每學一門課只有一個成績; 每門課只有一個教師任教;每個教師只有一個地址(此處不允許教師同名同姓)。
(1)試寫出關系模式r基本的函數(shù)依賴和候選鍵。
(2)試把r分解成2nf模式集并說明理由。
(3)試把r分解成3nf模式集,并說明理由。
(1)f={(s#,c#)→grade,c#→tname,tname→taddr} 侯選鍵是(s#,c#)。
(2)在模式r中,tname不完全依賴于鍵(s#,c#),因此需進行分解,可分解為下列兩個關系。
sc={s#,c#,grade} c={c#,tname,taddr} 分解后,sc中,grade完全依賴于侯選鍵(s#,c#),在c中,主屬性是c#,tname、taddr均完全依賴于c#。因此,該分解符合2nf模式。
(3)3nf:若每個關系模式是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表示一個公司各部門的層次結構,對每個部門,數(shù)據(jù)庫中包含部門號(唯一的)d#,預算費(budget)以及此部門領導人員的職工號(唯一的)e#等信息。對每一個部門,還存有部門的全部職工,生產(chǎn)科研項目以及辦公室的信息。
職工信息包括:職工號,他所參加的生產(chǎn)科研項目號(j#),他所在辦公室的電話號(phone#)。
生產(chǎn)科研項目包含:項目號(唯一的),預算費。
辦公室信息包含:辦公室號(唯一的),面積。
對每個職工,數(shù)據(jù)庫中有他曾擔任過的職務以及擔任某一職務時的工資歷史。對每個辦公室包含此辦公室中全部電話號嗎的信息。
請給出你認為合理的數(shù)據(jù)依賴,把這個層次結構轉換成一組規(guī)范化的關系。
提示:此題可分步完成,先轉換成一組1nf的關系,然后逐步轉換成2nf,3nf,...。
先得到一個泛關系的模式如下:
d={d#,manager_e#,budget,e#,j#,phone#,business,sa_history,office#,area} d#:部門號, manager_e#:部門領導人員的職工號, e#:職工號, j#:生產(chǎn)科研項目號, phone#:辦公室的電話號,business:職工職務,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#}(假設一個部門可能有多個辦公室,有多個項目,一個辦公室只屬于一個部門,有多部電話,一個員工只參加一個項目,一個項目可能屬于多個部門)
只要保證每個屬性值不可分割,以上范式即為1nf。候選鍵為(e#,business,phone#)
轉換成2nf關系(消除局部依賴):
em_dep(e#,d#,manager_e#,office#,area,j#,budget)
對應 f={d#→manager_e#,e#→office#,j#→budget,e#→j#,office#→area,office→d#}
history(e#,business,history)
對應 f={(e#,business)→sa_history} phone(phone#,office#)
對應 f={phone#→office#}
轉換成3nf關系(消除非主屬性對侯選鍵的傳遞依賴):
department(d#,manager_e#)office(office#,area,d#)emproee(e#,j#,office#)
history(e#,business,history)phone(phone#,office#)project(j#,budget)
注意:由于對題意理解的不同,可能答案不唯一。
4.13 設關系模式r(abc)上有一個多值依賴a→→b。如果已知r的當前關系中存在三組(ab1c1)、(ab2c2)和(ab3c3),那么這個關系中至少還應存在哪些元組?
從多值依賴的定義可以得出,至少應存在下列元組:
(ab1c2)、(ab1c3)、(ab2c1)、(ab2c3)、(ab3c1)、(ab3c2)
5.1 名詞解釋
(1)數(shù)據(jù)庫設計:數(shù)據(jù)庫設計是指對于一個給定的應用環(huán)境,提供一個確定最優(yōu)數(shù)據(jù)模型與處理模式的邏輯設計,以及一個確定數(shù)據(jù)庫存儲結構與存取方法的物理設計,建立起既能反映現(xiàn)實世界信息和信息聯(lián)系,滿足用戶數(shù)據(jù)要求和加工要求,又能被某個數(shù)據(jù)庫管理系統(tǒng)所接受,同時能實現(xiàn)系統(tǒng)目標,并有效存取數(shù)據(jù)的數(shù)據(jù)庫。
(2)數(shù)據(jù)庫工程:指數(shù)據(jù)庫應用系統(tǒng)的開發(fā),它是一項軟件工程,但有數(shù)據(jù)庫應用自身的特點。(3)評審:在數(shù)據(jù)庫設計過程中,評審的目的是為了確認某一階段的任務是否全部完成,避免重大的疏漏或錯誤,并在生存期的早期階段給予糾正,以減少系統(tǒng)研制的成本。
(4)數(shù)據(jù)字典:是對系統(tǒng)中數(shù)據(jù)的詳盡描述,它提供對數(shù)據(jù)庫數(shù)據(jù)描述的集中管理。它的處理功能是存儲和檢索元數(shù)據(jù),并且為數(shù)據(jù)庫管理員提供有關的報告。對數(shù)據(jù)庫設計來說,數(shù)據(jù)字典是進行詳細的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的主要成果。數(shù)據(jù)字典主要包括四個部分:數(shù)據(jù)項、數(shù)據(jù)結構、數(shù)據(jù)流、數(shù)據(jù)存儲。
5.2 數(shù)據(jù)系統(tǒng)的生存期分成哪幾個階段?數(shù)據(jù)庫結構的設計在生存期中的地位如何?
分成七個階段 :規(guī)劃、需求分析、概念設計、邏輯設計、物理設計、實現(xiàn)、運行和維護。
數(shù)據(jù)庫結構的設計在生存期中的地位很重要,數(shù)據(jù)庫結構的設計包括邏輯設計、物理設計,邏輯設計把概念模式轉化為與選用的具體機器上的dbms所支持的數(shù)據(jù)模型相符合的邏輯結構,而物理設計主要是設計db在物理設備上的存儲結構與存取方法等。
5.3 什么是數(shù)據(jù)庫設計?數(shù)據(jù)庫設計過程的輸入和輸出有哪些內容?
數(shù)據(jù)庫設計是指對于一個給定的應用環(huán)境,提供一個確定最優(yōu)數(shù)據(jù)模型與處理模式的邏輯設計,以及一個確定數(shù)據(jù)庫存儲結構與存取方法的物理設計,建立起既能反映現(xiàn)實世界信息和信息聯(lián)系,滿足用戶數(shù)據(jù)要求和加工要求,又能被某個數(shù)據(jù)庫管理系統(tǒng)所接受,同時能實現(xiàn)系統(tǒng)目標,并有效存取數(shù)據(jù)的數(shù)據(jù)庫。
數(shù)據(jù)庫設計過程的輸入包括四部分內容:1)總體信息需求;2)處理需求;(3)dbms的特征;(4)硬件和os(操作系統(tǒng))特征。
數(shù)據(jù)庫設計過程的輸出包括兩部分:
(1)完整的數(shù)據(jù)庫結構,其中包括邏輯結構和物理結構;
(2)基于數(shù)據(jù)庫結構和處理需求的應用程序的設計原則。這些輸出一般以說明書的形式出現(xiàn)。
5.4 基于數(shù)據(jù)庫系統(tǒng)生存期的數(shù)據(jù)庫設計分成哪幾個階段?
分為5個階段:簡記為(規(guī)需概邏物):規(guī)劃、需求分析、概念設計、邏輯設計和物理設計五個階段。
5.5 什么是比較好的數(shù)據(jù)庫設計方法?數(shù)據(jù)庫設計方法應包括哪些內容? 一個好的數(shù)據(jù)庫設計方法應該能在合理的期限內,以合理的工作量產(chǎn)生一個有實用價值的數(shù)據(jù)庫結構。
一種實用的數(shù)據(jù)庫設計方法應包括以下內容:設計過程、設計技術、評價準則、信息需求、描述機制。
5.6 數(shù)據(jù)庫設計的規(guī)劃階段應做哪些事情?
數(shù)據(jù)庫設計中的規(guī)劃階段的主要任務是進行建立數(shù)據(jù)庫的必要性及可行性分析,確定數(shù)據(jù)庫系統(tǒng)在組織中和信息系統(tǒng)中的地位,以及各個數(shù)據(jù)庫之間的聯(lián)系。
5.7 數(shù)據(jù)庫設計的需求分析階段是如何實現(xiàn)的?目標是什么?
數(shù)據(jù)庫設計的需求分析通過三步來完成:即需求信息的收集、分析整理和評審。
其目的在于對系統(tǒng)的應用情況作全面詳細的調查,確定企業(yè)組織的目標,收集支持系統(tǒng)總的設計目標的基礎數(shù)據(jù)和對這些數(shù)據(jù)的要求,確定用戶的需求,并把這些要求寫成用戶和數(shù)據(jù)設計者都能夠接受的文檔。
5.8 評審在數(shù)據(jù)庫設計中有什么重要作用?為什么允許設計過程中有多次的回溯與反復?
評審的作用在于確認某一階段的任務是否全部完成,通過評審可以及早發(fā)現(xiàn)系統(tǒng)設計中的錯誤,并在生存期的早期階段給予糾正,以減少系統(tǒng)研制的成本。
如果在數(shù)據(jù)庫已經(jīng)實現(xiàn)時再發(fā)現(xiàn)設計中的錯誤,那么代價比較大。因此應該允許設計過程的回溯與反復。設計過程需要根據(jù)評審意見修改所提交的階段設計成果,有時修改甚至要回溯到前面的某一階段,進行部分乃至全部重新設計。
5.9 數(shù)據(jù)字典的內容和作用是什么?
數(shù)據(jù)字典的內容一般包括:數(shù)據(jù)項、數(shù)據(jù)結構、數(shù)據(jù)流、數(shù)據(jù)存儲和加工過程。
其作用是對系統(tǒng)中數(shù)據(jù)做出詳盡的描述,提供對數(shù)據(jù)庫數(shù)據(jù)的集中管理。
5.10 對概念模型有些什么要求? 對概念模型一般有以下要求:
(1)概念模型是對現(xiàn)實世界的抽象和概括,它應真實、充分地反映現(xiàn)實世界中事物和事物之間的聯(lián)系,具有豐富的語義表達能力,能表達用戶的各種需求,包括描述現(xiàn)實世界中各種對象及其復雜聯(lián)系、用戶對數(shù)據(jù)對象的處理要求和手段。
(2)概念模型應簡潔、明晰,獨立于機器、容易理解、方便數(shù)據(jù)庫設計人員與應用人員交換意見,使用戶能積極參與數(shù)據(jù)庫的設計工作。
(3)概念模型應易于變動。當應用環(huán)境和應用要求改變時,容易對概念模型修改和補充。
(4)概念模型應很容易向關系、層次或網(wǎng)狀等各種數(shù)據(jù)模型轉換,易于從概念模式導出也dbms有關的邏輯模式。
5.11 概念設計的具體步驟是什么? 概念設計的主要步驟為:
(1)進行數(shù)據(jù)抽象、設計局部概念模式;
(2)將局部概念模式綜合成全局概念模式;
(3)評審。
(具體解釋參見教材p131)
5.12 什么是數(shù)據(jù)抽象?主要有哪兩種形式的抽象?數(shù)據(jù)抽象在數(shù)據(jù)庫設計過程中起什么作用?
數(shù)據(jù)抽象是對人、物、事或概念的人為處理,它抽取人們關心的共同特性,忽略非本質的細節(jié),并把這些特性用各種概念精確地加以描述,這些概念組成了某種模型。
數(shù)據(jù)抽象有兩種形式:
(1)系統(tǒng)狀態(tài)的抽象,即抽象對象;
(2)系統(tǒng)轉換的抽象,即抽象運算。
數(shù)據(jù)抽象是概念設計中非常重要的一步。通過數(shù)據(jù)抽象,可以將現(xiàn)實世界中的客觀對象首先抽象為不依賴任何具體機器的信息結構。
5.13 什么是er圖?構成er圖的基本要素是什么? er圖是用來表示數(shù)據(jù)庫概念設計er模型的工具,它提供了表示實體、屬性和聯(lián)系的方法。
構成er圖的基本
數(shù)據(jù)庫期末選擇題篇四
課堂練習:
一年級奧數(shù)題,試試看
1.哥哥有4個蘋果,姐姐有3個蘋果,弟弟有8個蘋果,哥哥給弟弟1個后,弟弟吃了3個,這時誰的蘋果多?
2.小明今年6歲,小強今年4歲,2年后,小明比小強大幾歲?
3.同學們排隊做操,小明前面有4個人,后面有4個人,這一隊一共有多少人?
4.有一本書,小華第一天觀了2頁,以后每一天都比前一天多觀2頁,第4天觀了多少頁?
教學隨筆:
新課改下的數(shù)學教學
課改時頒布的《基礎教育課程改革指導綱要》把“以學生發(fā)展為本”作為新課程的基本理念,提出了“改變過于強調接受學習、死記硬背、機械訓練的現(xiàn)狀,倡導學生主動參與、樂于研究、勤于動手”,“大力推入信息技術在教學過程中普遍應用,逐步實現(xiàn)教學內容的呈現(xiàn)方式、學生的學習方式,以及教學過程中師生互動方式的變革”。新課程指導綱要說明了課改既要加強學生的基礎性學習,又要提高學生的發(fā)展性學習和創(chuàng)造性學習,從而培養(yǎng)學生終身學習的愿望和能力。也就是說數(shù)學課堂教學是展示教學改革的舞臺,開闊教師的視野,真正和學生融為一體,給學生營造一個自由的發(fā)展空間,讓學生在樸素的課堂生活中品味數(shù)學,感悟數(shù)學。
一、新課改下的數(shù)學教學注重過程
1、新課改下的數(shù)學教學的過程是學生體驗數(shù)學的過程。(1)體驗數(shù)學的自然科學性,數(shù)學是一門自然科學,自然界的一切事物一切現(xiàn)象都存在一定的數(shù)量關系和空間關系。(2)體驗數(shù)學的基礎性與工具性,數(shù)學是一切自然科學的基礎,也是自然科學的工具。學生在體會應用數(shù)學知識的同時,也學會了用已有知識來綜合解決實際問題。在課堂教學中聯(lián)系生活實際講數(shù)學,引導學生關注現(xiàn)實社會現(xiàn)象,關注社會熱點問題,把經(jīng)驗生活社會化,把數(shù)學問題生活化,并且創(chuàng)造性融滲透一些生活素材。如利息、保險、話費收繳等方面數(shù)學問題,結合教學內容,創(chuàng)設情境,設疑引思,如以“十一”黃金周為線索,提供有關數(shù)據(jù)編應用題,還入一步拓展,通過解決提出的問題,你有什么感受?我們應該如何運用數(shù)學思想方法去改善我們的生活質量?(3)體驗數(shù)學之美。(4)體驗數(shù)學是一種文化。我國的《易經(jīng)》中的卦象就是用數(shù)來表示的,我國古代兵書中的“運籌帷幄,決勝千里”中的籌就是用數(shù)碼表示的。讓學生體驗這些增強了學生的民族自豪感。(5)體驗數(shù)學是一種思想。數(shù)學是一種科學思想,這種思想反映著數(shù)學知識的共同本質。教學中采用由淺滲入滲出深、逐級遞入、螺旋上升的方式逐步滲入滲出重要的數(shù)學思想方法,2、新課改下的數(shù)學教學的過程是學生做數(shù)學,探究數(shù)學知識,發(fā)現(xiàn)數(shù)學知識的過程,自主建構知識體系的過程。在數(shù)學教學過程中,學生在老師的引導下,入行自主的學習探究,發(fā)現(xiàn)問題,解決問題,反思問題,與同學和老師合作交流,討論,共同發(fā)現(xiàn)新的知識。教師鼓勵每個學生動手、動口、動腦,參與數(shù)學的學習過程教學“以人為本”把主動權交給學生,使學生能夠積極、有效地參與教學活動,主動地獲取知識,最終達到樂于探究、勤于動手。
3、新課改下的數(shù)學教學的過程是教師與學生、學生與學生之間交往互動,感情交流的過程。教學過程中教師的教與學生的學的統(tǒng)一實質就是交往互動,老師教實質上是幫助學生建構知識體系和能力體系,學生學實質上是學生獨立自主的建構自己的知識系統(tǒng)和發(fā)展自己的潛能。在學生學習數(shù)學問題時,小組合作學習是個很好的形式,在學生充分參與下,對數(shù)學知識的理解入行初步的統(tǒng)一,然后,把研究的結果展示給全班同學。合作學習在小范圍內給不愛發(fā)言的學生留下了表現(xiàn)的空間--給同桌講講,同時為學生創(chuàng)設了適合交流與合作的氛圍,盡可能讓學生嘗試不同角度尋求解決問題的方法。在小組合作學習中,留給學生思考的空間,在質疑中放手讓學生學數(shù)學。如在處理如何做出一個軸對稱圖案時,先讓學生分組討論做軸對稱的方案,然后分別合作完成,最后全班交流各自的做法,尤其要講明這種做法的道理,以及你是如何想到這樣做的。顯然不同的學生從不同的生活背景和生活閱歷出發(fā),都能做出軸對稱圖形,彼此之間的交流實現(xiàn)了他們對軸對稱圖形關鍵特性的理解和熟悉,同時學生在交流中獲得了理解,分享了成功的快樂。
二、新課改下的數(shù)學教學注意個性。
新課改非常強調學生的個性發(fā)展。數(shù)學教學要以人為本,數(shù)學教師要關注學生,要教書育人!關注人的核心理念就是“要一切為了學生的發(fā)展”。在教學中,教師要盡最大可能把課堂還給學生,讓課堂煥發(fā)出生命活力,引導學生積極參與教學的全過程,變單調乏味的被動學習為生動活潑的主動學習。如在課堂上教師時常鼓勵學生大膽地走上講臺,講他們的熟悉,讓他們與學生討論,使講臺成為他們表現(xiàn)自己的舞臺,愉悅的學習氛圍把學生帶入了樂學的大門,而且達到學習知識的最佳狀態(tài)。課堂教學一直體現(xiàn)民主教學的思想,營造了寬松、和諧、活躍的教學氛圍,師生互動、平等參與,使學生進滲入滲出求知若渴的意境。少一些直敘,多一些設問,少一些“是什么”,多一些“為什么”,使學生真正成為學習的主人,最大限度地發(fā)揮每個學生的潛能,在認知和情感兩個領域的結合上,促入學生全面發(fā)展,使學生愿學、愛學、樂學。
教學隨筆:
新課改下的數(shù)學教學
一、新課改下的數(shù)學教學注重創(chuàng)新
創(chuàng)新是一個民族發(fā)展的必要條件,沒有創(chuàng)新,一個民族就要衰亡。課堂教學是學校教育的主渠道、主戰(zhàn)場,如何在課堂教學中落實創(chuàng)新教育的目標,即如何在創(chuàng)新教育目標下有效推入課堂教學改革呢?
1、更新教育看念,轉變教學思想。創(chuàng)新精神的培養(yǎng)是與社會變革對人才的要求相適應的。因此要培養(yǎng)學生創(chuàng)新意識和創(chuàng)新能力,當務之急是教師必須具有創(chuàng)新意識和創(chuàng)新能力。要敢于沖破傳統(tǒng)教學看念的束縛,大力改革教學方法,把學生真正當作學習的主體,鼓勵學生大膽質疑,敢于向老師“發(fā)難”,讓學生積極參與到課堂教學的全過程中,師生之間建立一種平等、信任、理解、尊重的和諧關系,讓學生得到充分表達自己思想感情的機會,從而達到教學相長的目的。
2、優(yōu)化導學組合,實施素質教育。優(yōu)化導學組合,就是要正確發(fā)揮教師的主導作用,堅定地實施主體性數(shù)學,真正把學生觀作是建構數(shù)學看念的生動活潑的發(fā)現(xiàn)者和探索者;也就是說教師要時刻關注學生知識的臨界點,充分把握學生的學習興奮點,采用“跳一跳,摘果子”的方法,把“導”著眼于指向,把“學”注意于自學、自悟,打破傳統(tǒng)的“你教我學”,“教一步,學一步,練一步,考一步”那種枯燥乏味的、壓制學生思維發(fā)展和創(chuàng)造能力的教學模式。
二、新課改下的數(shù)學教學注意思想品質教育
由于數(shù)學是人類實踐活動的結晶,是無數(shù)勞動者所創(chuàng)造的精神財富,所以在學生接受科學家特別是我國科學家在數(shù)學領域的杰出成就的過程中,吸取其科學獻身精神,增強愛國主義和民族氣節(jié)。要利用數(shù)字美、圖形美、符號美、科學美、奇異美以培養(yǎng)學生的心靈美、行為美、語言美、科學美。
三、在數(shù)學教學中培養(yǎng)學生的新觀念、新思想
作為數(shù)學教師在教學中不僅要教學生學會,更應教學生會學?!笆谥贼~,不如授之以漁”,方法的掌握,思想的形成,才能使學生受益終生。
四、在數(shù)學教學中培養(yǎng)學生經(jīng)營和開拓市場的能力
一切數(shù)學知識都來源于現(xiàn)實生活中,同時,現(xiàn)實生活中許多問題都需要用數(shù)學知識、數(shù)學思想的方法去思考解決。比如,漁場主怎樣經(jīng)營既能獲得最高產(chǎn)量,又能實現(xiàn)可持續(xù)發(fā)展;一件好的產(chǎn)品設計怎樣營銷方案才能快速得到市場認可,產(chǎn)生良好的經(jīng)濟效益。為此數(shù)學教學中應有意識地培養(yǎng)學生經(jīng)營和開拓市場的能力。善于經(jīng)營和開拓市場的能力在數(shù)學教學中主要體現(xiàn)為對一個數(shù)學問題或實際問題如何設計出最佳的解決方案或模型。
總之,結合《基礎教育課程改革指導綱要》的學習,在平時的數(shù)學教學中,及時審視自己的教學,調控學生的情緒,引導學生積極參與到課堂教學中,給學生創(chuàng)造一個民主和諧的發(fā)展空間,師生一起攜手探究數(shù)學知識,以改變課堂教學為己任,做出無愧于時代的貢獻。
課堂練習:
一年級奧數(shù)題
1、小明今年10歲,媽媽今年38歲,當小明15歲時,媽媽(43)歲。
2、小明和小紅都集郵票。小明給了小紅6枚后,兩人的郵票同樣多,原來小明的郵票比小紅的多(12)枚。
3、龍龍用4元買一個菠蘿,用買一個菠蘿的錢可以買1千克香蕉。買1千克香蕉的錢可以買4個梨。每個梨(1)元。
4、強強和小華打了2小時的乒乓球,每人打了(2)小時。
數(shù)據(jù)庫期末選擇題篇五
三、填空題(每空1分,共20分)1.數(shù)據(jù)庫系統(tǒng)具有數(shù)據(jù)的___外模式____、__模式_____和內模式三級模式結構。 server 2000局部變量名字必須以____@、_____開頭,而全局變量名字必須以______@@___開頭。
3.語句 select ascii('d'), char(67)的執(zhí)行結果是:___68______和__c_______。68、c“,2 4.語句 select lower('beautiful'), rtrim('我心中的太陽 ')的執(zhí)行結果是: _beautiful____和___我心中的太陽_____。
5.選擇運算是根據(jù)某些條件對關系做_ 水平__分割;投影是根據(jù)某些條件對關系做____垂直”__分割?!?6.關系運算主要有___選擇___、__投影__和連接。
7.完整性約束包括__實體__完整性、_域____性、參照完整性和用戶定義完整性。8.在sql server 2000中,數(shù)據(jù)庫對象包括__表__、___視圖__、觸發(fā)器、過程、列、索引、約束、規(guī)則、默認和用戶自定義的數(shù)據(jù)類型等。
9.語句 select day('2004-4-6'), len('我們快放假了.')的執(zhí)行結果是:___6______和____7____。
10.語句 select round(13.4321,2), round(13.4567,3)的執(zhí)行結果是:__13.4300_______和____13.4570_____。
11.完整性約束包括____域___完整性、__實體____完整性、參照完整性和用戶定義完整性。
12.t-sql 語言中,有__算術__運算、字符串連接運算、比較運算和__邏輯__運算。
13.語句 select upper('beautiful'), ltrim(' 我心中的太陽')的執(zhí)行結果是: ______ beautiful __和__我心中的太陽___。
14.索引的類型主要有______聚集索引_______和____非聚集索引______。15.在sql server 2000中,數(shù)據(jù)庫對象包括數(shù)據(jù)表、_視圖___、__存儲過程_、觸發(fā)器、規(guī)則、默認和用戶自定義的數(shù)據(jù)類型等。
16.數(shù)據(jù)庫的數(shù)據(jù)模型包含__數(shù)據(jù)結構__、_數(shù)據(jù)操作_和__完整性約束_三個要素。
17.___ 域完整性___是指保證指定列的數(shù)據(jù)具有正確的數(shù)據(jù)類型、格式和有效的數(shù)據(jù)范圍。
18.___ 觸發(fā)器____是特殊類型的存儲過程,它能在任何試圖改變表中由觸發(fā)器保護的數(shù)據(jù)時執(zhí)行。
19.事務(transaction)可以看成是由對數(shù)據(jù)庫的若干操作組成的一個單元,這些操作要么__都完成__,要么__都取消___(如果在操作執(zhí)行過程中不能完成其中任一操作)。
server 2000 采用的身份驗證模式有_ windows身份驗證__模式和_混合_模式。
21.用戶訪問sql server數(shù)據(jù)庫時,經(jīng)過了兩個_身份__驗證和__權限__驗證安全驗證階段。
2 server 2000提供的數(shù)據(jù)庫備份方法有____完整___數(shù)據(jù)庫備份和_差異__數(shù)據(jù)庫備份、___事務日志____備份和_____文件和文件組_______備份。 server代理主要由__作業(yè)____、___操作員___和警報來組成。 server復制把服務器分為__發(fā)布____服務器、____分發(fā)__服務器和訂閱服務器三種。
語言主要由____數(shù)據(jù)定義語言(ddl)______、___數(shù)據(jù)操作語言(dml)____和數(shù)據(jù)控制語言(dcl)組成。
26.語句 select(7+3)*4-17/(4-(8-6))+99%4 的執(zhí)行結果是____35______ 27.____ 視圖____是由一個或多個數(shù)據(jù)表(基本表)或視圖導出的虛擬表。28._實體完整性_用于保證數(shù)據(jù)庫中數(shù)據(jù)表的每一個特定實體的記錄都是惟一的。
29.索引的類型有_____聚集索引_______和非聚集索引。
30.___ 存儲過程______是已經(jīng)存儲在sql server服務器中的一組預編譯過的transact-sql語句。
31.觸發(fā)器定義在一個表中,當在表中執(zhí)行___ insert _____、____ update ____或delete操作時被觸發(fā)自動執(zhí)行。
32.事務的acid屬性是指___原子__性、__一致__性、__獨立__性和___持久__性。
33.數(shù)據(jù)庫管理系統(tǒng)的安全性通常包括兩個方面,一是指數(shù)據(jù)__訪問_____的安全性,二是指數(shù)據(jù)___運行____的安全性。
server代理主要由___作業(yè)_____、操作員和____警報____來組成。 server復制有快照復制、____事務__復制和___合并_____復制3種類型。36.從最終用戶角度來看,數(shù)據(jù)庫應用系統(tǒng)分為單用戶結構、主從式結構、分布式結構、____客戶服務器___結構和_____瀏覽器服務器____結構。
37.用select進行模糊查詢時,可以使用like或not like匹配符,但要在條件值中使用_ %_或__等通配符來配合查詢。并且,模糊查詢只能針__字符_類型字段查詢。%、_、字符”,3 server中數(shù)據(jù)操作語句包括___ insert _____、__ update ______、___ delete _____和select語句。
39.游標的操作步驟包括聲明、__打開___、處理(提取、刪除或修改)、__關閉____和___釋放___游標。
server 2000以____#___開頭的標識符,表示臨時表或過程; join 運算是____左連接______。
dateadd(day, 10, '2005-12-22')結果是____2006-01-01____。()函數(shù)的是______四舍五入___函數(shù)。
server復制把服務器分為___發(fā)布___服務器、___分發(fā)___服務器和___訂閱___服務器三種。
sql server提供多個圖形化工具,其中用來啟動、停止和暫停sql serve的圖形化工具稱為_____服務管理器_____。
46.____ 存儲過程_____是已經(jīng)存儲在sql server服務器中的一組預編譯過的transact-sql語句。
子句與where子句很相似,其區(qū)別在于:
where子句作用的對象是__表和視圖__,having子句作用的對象是__分組____。48.實體—聯(lián)系模型的三要素是_____實體_____、___屬性____和實體之間的聯(lián)系。
server的數(shù)據(jù)類型可分為_系統(tǒng)___數(shù)據(jù)類型和__用戶自定義__數(shù)據(jù)類型。
server聚合函數(shù)有最大、最小、求和、平均和計數(shù)等,它們分別是max、_______、_______、avg和count。min、sum",2 連續(xù)發(fā)表了論文,提出了關系模型,奠定了__關系數(shù)據(jù)庫_____管理系統(tǒng)的基礎。
5 server的數(shù)據(jù)庫文件的擴展名為_ mdf_、事務日志文件的擴展名為_ ldf_。
53.建立和使用____約束____的目的是為了保證數(shù)據(jù)的完整性。
命令是對數(shù)據(jù)庫進行_ ___備份______, restore命令是對數(shù)據(jù)庫進行______恢復____。
server 2000的安全性分為兩類_數(shù)據(jù)訪問_安全性和__數(shù)據(jù)運行_安全性。
56.關系模型用___二維表_____結構表示實體集,用鍵來表示實體間聯(lián)系。3.數(shù)據(jù)庫是被長期存放在計算機內的、有組織的、統(tǒng)一管理的相關___數(shù)據(jù)___的集合。 server數(shù)據(jù)庫的體系結構也是三級模式結構,在sql server中,___外模式___對應于視圖、__模式____對應于基本表、__內模式____對應于存儲文件。58.___ 關系完整性_____是為保證數(shù)據(jù)庫中數(shù)據(jù)的正確性和相容性,對關系模型提出的某種約束條件或規(guī)則。
59.視圖是由一個或多個___數(shù)據(jù)表___或視圖導出的___虛擬表___或查詢表。60.__ 角色___是指服務器管理、數(shù)據(jù)庫管理和數(shù)據(jù)庫訪問特定的權限的集合。61.當___表___被刪除時與它關聯(lián)的觸發(fā)器也一同被刪除。
【本文地址:http://mlvmservice.com/zuowen/1071674.html】