數據庫原理與應用 習題及答案 張千帆 習題1-14_第1頁
數據庫原理與應用 習題及答案 張千帆 習題1-14_第2頁
數據庫原理與應用 習題及答案 張千帆 習題1-14_第3頁
數據庫原理與應用 習題及答案 張千帆 習題1-14_第4頁
數據庫原理與應用 習題及答案 張千帆 習題1-14_第5頁
已閱讀5頁,還剩41頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

習題1答案

一、不定項選擇題

1.下列說法不正確的是(AC)o

A.數據庫減少了數據冗余

B.數據庫中的數據可以共享

C.數據庫避免了一切數據重復

D.如果冗余是系統可控制的,則系統可確保更新時的一致性

2.(C)是長期存儲在計算機內的、有組織、可共享的數據集合。

A.數據庫應用系統B.數據庫管理系統

C.數據庫D.數據庫系統

3.數據庫管理系統是安裝在(B)之上的一種系統軟件。

A.數據庫B.操作系統

C.應用軟件D.數據庫系統

4.信息處理涉及的領域不包括(B)0

A.信息世界B.認知世界

C.數據世界D.現實世界

5.數據庫系統的三級模式中表示概念級數據庫,體現了數據庫的總體觀的是

(A)o

A.模式B.內模式

C.外模式D.子模式

6.數據庫系統的三級模式中表示用戶級數據庫,體現了數據庫的用戶觀的是

(AC)o

A.模式B.內模式

C.外模式D.子模式

7.數據庫系統的體系結構中,把用戶與概念數據庫聯系起來的是(B)。

A.外模式/模式映像B.外模式/外模式映像

C.模式/內模式映像D.內模式/模式映像

8.下列關于外模式的描述正確的是(BC)o

A.一個數據庫系統只有一個外模式

B.外模式是用戶視圖

C.外模式與應用程序是一一對應關系

D.外模式獨立于模式存在

9.數據庫的數據獨立性是指(AR).

A.模式變化時應用程序不變

B.物理模式變化時應用程序不變

C.存儲策略變化時存儲結構不變

D.某些存儲結構變化時其他存儲結構不變

10.按照數據模型在數據建模和數據管理中的不同作用,可將數據模型分為

(BCD)o

A.系統數據模型B.物理數據模型

C.邏輯數據模型D.概念數據模型

H.下面說法不正確的是(C)O

A.概念數據模型的油象級別最高,用丁描述數據的整體概況

B.邏輯數據模型依賴于數據庫軟件

C.邏輯數據模型依賴于硬件

D.物理數據模型是數據最底層的抽象

12.層次模型不能直接表示的聯系種類是(C)o

A.一對一聯系B.一對多聯系

C.多對多聯系D.多對一聯系

13.邏輯數據模型的組成要素為(ABD)o

A.數據結構B.數據操作

C.數據定義D.數據完整性約束

14.下列關于關系數據模型的說法正確的是(BCD)o

A.直接支持層次結陶

B.關系模型的數據結構很復雜

C.建立在嚴密的邏輯基礎上

I).數據間的關系具有對稱性

15.E-R模型的基本要素有(ACD)

A.聯系集B.映像集

C.屬性D.實體集

16.常用的數據抽象的方法有(ACD)o

A.聚集B.綜合

C.分類D.概括

17.在數據庫技術中,實體-聯系模型是一種描述:D)的工具。

A.邏輯數據模型B.物理數據模型

C.結構數據模型D.概念數據模型

18.數據管理技術的發展經歷了以下哪些發展階段:(ABCD)

A.早期的人工管理階段B.文件系統階段

C.數據庫系統階段D.數據庫系統的新發展階段

二、填空題

1、—數據—是描述現實世界事物的符號記錄。

2、在計算機科學中,凡是能輸入到計算機中并被計算機程序處理的符號統稱為

—數據—

3、解釋下列縮寫的中文含義

(1)DBMS—數據庫管理系統(2)DB―數據庫_____

(3)DBS—數據庫系統_________(4)DBA_____數據庫管理員—

4、數據庫是長期存儲在計算機內、—有組織的_、—統一管理的的

數據集合。

5、數據庫的三級模式分別是:―外模式_、—模式______、—內模式

6、數據庫的二級映像分別是:外模式-模式映像、_____模式-

內模式映像—o

7、數據庫的兩級數據獨立性分別是:物理獨立性_____、—邏輯獨立性

8、屬性是實體集中每個成員所擁有的____某一特性o

9、聯系既可以存在于不同的實體型之間,還可以存在于____同一實體集的不同

實體_____之間。

10、E-R圖是一種可圖形化的表示工具,請解釋下列圖形E-R圖中圖例的含義。

(1)分割為兩部分的矩形:組合實體;

(2)菱形:聯系;

(3)未分割的矩形:單實體;

(4)無向邊:_______用于連接屬性和實體,該屬性屬于決定性屬性______;

(5)虛線:_____該屬性屬于非決定性屬性,一般為外鍵

11、若實體“零件”分別存在于兩個局部E-R模型中,且該實體的屬性“質量”

在兩個局部E-R模型中的計量單位分別是千克和磅,則稱這兩個局部E-R圖存在

屬性—沖突。

三、簡答題

1.試解釋數據、數據庫、數據庫管理系統、數據庫系統的概念。

(1)數據(data):描述事物的符號記錄稱為數據。

(2)數據庫(database):數據庫是長期儲存在計算機內的、有組織的、可

共享的數據集合。數據庫中的數據按一定的數據模型組織、描述和儲存,具有較

小的冗余度、較高的數據獨立性和易擴展性,并可為各種用戶共享。

(3)數據庫系統(databasesystem,簡稱DBS):數據庫系統是指在計算機

系統中引入數據庫后的系統構成,一般由數據庫、數據庫管理系統(及其開發工

具)、應用系統、數據庫管理員構成。

(4)數據庫管理系統(DataBaseManagementSytem,簡稱DBMS):數據庫管

理系統是位千用戶與操作系統之間的一層數據管理軟件,用千科學地組織和存儲

數據、高效地獲取和維護數據。DBMS的主要功能包括數據定義功能、數據操縱

功能、數據庫的運行管理功能、數據庫的建立和維護功能。

2.試述文件系統與數據庫系統的區別和聯系。

文件系統與數據庫系統的區別是:文件系統面向某一應用程序,共享性差,

冗余度大,數據獨立性差,記錄內有結構,整體無結構,由應用程序自己控制。

數據庫系統面向現實世界,共享性高,冗余度小,具有較高的物理獨立性和一定

的邏輯獨立性,整體結構化,用數據模型描述,由數據庫管理系統提供數據的安

全性、完整性、并發控制和恢復能力。

文件系統與數據庫系統的聯系是:文件系統與數據庫系統都是計算機系統中

管理數據的軟件。解析文件系統是操作系統的重要組成部分;而DBMS是獨立于

操作系統的軟件。但是DBMS是在操作系統的基礎上實現的;數據庫中數據的組

織和存儲是通過操作系統中的文件系統來實現的。

3.什么是概念模型?試述概念模型的作用。

概念模型,也稱信息模型,是按用戶的觀點來對數據和信息建模,主要用于

數據庫設計。

概念模型實際上是現實世界到機器世界的一人中間層次。概念模型用于信息

世界的建模,是現實世界到信息世界的第一層抽象,是數據庫設計人員進行數據

庫設計的有力工具,也是數據庫設計人員和用戶之間進行交流的語言。

4.定義并解釋概念模型中以下術語:實體,實體型,實體集,實體之間的聯系。

實體:客觀存在并可以相互區分的事物叫實體。實體型:具有相同屬性的實

體具有相同的特征和性質,用實體名及其屬性名集合來抽象和刻畫同類實體,稱

為實體型。實體集:同型實體的集合稱為實體集;實體之間的聯系:通常是指不

同實體型的實體集之間的聯系,實體之間的聯系有一對一,一對多和多對多等多

種類型。

5.試述關系模型的組成,定義并解釋以下術語:

關系模型由關系數據結構、關系操作集合和關系完整性約束三部分組成。

(1)關系:一個關系對應通常說的一張表;

(2)屬性:表中的一列即為一個屬性;

(3)域:屬性的取值范圍;

(4)元組:表中的一行即為一個元組;

(5)主碼:表中的某個屬性組,它可以惟一確定一個元組;

(6)分量:元組中的一個屬性值;

(7)關系模式:對關系的描述,一般表示為關系名(屬性1,屬性2,

屬性n)

6.試解釋以下術語:

(1)模式:描述數據的全局邏輯結構。

(2)外模式:描述數據的局部邏輯結構,通常是模式的子集。

(3)內模式:亦稱存儲模式,是數據在數據走系統內部的表示,即對數據的

物理結構和存儲方式的描述。

(4)DDL:數據定義語言,用來定義數據庫模式、外模式、內模式的語言。

(5)DML:數據操縱語言,用來對數據庫中的數據進行查詢、插入、刪除和

修改的語句。

7.設有商店和顧客兩個實體,〃商店〃有屬性:商店編號、商店名、地址、電話,

〃顧客〃有屬性:顧客編號、姓名、地址、年齡、性別。假設一個商店有多個顧客

購物,一個顧客可以到多個店購物,顧客每次商店購物有一個消費金額和日期,

而且規定每個顧客在每個店里每天最多消費-次。

①試畫出ER圖,并注明屬性和聯系類型。

②將E-R圖轉換成關系模型,注明主碼和外碼

②商店(商店編號,商店名,地址,電話)

顧客(顧客編號,姓名,地址,年齡,性別)

消費(商店編號,顧客編號,消費金額,日期)

8.某企業集團有若干工廠,每個工廠聘用多名職工,且每名職工只能在一個工

廠工作,工廠聘用職工有聘期和工資。工廠的屬性有工廠編號、廠名、地址;職

工的屬性有職工號、姓名、技術等級。

(1)畫出E-R圖

(2)寫出關系模式

(1)

(2)職工(職工號,姓名,技術等級)

工廠(工廠編號,廠名,地址)

聘用(職工號,工廠編號,聘期,工資)

習題2答案

一、不定項選擇題

1.下列說法不正確的是(B)

A.關系模式是靜態的、穩定的,而關系是動態的、隨時間不斷變化的。

B.關系中的每一行對應一個域,每一列對應一個元組.

C.在實際當中,常常把關系模式和關系統稱為關系。

D.關系是一種規范化的二維表。

2.作為關系的二維表的基本性質包括(ABC)

A.元組的順序可以是任意的。

B.任意兩行不能完全相同。

C.不能包含復合屬性。

D.不同的屬性的域必須不同。

3.一個關系中,任意兩個元組(A)。

A.可以部分屬性具有相同的值

B.可以所有屬性值全部相同

C.必須全部相同

D.任何的屬性都不能取值相同

4.下列說法不正確的是(A)

A.關系中的一個元組可對應多個實體值。

B.復合屬性的每個子屬性可以作為關系中一個單獨的屬性。

C.關系模式中不存儲派生屬性,只是在需要時通過計算得到。

D.多值屬性轉換為新的關系。

5.下列關于“鍵”的說法,正確的是(ABCD)

A.能夠標識元組的屬性集稱為該關系的鍵。

B.如果K是一個超健,那么K的任意超集也是超鍵。

C.候選鍵是能唯一地標識一個元組的最小屬性集。

D.一個關系必須有一個主鍵。

6.對于二維表的關鍵字來說,不一定存在的是(A)

A.外鍵B.候選鍵

C.主鍵D.超鍵

7.下列關于“鍵”的說法正確的是(ABC)。

A.主鍵一定是超鍵

B.候選鍵一-定是超鍵

C.超鍵不一定是主鍵

D.候選鍵一定是主鍵

8.下列關于主鍵的說法不正確的是(A)。

A.一個關系中不同元組的主鍵值可以相同

B.主鍵可以是一個屬性也可以是屬性組

C.兩個關系的主鍵可以相同

D.一個關系的主鍵可以是另一個關系的屬性

9.下列說法正確的是(AD)

A.關系模型中,主鍵是實體的唯一標識。

B.關系模型的完整性約束包括實體完整性約束和參照完整性約束。

C.參照完整性屬于表內規則。

D.實體完整性規則要求關系中主鍵的取值必須唯一且非空。

10.下列說法正確的是(BCD)

A.1:m:n聯系轉換成一個獨立的關系,該關系由m端和n端實體的鍵組成。

B.數據庫完整性約束的作用是保障數據庫中數據的正確性和相容性。

C.關系中元組的順序是任意的,屬性的順序也是任意的。

D.同一個關系中不允許存在同名屬性。

II.關系代數中,專門的關系運算包括(ABCD)。

A.選擇

B.投影

C.連接

D.除法

12.設關系R有r個屬性,關系S有s個屬性,則RxS的運算結果有(A)個屬性。

A.r+sB.r-s

C.rxsD.max(r,s)

13.對關系R做投影操作后,操作結果的元組個數(D)關系R的元組個數。

A.等于

B.多于

C.少于

D.少于或等于

14.一般情況下,關系R和關系S進行自然連接的前提條件是這兩個關系包含(C)o

A.相等的元組B.相同的行

C.共有的屬性D.相等的屬性值

15.以下關于外鍵的說法不正確的是(BC)

A.外鍵不一定要與對應的主鍵同名。

B.外鍵一定要與對應的主鍵同名“

C.外鍵的取值必須唯一。

D.外鍵的取值不一定唯一。

16.參照完整性可以通過建立(B)來實現。

A.主鍵約束和唯一約束

B.主鍵約束和外鍵約束

C.候選鍵約束和外鍵約束

D.以上都可以

二、填空題

1.關系模型由關系數據結構―、_關系操作集合_和_關系完整性約束.三部分組成。

2.在關系模型中,實體及實體間的聯系都是用關系來表示的。

3.聯系的關系模型由________聯系的屬性__________及實體的鍵______構成。

4.關系模型的完整性約束包括一實體完整性_、一參照完整性_和_用戶自定義完整性一等。

5.參照完整性是外鍵與主鍵之間的引用規則。

6.表達關系操作的關系數據語言可以分為—關系代數語言_、_關系演算語言_和_具有關系代

數和關系演算雙重特點的語言

7.關系代數中的投影運算是根據某些條件對關系進行垂直分割。

8.關系代數中的選擇運算是根據選擇條件對關系進行水平分割。

9.關系代數中的連接運算是一種特殊的等值連接,要求在結果中把重復的屬性

去掉。

10.校園卡管理系統中的四個關系模式為business、salebillvcard

studento

三、簡答題

1.試述關系模型的完整性規則。在參照完整性中,為什么外鍵屬性也可以為空?什么情

況下才可以為空?

關系的完整性規則也可稱為關系的約束條件。它是對關系的一些限制和規定。通過

這些限制保證數據庫中數據合理、正確和一致。關系的完整性規則包括實體完整性、參

照完整性和域完整性三個方面。

參照完整性要求外鍵取值必須是客觀存在的,即不允許在一個關系中引用另一個關

系不存在的元組。但是外鍵的取值可以有兩種情況:取空值和取非空值。非空值的情況

下一定要是該外鍵被視為鍵的表中的元組,不能取值不存在的外鍵值。

2.數據庫中的關鍵碼有哪些?請分別闡述定義

包括超鍵、候選鍵、主鍵、外鍵。超鍵和候選鍵是唯一地標示關系中元組的屬性或

屬性集,但候選鍵中不含有多余的屬性;主鍵是從候選鍵中人為指定的;外鍵是指一個

關系中包含的另一個關系的主鍵所對應的屬性。

3.為什么關系中不允許有重復元組?

因為關系是一個元組的集合,而集合中的元索不允許重復出現,因此在關系模型中

對關系作了限制,關系中的元組不能重復,可以用鍵來標識唯一的元組。

4.關系與普通的表格、文件有什么區別?

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

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

2)關系中不允許出現相同的元組(沒有重復元組)。

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

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

5.笛卡爾積、等值聯接、自然聯接三者之間有什么區別?

笛卡爾積對兩個關系R和s進行乘操作,產生的關系中元組個數為兩個關系中元組個

數之積。等值聯接則是在笛卡爾積的結果上再進行選擇操作,從關系R和S的笛卡兒積

中選擇對應屬性值相等的元組;自然連接則是在等值聯接(以所有公共屬性值相等為條

件)的基礎上再行投影操作,并去掉重復的公共屬性列。當兩個關系沒有公共屬性時,自

然連接就轉化我笛卡爾積。

四、操作題

1.現有關系數據庫如下:

學生(學號,姓名,性別,專業,獎學金)。

課程(課程號,名稱,學分)。

學習(學號,課程號,分數)。

用關系代數表達式實現下列1-4小題:

(1)檢索〃英語〃專業學生所學課程的信息,包括學號、姓名、課程名和分數。

(2)“檢索”數據庫原理〃課程成績高于90分的所有學生的學號、姓名、專業和分數。

(3)檢索不學課程號為〃C135〃課程的學生信息,包括學號,姓名和專業。

(4)檢索沒有任何一門課程成績不及格的所有學生的信息,包括學號、姓名和專業。

1.依索?英謂?學業學生所學課程的信息,包括學號、姓名.課程名和分數.

n謖桿%.分散((TM=W(學生8^習程))。

2.檢索“數據庫總理"課程成績充于90分的所有學生的學4、姓名、。業和分故.

n學小ng.分數(。力取第NZ耳,(學生㈢學習8?程))。

3.恰索不學潭理號為9135”課用的學生信恩,包括學,3姓幺和9業.

n7%HZ.?*(學生〉n7%M名.。業(。謖—S(學生8學:習))O

4.檢索沒有任何?門課程成績不及格的所有學生的信息,包括學姓名和??業,

n“(學生)-n(◎分觸<6。(學生習))(>

2.現某學校中有若干系,每個系有若干班級和教研室,每個教研室有若干教員,其中有

的是教授和副教授,他們每人各帶若干研究生;每個班有若干學生,每個學生選修若干

課程每門課程可由若干學生選修。請用E-R圖畫出此學校的概念模型。

(1)教務管理系統涉及的實體:

學校:學校編號、學校名稱

系:系編號、系名稱、系辦公地點

班級:班級編號、班級名稱

學生:學號、姓名、性別

課程:課程號、課程名稱

教研室:教研室編號、教研室名稱

教授:職工號、姓名、研究方向

副教授:職工號、姓名、研究方向

其他教員:職工號、姓名、所帶科目

研究生:學號、姓名、性別

(2)這些實體之間的聯系如下:

學校與系,系與班級,系與教研室,教研室與教授/副教授/其他教員,教授與研究

生,副教授與研究生,以及班級與學生之間均為一對多的聯系。即:一個學校可以開設

多個系,而一個系只能被一個學校開設;一個系可以設多個班級,而一個班級只能屬于

一個系;一個系可以開設多個教研室,而一個教研室只能屬于一個系;一個教研室可以有

多名教授/副教授/其他教員,而一個教授/副教授/其他教員只能在一個系內擔任職務;

一個教授或副教授可以帶領多名研究生,而一個研究生只能被一個教授帶領;一個班級

可以有多個學生學習,而一個學生只能在一個班級里學習。一個學生可以選修多門課程,

同樣一門課程也可以同時被多個學生選修,因此課程與學生之間是多對多的聯系。

研究生

學目

3.現在某高校聘用教師(教師號,教師名)使用指定教材(教材號,教材名,出版社名)

進行授課(課程號,課程名,學分),發放的工資與職稱相對應,并且教師的上級領導

也是教師,現已知,

(1)每個教師有唯一的教師號,每個教師號對應唯一的一名教師;

(2)每門課程有唯一的課程號,每個課程號對應唯一的一門課程;

(3)每本教材有唯一的教材號,每個教材號對應唯一的一本教材;

(4)每個教師最多只有一個上級領導,也可以沒有上級領導;

(5)一門課程僅由一名教師講授,一名教師可以講授多門課程:

(6)一本教材可用于多門課程,一門課程可用多本教材;

畫出該系統的ER圖,ER圖中需給出每個實體集的屬性

4.現有商店和顧客兩個實體,“商店”有屬性:商店編號、商店名、地址、電話;“顧

客”有屬性:身份證號、姓名、年齡、性別。假設一個商店有多個顧客購物,一個顧客

可以到多個商店購物,顧客每次去商店購物有一個消費金額,H期,而且規定每個顧客

在每個商店里每天最多消費一次。

(1)試畫出ER圖,并注明屬性和聯系類型。

(2)將E-R圖轉換成關系模型,并注明主碼和外碼,

(1)

(2)

商店(商店編號,商店名,地址,電話)主碼:商店編號外碼:無

顧客(身份證號,姓名,年齡,性別)主碼:顧客編號外碼:無

消費(商店編號,顧客編號,消費金額,日期)主碼:(商店編號,顧客編號)外

碼:商店編號,顧客編號

習題3答案

一、不定項選擇題

1.存在部分函數依賴的關系模式可能存在(ACD)問題。

A.數據冗余B.數據安全

C.數據不一致D.刪除操作異常

2.存在傳遞函數依賴的關系模式可能存在(ABD)問題。

A.數據不一致性B.插入操作異常

C.數據不完整D.刪除操作異常

3.關系模式規范化的主要理論依據是(A)。

A.關系規范化理論B.關系運算理論

C.關系代數理論D.數理邏輯

4.關系模式分解應遵守的基本原則是(AC)。

A.無損連接性B.關系獨立性

C.保持函數依賴性D.上述均不正確

5.求邏輯蘊含的理論依據是(B)o

A.關系規范化理論B.Armstrong公理

C.集合運算D.關系代數

6.關系模式R(A,B,C,D),其函數依賴集合F={(A.B)->C,C->D},R最高達到(B)。

A.INFB.2NF

C.3NFD.BCNF

7.X-Y,且當下列(B)條件成立時,稱為平凡的函數依賴。

A.XCYB.YCX

c.xny=(DD.xny^d)

8.將一個關系模式從2NF規范到3NF,消除了(B〉。

A.非主屬性對候選例的部分函數依賴

B.非主屬性對候選逆的傳遞函數依賴

C.主屬性對候選鍵的部分和傳遞函數依賴

D.非平凡的多值依賴

9.關系模式R是全碼,則R至少屬于(D)。

A.INFB.2NF

C.3NFD.BCNF

10.函數依賴范疇中最高級別的范式是(C)。

A.2NFB.3NF

C.BCNFD.4NF

二、填空題

L_1NF是對關系模式的最低要求,不滿足其的數據庫不是—關系數據庫。

2.設X-Y是關系模式R的一個函數依賴,如果存在X£X,使X,-Y成立,則稱函數依

賴X-Y是一部分—函數依賴。

3.一函數依賴_和一多值依賴—是兩種重要的數據依賴。

4.對于非規范化的模式,—使每個屬性不含子屬性轉變為1NF,符合INF的關系,

―消除非主屬性對所有主屬性的部分函數依賴—絳變為2NF,符合2NF的關系,—

消除非主屬性對所有主屬性的傳遞函數依賴轉變為3NF。

5.對于滿足3NF要求的關系模式R,消除一主屬性之間的部分函數依賴和傳遞函數依賴

將屬于BCNF.

6.已知關系模式R中包含非平凡的多值依賴X--Y,如果R滿足—1NF,且對于R的每個

非平凡多值依賴X--Y(YgX),X都含有鍵—,則稱R屬于4NF。

7關系模式R(A,B,C)的函數依賴集合F={B-A,(A,C)->B},R的候選健是(A,C)和(B,

C)___,R屬于_第三_范式。

8.關系模式R(A,B,C)中存在函數依賴集{A-B,ATC},則候選鍵是_A,R最高

可以達到—BC―范式。

9.關系模式R(A,B,C,D)中存在函數依賴集{A—B,A->C,A->D,(B,C)->A},則候選鍵

是_A和(B,C),關系模式R(A,B,C,D)屬于BC_范式。

10.在規范化理論中,關系分解的兩個基本原則是一無損連接性—和—保持函數依賴

性—。

三、解答題

1.現有關系模式SCG(Sno,Sname,Sage,Cno,Grade),請回答有關問題:

(1)寫出該關系模式的碼,主屬性,非主屬性

(2)寫出該關系模式的函數依賴

(3)該關系模式屬于第兒范式?為什么?

(1)碼:(SNO,CNO)主屬性:SNO,CNO非主屬性:SNAME,SAGE,GRADE

(2)函數依賴:(SNO,CNO)——>SNAME,(SNO,CNO)——>SAGE,

(SNO,CNO)——>GRADE,SNO——>SNAME,SNO——>SAGE

(3)存在非主屬性sname部分函數依賴于碼,是1范式

2.現有如下關系模式:R(教師號,姓名,部門號,部門名稱,科研項目編號,項目名稱,項

目經費,擔任工作,完成時間)每名教師可以參加多項科研項目,每個項FI可以有多名教師

參加,教師參加科研工作包括擔任T.作及他完成所擔任部分的完成時間。(1)根據上述條件,

寫出關系模式R的關鍵碼。(2)R最高屬于第幾范式,為什么?(3)將R規范到3NF。

(1)候選碼(教師號,部門號,科研項目編號)

(2)第一范式,存在姓名依賴于教師號,而擔任工作依賴于教師號和科研項目編號,屬于非

主屬性對碼的部分函數依賴

(3)

教師(教師號,姓名)

部門(部門號,部門名稱)

科研項目(科研項目編號,項目名稱,項目經費)

教師科研情況(教師號,科研項目編號,擔任工作,完成時間)

3.設R(ABC),F={A->B:在R上成立,P={AB,AC}

試分析上述分解是否具有無損聯接和保持函數依賴的特點:

首先檢驗是否具有無損連接的特點

設R1=AB,R2=AC

RinR2=A

R2-R1=B

???A-B,???該分解是無損聯接分解。

然后,檢查分解是否保持函數依賴

n”(Fl)={A-*B,以及按白反率推出的一些函數依賴:

nK(Fl)={按自反率推出的一些函數依賴}

F1被TTRI(Fl)所縊淅,所以該分解保持函數依賴。

4.現某高校課程管理中如下業務規則:

(1)一個系可聘用多名教師,一名教師只能受聘于一個系;

(2)一名教師有一名領導,一位領導管理多名教師,領導也是教師;

(3)一名教師可講授多門課程,一門課程可由多名教師講授;

(4)一門課程可以有多門先修課程,也可以沒有先修課程。一門課可以是多門課程的

先修課程。

(5)一門課程可以使用多本教材,一本教材也可以用于多門課程。

問題:

(1)請根據以上信息,畫出ER圖。各實體的基本屬性如下所示:

系(系編號、系名,系辦公電話)

教師(教師號、教師名、職稱、工資,聘用日期)

課程(課程號、課程名,學分)

教材(教材號,教材名,出版社名)

(2)將ER圖轉換為滿足3NF的關系模式,并說明每個關系模式的主碼和外碼。

(1)

(2)

系(系編號,系名,系辦公電話)

主碼:系編號

無外碼

教師(教師號,教師名,系編號,工資,職稱,聘用日期,領導教師號)

主碼:教師號

外碼:系編號,領導教師號

說明:一位教師最多有一位領導,把領導的教師號放在教師表中,就可以描述二者之間

的領導關系了。這個例子中,外碼和主碼在同一表,外碼和主碼的屬性名不同。

課程(課程號,課程名,學分)

主碼:課程號

無外碼

講授(教師號,課程號)

主碼:(教師號,課程號)

外碼:教師號,課程號

先修課程(課程號,先修課程號)

主碼:(課程號,先修課程號)

外碼:課程號,先修課程號

說明:該答案描述的是以下情況;一門課可能有多門先修課程,一門課程也可能是多門

課程的先修課程,課程和先修課程之間是多對多聯系,需要單獨做一張“先修課程”表

來表述二者的聯系,否則會產生不必要的冗余。假如在某些學校,一門課最多只有一門

先修課程,一門課可能是多門課程的先修課程,或者一門課可能有多門先修課程,而一

門課程最多是一門課程的先修課程,這兩種情況,都不需要單獨做一張“先修課程”表,

而是把把聯系中一端的關鍵字放在多的一端作為外碼,就可以描述課程和先修課程的關

系了。

5.設有如下表所示的關系R。

職工號職工名年齡性別單位號單位名

E1ZHAO20FD3ccc

E2QIAN25MDIAAA

E3SEN38MD3CCC

E4LI25FD3CCC

試問R是否屬于3NF?為什么?若不是,它屬于第幾范式。并如何規范化為3NF?

R不屬于3NF,它是2NF。因為存在非主屬性單位名對候選碼職工號的傳遞函數依賴。

規范化后的關系子模式為如下所示的關系R1與R2o

R1

職工號職工名年齡性別單位號

ElZHAO20FD3

E2QIAN25MDI

E3SEN38MD3

E4LI25FD3

R2

習題4答案

一、不定項選擇題

I.SQL的基本功能有(ABCD)

A.數據查詢B.數據控制

C.數據操作D.數據定義

2.在SQL中,元組稱為(C)o

A.排B.組

C.行D.列

3.實體完整性約束包括(ACD)o

A.空值約束B.用戶自定義約束

C.主鍵約束D.唯一值約束

4.下列關于主鍵約束的說法正確的是(ABD)

A.主鍵的值要唯一,

B.組合主鍵中的任何一個列都不能出現空值。

C.主鍵約束是對表的約束,所以只能是表約束。

D.主鍵約束可保證實體完整性。

5.創建基本表的SQL語句為(B)o

A.ALTERTABLEB.CREATETABLE

C.DELETETABLED.以上都不是

二、填空題

1.SQL的術語與關系模型的術語不同。SQL中,關系模型的模式稱為_____基本表

內模式稱為存儲文件,子模式稱為視圖_____o

2.SQL的術語與關系數據模型的術語不同。SQL中,關系數據模型的元組稱為一行

屬性稱為一列。

3.SQL的數據定義語句包括create、___alter、drop。

4.SQL的數據操縱語句包括insert、delete、update。

5.SQL的數據查詢語句是__select一。

三、簡答題

1.簡述PRIMARYKEY約束與UNIQUE約束之間存在的區別。

Unique是唯一約束,Primarykey是主鍵約束,他們都能保持數據的唯?性。但Urique

可以有空值,而Primarykey不允許有空值。并且Primalkey可以被外鍵引用,但Uriqu。

不能。

2.簡述基本表和視圖的聯系和區別。

聯系:視圖是建立在基本表之上的表,它的結構(即所定義的列)和內容(即所有數據

行)都來自基本表,它依據基本表存在而存在。一個視圖可以對應一個基本表,也可以對應

多個基本表。視圖是基本表的抽象和在邏輯意義上建立的新關系。

區別:

1、視圖是已經編譯好的SQL語句。而基本表表不是。

2、基本表有實際的物理記錄。而視圖沒有。

3、基本表是內容,視圖是窗口。

4、基本表占用物理空間而視圖只是邏輯概念的存在,不占用物理空間。

5、表可以及時對它進行修改,但視圖只能由創建的語句來修改。

6、表是內模式,視圖是外模式。

7、表屬于全局模式中的表,是實表;視圖屬于局部模式的表,是虛表。

8、視圖的建立和刪除只影響視圖本身,不影響對應的基本表。

3.簡述MySQL支持的基本數據類型。

MySOL的數據類型主要包含以下四種:

①數值類型,主要包括嚴格數值數據類型和近似數值數據類型。嚴格數值數據類型包括

TINYINT,SMALLINT,MEDIUMINT,INT,BIGINT等。近似數值數據類型包括FLOAT,DOUBLE

②字符串類型,主要有:CHAR,VARCHAR,BINARY,VARBINARY,TEXT,BLOB等。

③時間和日期數據類型,主要包括DATE,DATETIME,TIMESTAMP,TIME,YEAR。

④其他數據類型,如枚舉類型ENUM,集合類型SET

四、操作題

1.現有如下數據表

(1)學生表

Student(s_id,s_name,s_birth,s_sex)一學生編號,學生姓名,出生年月,學生性別

(2)課程表

Course(c_id,c_name;t_id)一課程編號,課程名稱,教師編號

(3)教師表

Teacher(tid,tname)一教師編號,教師姓名

(4)成績表

Score(s_id,c_id,s_score)一學生編號,課程編號,分數

試根據要求寫出對應語句

(1)查詢編號為“001”的課程比編號為"002”的課程成績高的學生的信息及課程分數

selecta.*,b.s_scoreas()01score,c.s_scoreas002_score

fromstudenta;scoreb,scorec

wherea.s_id=b.s_id

anda.s_id=c.s_id

andb.c_id="001”

andc.c_id=“002”

andb.s_score>c.sscore

(2)查詢平均成績大于等于50分的同學的學生編號和學生姓名和平均成績(成績包括有成

績和無成績的)

selectb.s_id,b.sname,F^OUND(AVG(a.sscore),2)asavgscore

Fromstudentbleftjoinscorea

onb.s_id=a.s_id

GROUPBYb.s_id,b.s_name

HAVINGavg_score<50

union

selecta.s_id,a.s_name,0asavgscore

Fromstudenta

wherea.s_idnotin

(selectdistincts_idfromscore);

(3)查詢沒學過〃張三”老師授課的同學的信息

select*fromstudentc

wherec.s_idnotin

(selecta.s_idfromstudentajoinscoreb

ona.s_id=b.s_id

whereb.c_idin

(selecta.c_idfromcourseajointeacherb

ona.t_id=b.t_id

wheret_name二'張三'));

習題5答案

二、不定項選擇題

1.下列關于SQL語句說法正確的是(B)

A.SQL語句中不允許有多余的空格。

B.SQL語句中的所有符號要求是半角狀態。

C.SQL語句會對大小寫進行區分。

D.上述說法均錯誤。

2.下列說法錯誤的是(BC)

A.CREATETABLE語句中每個列定義子句之間用逗號分隔。

B.每個SQL語句以半括號結束。

C.創建基本表包括定義表結構和插入數據記錄。

D.涉及多個列的完整性約束必須定義在表級。

3.下列關于基本表的說法正確的是(BD)

A.基本表由關系模式和表結構組成。

B.創建基本表時,只需要定義表的結構。

C.創建基本表時,需要同時輸入相關數據。

D.表結構包括表名、列名、列的數據類型和約束條件等。

4.NULL的意義是(C)o

A.空白B.零

C.不確定、沒有數據D.無正確答案

5.下列說法錯誤的是(BC)

A.CHECK既可以用于列約束,也可以用于表約束。

B.不能為同一個列或一組列既定義主鍵約束,又定義唯一值約束。

C.UNIQUE僅用于列約束。

D,包含外鍵的表為從表,要遵守參照完整性約束。

6.下述SQL語句中,定義列約束的是(ABC)。

A.NOTNULLB.UNIQUE

C.CHECKD.HAVING

7,下列關于修改表的說法錯誤的是(D)

A.RESTRICT方式表示拒絕刪除或更新基本表。

B.基本表中新增加的列中一律為空值。

C.ADD子句既可以用于增加新列,又可以用于增加新的完整性約束。

D.修改原有的列定義,會使列中數據做新舊類型的自動轉化,但不會破壞已有數據。

8.下列語句中正確的是(BCD)

A.ALTERTABLEALTERCOLUMNageint(3);

B.ALTERTABLEsiudentDROPCOLUMNgenderchar(2);

C.ALTERTABLEsiudentDROPCOLUMNclass;

D.ALTERTABLEstudentADDmajorchar(8);

9.當需要刪除基本表及其下屬所有的對象時,應使用參數(A)o

A.CASCADEB.ASC

C.RESTRICTD.DESC

10.下列關于索引的說法錯誤的是(BC)。

A.一個表最多只能創建一個聚集索引

B.一個表最多只能創建一個索引

C.在主鍵上建立的索引一定是聚集索引

D.聚集索引比非聚集索引的查詢速度快

二、填空題

6.定義列的排序方式時,―ASC表示按照升序排列,DESC表示按照

降序排列。如果不指定排列順序,默認的是一升序一排列。

7.在定義索引類型時,CLUSTER表示要定義聚集索引,

—NONCLUSTERED表示要定義非聚集索引。

8.在定義基本表時,如果不指定主鍵是否是聚集的,默認是在主鍵上創建一聚集

索引。

4.更新基本表時,constraint表示約束方式,必須在基本表沒有任何派生對象

時方可更新基本表。

5.刪除基本表時,cascade表示級聯方式,刪除基本表的同時自動刪除基本

表上創建的視圖、索引等數據庫對象。

三、簡答題

1、簡凝集索引和非聚集索引的特點。

聚集索引:表中存儲的數據按照索引的順序存儲,檢索效率比普通索引高,

索引占用硬盤。存儲空間小(設左右),但對數據新增/修改/刪除的速度影響比

較大(降低)。

特點:

(1)無索引,數據無序

(2)有索引,數據與索引同序

(3)數據會根據索引鍵的順序重新排列數據

(4)一個表只能有一個索引

(5)葉節點的指針指向的數據也在同一位置存儲

非聚集索引:不影響表中的數據存儲順序,檢索效率比聚集索引低,索引

占用硬盤存儲。空間大(30%~40%),對數據新增/修改/刪除的影響很少。

特點:

(1)一個表可以最多可以創建249個非聚集索引

(2)先建聚集索引才能創建非聚集索引

(3)非聚集索引數據與索引不同序

(4)數據與非聚集索引在不同位置

(5)非聚集索引在葉節點上存儲,在葉節點上有一個“指針”直接指向

要查詢的數據區域

(6)數據不會根據非聚集索引鍵的順序重新排列數據

2.解釋drop和delete的不同。

drop用于刪除基本表,delete用于刪除表中數據。

3.闡述GRANT和REVOKE的用法。

gram是授予權限語句,revoke是回收權限語句,都具有對SQL語言的安全控

制功能。

四、操作題

1、創建數據庫STUxxxx(其中xxxx為自己的姓名)。

createdatabasestu1iuxinlei;

2、在STUxxxx數據庫中使用SQL語句創建如下的表結構:

列名數據類長度可否為空默認值說明

序號(xs_id)Int否自增字段,主鍵

學號(stu_id)Char7否無唯一鍵

姓名(stuname)Char8否無

性別(stu_sex)否男只能為男或女

出生日期(stu_birth)Datetim否無

e

班級(stu_class)Char5是⑷02r

總學分(stu_credit)Tinyint是0

是否團員Char1是

(whether_the_member)

身份證號(car_id)char18是

備注(remark)text是無

createtableXS(

xs_idintnotnullAUTO.INCREMENT,

stu_idchar(7)notnullunique,

stunamechar(8)notnull,

stu_sexenum:男','女')notnulldefault'男',

stubirthdatetimenotnull,

stu_classchar(5)default'41021',

stucredittinyintdefault0,

whether_the_nemberchar(1),

caridchar(18),

remarktext,

primarykey;xs_id));

3、修改學生情況表1XS)的“姓名”字段,使其數據類型改為varchar(lO),

且允許為空。

altertableXSmodifystu_namevarchar(10)null

4、查詢XS表中所有同學的學號、姓名和總學分,結果中各列的標題分別指定

為num,name和mark?

selectstu_idasnum,stu_nameasname,stu_creditasmarkfromXS;

5、將XS表中學號為“4102101”的同學的總學分增加4分,備注改為“提前修

完一門課程”。

updateXS

setstu_credit=stu_credit+4,remark='提前修完一門課程'

wherestu_id='4102101';

習題6答案

一、不定項選擇題

1.數據庫的數據操縱包括(ABD)o

A.插入B.刪除

C.覆蓋D.修改

2.以下SQL語句中屬于數據操縱語言的是(CD)。

A.ALTERB.CREATE

C.DELETED.UPDATE

3.下列關于數據操縱語句的說法錯誤的是(A).

A.—個INSERT語句只能插入一行數據

B.一個INSERT語句可以插入多行數據

C.一個UPDATE語句可以更新多行數據

D.一個DELETE語句可以刪除多行數據

4.對數據庫進行插入操作時,應使用(B)語句。

A.ALTERB.INSERT

C.SELECTD.ADD

5.更新數據時,(ABC)o

A.使用UPDATE語句一次可以更新多行數據

B.如果不提供WHERE子句,表中的所有記錄都將被更新

C.使用WHERE子句指定更新數據的條件時,一種是基于本表條件的更新,另一種是

基于其他表條件的更新

D.基于其他表條件的更新只能通過多表連接實現

6.插入數據時,若INSERT語句中只指定部分列和數據,可能出現的情況(ABCD)

A.如果該列不能為空且沒有缺省值,則會出錯。

B.如果該列可以為空且沒有缺省值,則會被賦值為空值。

C.如果該列有缺省值,則用缺省值為其賦值。

D.如果該列的數據類型是自增型,則會自動被賦值為一個新值。

7.一次向基本表中插入多行時,INSERT語句中子查詢結果集中的(ABD)必須與表

名所指的基本表中相應各項匹配或兼容。

A.列數B.列序

C.數據結構D.數據類型

8.用于定義、刪除和修改數據庫對象的語言是(A)o

A.DDLB.DML

C.DCLD.DEL

9.下列描述正確的是(A)。

A.DELETE語句可以刪除表中的數據

B.DELETE語句可以刪除表結構

C.DELETE語句可以刪除數據庫模式

D.DELETE語句與DROP語句作用相同

10.以下關于UPDATE的描述正確的是(ABD)。

A.WHERE子句指定更新條件

B.SET子句指定新值

C.更新操作不受完整性約束的限制

D.一個UPDATE語句可以更新多個數據

二、填空題

1.SQL中,向表中插入行,需要使用—INSERT語句。刪除表中的行,需要使用

DELETE語句。修改表中已經存在的行,需要使用UPDATE語

句。

2.在更新基本表的數據時,如果不提供WHERE子句,一所有的數據都將被更新一。

3.如果一個表有多個字段,通過把字段名和字段值用

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論