(一)數(shù)據(jù)庫的發(fā)展歷史分哪幾個階段?各有什么特點
答:數(shù)據(jù)庫的發(fā)展歷史經(jīng)歷了人工管理、文件系統(tǒng)和數(shù)據(jù)庫系統(tǒng)三個發(fā)展階段。
人工管理數(shù)據(jù)具有如下特點:
1、數(shù)據(jù)不保存
2、數(shù)據(jù)需要由應(yīng)用程序自己管理,沒有相應(yīng)的軟件系統(tǒng)負責數(shù)據(jù)的管理工作
3、數(shù)據(jù)不共享
4、數(shù)據(jù)不具有獨立性,數(shù)據(jù)的邏輯結(jié)構(gòu)或物理結(jié)構(gòu)發(fā)生變化后,必須對應(yīng)用程序做相應(yīng)的修改,這就進一步加重了程序員的負擔。
文件系統(tǒng)階段特點為:
1、數(shù)據(jù)可以長期保存
2、由專門的軟件即文件系統(tǒng)進行數(shù)據(jù)管理,程序和數(shù)據(jù)之間由軟件提供的存取方法進行轉(zhuǎn)換,使應(yīng)用程序與數(shù)據(jù)之間有了一定的獨立性,程序員可以不必過多地考慮物理細節(jié),將精力集中于算法。
3、數(shù)據(jù)共享性差
4、數(shù)據(jù)獨立性低
數(shù)據(jù)庫系統(tǒng)階段特點為:
1、數(shù)據(jù)結(jié)構(gòu)化
2、數(shù)據(jù)的共享性好,冗余度低
3、數(shù)據(jù)獨立性高
4、數(shù)據(jù)由DBMS統(tǒng)一管理和控制
(二)簡述數(shù)據(jù)庫設(shè)計過程的各個階段上的設(shè)計描述。
答:數(shù)據(jù)庫設(shè)計過程分為六個階段:
1、需求分析:準確了解與分析用戶需求,(包括數(shù)據(jù)與處理)。需求分析是整個設(shè)計過程的基礎(chǔ),需求分析的結(jié)果是否準確反映了用戶的實際需求,將直接影響到后面各個階段的設(shè)計、并影響到設(shè)計結(jié)果是否合理和實用。
2、概念結(jié)構(gòu)設(shè)計:數(shù)據(jù)庫邏輯結(jié)構(gòu)依賴于具體的DBMS,在將現(xiàn)實世界需求轉(zhuǎn)換為機器世界的模型之前,我們先以一種獨立于具體數(shù)據(jù)庫管理系統(tǒng)的邏輯描述方法來描述數(shù)據(jù)庫的邏輯結(jié)構(gòu),即設(shè)計數(shù)據(jù)庫的概念結(jié)構(gòu)。概念結(jié)構(gòu)設(shè)計是整個數(shù)據(jù)庫設(shè)計的關(guān)鍵,它通過對用戶需求進行綜合、歸納與抽象,形成一個獨立于具體DBMS的概念模型。
3、邏輯結(jié)構(gòu)設(shè)計:邏輯結(jié)構(gòu)設(shè)計是將抽象的概念結(jié)構(gòu)轉(zhuǎn)換為所選用的DBMS支持的數(shù)據(jù)模型,并對其進行優(yōu)化。
4、數(shù)據(jù)庫物理設(shè)計:數(shù)據(jù)庫物理設(shè)計是對為邏輯數(shù)據(jù)模型選取一個時候應(yīng)用環(huán)境的物理結(jié)構(gòu)(包括存儲結(jié)構(gòu)和存取方法)
5、數(shù)據(jù)庫實施
6、數(shù)據(jù)庫運行和維護
(三)學(xué)校有若干個系,每個系有若干班級和教研室,每個教研室有若干教員,其中有的教授和副教授每人各帶若干研究生。每個班有若干學(xué)生,每個學(xué)生選修若干課程,每門課程可由若干學(xué)生選修。用E-R圖畫出該學(xué)校的概念模型。
答:E-R圖如下所示:
(四)今要建立關(guān)于系、學(xué)生、班級、學(xué)會諸信息的一個關(guān)系數(shù)據(jù)庫。一個系有若干專業(yè),每個專業(yè)每年只招一個班,每個班有若干學(xué)生。一個系的學(xué)生住在同一個宿舍區(qū)。每個學(xué)生可參加若干學(xué)會,每個學(xué)會有若干學(xué)生。
描述學(xué)生的屬性有:學(xué)號、姓名、出生年月、系名、班號、宿舍區(qū)。
描述班級的屬性有:班號、專業(yè)名、系名、人數(shù)、入校年份。
描述系的屬性有:系號、系名、系辦公室地點、人數(shù)。
描述學(xué)會的屬性有:學(xué)會名、成立年份、地點、人數(shù)。學(xué)生參加某學(xué)會有一個入會年份
請給出關(guān)系模式,寫出每個關(guān)系模式的極小函數(shù)依賴集,指出是否存在傳遞函數(shù)依賴,對于函數(shù)依賴左部是多屬性的情況,討論函數(shù)依賴是完全函數(shù)依賴,還是部分函數(shù)依賴。指出各種關(guān)系的候選碼和外部碼。
答:關(guān)系模式如下:
學(xué)生:{學(xué)號, 姓名, 出生年月, 系名, 班號, 宿舍區(qū)},候選碼:學(xué)號,外部碼:班號
班級:{班號, 專業(yè)名, 系名, 人數(shù), 入校年份},候選碼:班號,外部碼:無
系:{系號, 系名, 系辦公室地點, 人數(shù)},候選碼:系號、系名外部碼:無
學(xué)會:{學(xué)會名, 成立年份, 地點, 人數(shù)},候選碼:學(xué)會名外部碼: 無
函數(shù)依賴如下:
學(xué)生:{學(xué)號→姓名,學(xué)號→出生年月,學(xué)號→系名,學(xué)號→班號,學(xué)號→宿舍區(qū)}, 完全函數(shù)依賴,無傳遞依賴
班級:{班號→專業(yè)名,班號→系名,班號→人數(shù),班號→入校年份}, 完全函數(shù)依賴,無傳遞依賴
系:{系號→系名,系號→系辦公室地點,系號→人數(shù)}, 無傳遞依賴, 完全函數(shù)依賴,無傳遞依賴
學(xué)會:{學(xué)會名→成立年份,學(xué)會名→地點,學(xué)會名→人數(shù)}, 無傳遞依賴, 完全函數(shù)依賴,無傳遞依賴
(五)現(xiàn)有關(guān)系數(shù)據(jù)庫如下:
學(xué)生(學(xué)號,姓名,性別,專業(yè)、獎學(xué)金)
課程(課程號,名稱,學(xué)分)
學(xué)習(學(xué)號,課程號,分數(shù))
請用關(guān)系代數(shù)表達式實現(xiàn)下列1—4小題,用SQL語言實現(xiàn)下列5—8小題。
1.檢索“國際貿(mào)易”專業(yè)中獲得獎學(xué)金的學(xué)生信息,包括學(xué)號、姓名、課程名和分數(shù);
答:∏學(xué)號,姓名,名稱,分數(shù)(σ獎學(xué)金》0(學(xué)生)∧專業(yè)=‘國際貿(mào)易’(學(xué)生)(學(xué)生∞學(xué)習∞課程))
2.檢索學(xué)生成績得過滿分(100分)的課程的課程號、名稱和學(xué)分;
答:
課程號,名稱,學(xué)分(σ分數(shù)=100(學(xué)習))學(xué)習∞課程
3.檢索沒有獲得獎學(xué)金、同時至少有一門課程成績在95分以上的學(xué)生信息,包括學(xué)號、姓名和專業(yè);
答:
學(xué)號,姓名,專業(yè)(σ獎學(xué)金 = 0(學(xué)生)∧分數(shù)》95(學(xué)習)(學(xué)生∞學(xué)生))
4.檢索沒有任何一門課程成績在80分以下的學(xué)生的信息,包括學(xué)號、姓名和專業(yè);
答:
學(xué)號,姓名,專業(yè)(學(xué)生)—∏學(xué)號,姓名,專業(yè)(σ分數(shù)《80(學(xué)生∞學(xué)習))
5.檢索沒有獲得獎學(xué)金、同時至少有一門課程成績在95分以上的學(xué)生信息,包括學(xué)號、姓名和專業(yè);
答:
select b.學(xué)號, b.姓名, b.專業(yè)from學(xué)習 a, 學(xué)生 b where a.學(xué)號 = b.學(xué)號 and a.分數(shù)》= 95 and isnull(a.獎學(xué)金, 0) = 0
6.檢索沒有任何一門課程成績在80分以下的所有學(xué)生的信息,包括學(xué)號、姓名和專業(yè)
答:
Select a.學(xué)號, b.姓名, b.專業(yè)From 學(xué)生 a Where not exists(select 1 from 學(xué)習 b where a.學(xué)號 = b.學(xué)號 and b.分數(shù) 《 80)
7.對成績得過滿分(100分)的學(xué)生,如果沒有獲得獎學(xué)金的,將其獎學(xué)金設(shè)為1000元;
答: Update 學(xué)習 set 獎學(xué)金 = 1000 Where 學(xué)號 in ( Select 學(xué)號 from 學(xué)習 where 分數(shù) = 100 )
And isnull(獎學(xué)金, 0) = 0
8.定義學(xué)生成績得過滿分(100分)的課程視圖AAA,包括課程號、名稱和學(xué)分;
答: Create view AAA As Select b.學(xué)號, c.姓名, a.課程號, a.名稱, b.學(xué)分From 課程 a, 學(xué)習 b, 學(xué)生cWhere a.課程號 = b.課程號 and b.分數(shù) = 100 and b.學(xué)號 = c.學(xué)號
評論