數(shù)據(jù)庫第三章作業(yè)_第1頁
數(shù)據(jù)庫第三章作業(yè)_第2頁
數(shù)據(jù)庫第三章作業(yè)_第3頁
數(shù)據(jù)庫第三章作業(yè)_第4頁
數(shù)據(jù)庫第三章作業(yè)_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第三章關(guān)系數(shù)據(jù)庫系統(tǒng)RDBS作業(yè)一.簡答題表間數(shù)據(jù)完整性的實(shí)現(xiàn)方式?答:外鍵約束。對(duì)于表中幾個(gè)特殊的列,如主鍵、候選鍵和外鍵,分別用什么限制來保證它們的完整性?對(duì)表中其它一般性的列,用什么限制來保證它們的完整性?答:主鍵:主鍵約束。

候選鍵:唯一約束。

外鍵:外鍵約束。

一般性列:檢查約束和斷言。SQL-92標(biāo)準(zhǔn)支持的完整性限制是否一定會(huì)在SQLSERVER中實(shí)現(xiàn),舉例說明?答:不一定。

SQL-92標(biāo)準(zhǔn)推薦斷言,SQL

Server不支持?jǐn)嘌浴?/p>

SQL

Server支持觸發(fā)器,SQL-92標(biāo)準(zhǔn)沒有定義觸發(fā)器。SQLSERVER中缺省和規(guī)則的目的?答:指定列的取值范圍。外鍵限制定義的條件?答:定義外鍵約束的列必須是另一個(gè)表中的主鍵或候選鍵。請說明在維護(hù)表間數(shù)據(jù)完整時(shí)外鍵限制與觸發(fā)器的3點(diǎn)不同之處。答:eq\o\ac(○,1).錯(cuò)誤信息的管理上:約束與觸發(fā)器在遇到問題時(shí)都可以返回給用戶一定的錯(cuò)誤信息。但

是,觸發(fā)器可以返回?cái)?shù)據(jù)庫管理員自定義的錯(cuò)誤信息,而且還可以實(shí)現(xiàn)較為復(fù)雜的邏輯控制,

而約束只能夠通過標(biāo)準(zhǔn)化的系統(tǒng)錯(cuò)誤信息來傳遞錯(cuò)誤消息;

eq\o\ac(○,2).性能上的差異分析:從性能上來說,約束的執(zhí)行性能都要高一點(diǎn)。雖然約束的執(zhí)行性能

比較高,但是其向用戶提供的錯(cuò)誤信息確實(shí)非常有限的。

eq\o\ac(○,3).管理維護(hù)的工作量:由于約束基本上都是數(shù)據(jù)庫現(xiàn)成的解決方案。無論是索引約束還是

外鍵約束,又或者是check約束。往往在數(shù)據(jù)庫系統(tǒng)中已經(jīng)有了現(xiàn)成的解決方案。數(shù)據(jù)庫管理員通過直接引用這些解決方案即可以實(shí)現(xiàn)特定的功能,而不用再費(fèi)力的編寫觸發(fā)器來實(shí)現(xiàn)。而觸發(fā)器中系統(tǒng)沒有現(xiàn)成的可以引用,而都需要數(shù)據(jù)庫管理員通過實(shí)際清理來進(jìn)行編寫關(guān)系代數(shù)的基本操作符?笛卡爾乘積最大的好處是什么?最大的缺點(diǎn)又是什么?答:EQ\o\ac(○,1)基本操作符:SELECTION

(選擇)、PROJECTION(投影)、UNION(并,或稱聯(lián)合)、INTERSECTION(交)、DIFFERENCE(差)、CROSS

PRODUCT(積,或稱笛卡爾乘積)。EQ\o\ac(○,2)最大的作用:可將兩張或多張有關(guān)聯(lián)(即有相同的列)或無關(guān)聯(lián)的表的數(shù)據(jù)組合起來。EQ\o\ac(○,3)最大缺點(diǎn):組合后可能有許多無意義的數(shù)據(jù)組合。為什么說在實(shí)際查詢中自然連接是用得比較多的?答:當(dāng)兩個(gè)關(guān)系通過外鍵聯(lián)系時(shí),自然聯(lián)結(jié)將用得非常頻繁。關(guān)系代數(shù)中對(duì)結(jié)果有重復(fù)元組時(shí),如何處理?SQL中呢?答:EQ\o\ac(○,1)關(guān)系代數(shù)中:去掉重復(fù)元組。

EQ\o\ac(○,2)SQL中:保留重復(fù)元組。連接的分類?為何有3種外連接?答:EQ\o\ac(○,1)條件聯(lián)結(jié)、等聯(lián)結(jié)、自然聯(lián)結(jié)、外聯(lián)結(jié)。EQ\o\ac(○,2)因?yàn)镽|╳|S有三種情況即可能S中沒有匹配R的行則為左聯(lián)結(jié),或R中沒有匹配S的行則為右聯(lián)結(jié),若R、S中均無匹配的行,則為全外聯(lián)結(jié)。二.單項(xiàng)選擇題1.(③)不是關(guān)系代數(shù)的基本操作。①Selection②Projection③Join④Intersection2.(③)用唯一限制來約束。①主鍵②外鍵③候選鍵④簡單鍵3.(②)與“列”不同義。①字段②元組③成員④屬性三.改錯(cuò)題(將劃線部分改正填入各題后的括號(hào)中)關(guān)系代數(shù)中笛卡爾乘積操作的好處是可進(jìn)行選擇和投影。(可將兩張或多張有關(guān)聯(lián)(即有相同的列)或無關(guān)聯(lián)的表的數(shù)據(jù)組合起來)外連接是條件連接的特例。(外連接是自然連接的特列)關(guān)系代數(shù)是與ER模型有關(guān)的查詢語言。(關(guān)系模型)六.設(shè)有如下圖所示三個(gè)關(guān)系實(shí)例X、Y和Z,請分別求出下列各表達(dá)式的值。(1)σA=a1(Y×Z) (2)YZ(3)XYZ答:EQ\o\ac(○,1)B

(C)

A

(C)

b1

c2

a1

c1

b2

c1

a1

c1

b1

c1

a1

c1

b1

c3

a1

c1

b1

c2

a1

c2

b2

c1

a1

c2

b1

c1

a1

c2

b1

c3

a1

c2EQ\o\ac(○,2)A

B

C

a1

b2

c1a1

b1

c1

a1b1c2a2

b1

c3a3

null

c4

EQ\o\ac(○,3)

A

B

C

a1

b1

c1

a1

b1

c2

a1

b2

c1

a2

b1

c3一個(gè)電影資料庫有四個(gè)實(shí)體“電影”,“演員”,“導(dǎo)演”,“電影公司”?!半娪啊钡膶傩杂须娪熬幪?hào),電影名,電影類型,對(duì)白語言;“演員”的屬性有演員工作證號(hào),姓名,出生年,性別;“導(dǎo)演”的屬性有導(dǎo)演工作證號(hào),姓名,出生年,性別;“電影公司”的屬性有公司名稱,所在國家。這些實(shí)體間的聯(lián)系及它們的屬性有:演員出演電影,為多對(duì)多聯(lián)系,該聯(lián)系含角色屬性;導(dǎo)演執(zhí)導(dǎo)電影,每部電影只由一個(gè)導(dǎo)演執(zhí)導(dǎo);演員屬于電影公司;導(dǎo)演屬于電影公司;電影公司出品電影,有出品年份屬性。請畫出ER圖,要求標(biāo)出實(shí)體的主鍵、聯(lián)系的約束類型和鍵約束。將此ER圖轉(zhuǎn)換為關(guān)系模型,要求標(biāo)出各關(guān)系的主鍵,如果存在的話還應(yīng)指明其候選鍵和外鍵。假定“電影公司”為主表,“導(dǎo)演”為從表,請利用觸發(fā)器方式,定義從表到主表方向的完整性。請用關(guān)系代數(shù)表達(dá)式和SQL分別表達(dá)下列查詢①查詢1957年之前出生的男演員的姓名。②查詢2000年環(huán)球公司出品的電影的名字和導(dǎo)演姓名。③查詢張一導(dǎo)演所導(dǎo)演的影片中的主角演員姓名。答:eq\o\ac(○,1)EQ\o\ac(○,2)電影(電影編號(hào),電影名,電影類型,對(duì)白語言,導(dǎo)演工作證號(hào),公司名稱),電影編號(hào)為主鍵,導(dǎo)演工作證號(hào)和公司名稱分別為外鍵。

演員(演員工作證號(hào),姓名,出生年,性別,公司名稱),演員工作證號(hào)為主鍵,公司名稱為外鍵。

導(dǎo)演(導(dǎo)演工作證號(hào),姓名,出生年,性別,公司名稱),導(dǎo)演工作證號(hào)為主鍵,公司名稱為外鍵。

電影公司(公司名稱,所在國家),公司名稱為主鍵。

出演(演員工作證號(hào),電影編號(hào),角色),(演員工作證號(hào),電影編號(hào))為主鍵,演員工作證號(hào)和電影編號(hào)分別為外鍵。

執(zhí)導(dǎo)(導(dǎo)演工作證號(hào),電影編號(hào)),電影編號(hào)為主鍵,導(dǎo)演工作證號(hào)和電影編號(hào)分別為外鍵。

屬于1(演員工作證號(hào),公司名稱),演員工作證號(hào)為主鍵,演員工作證號(hào)和公司名稱分別為外鍵。

屬于2(導(dǎo)演工作證號(hào),公司名稱),導(dǎo)演工作證號(hào)為主鍵,導(dǎo)演工作證號(hào)和公司名稱分別為外鍵。

出品(電影編號(hào),公司名稱,出品年份),電影編號(hào)為主鍵,電影編號(hào)和公司名稱分別為外鍵。

EQ\o\ac(○,3)CREATE

TRIGGER

導(dǎo)演_iu

ON

導(dǎo)演

FOR

INSERT,

UPDATE

AS

DECLARE

@num_rows

INT

SELECT

@num_rows

=

@@rowcount

IF

@num_rows

=

0

RETURN

IF

(

SELECT

count(*)

FROM

電影公司

d,

inserted

i

WHERE

d.公司名稱

=

i.公司名稱

)

!=

@num_rows

BEGIN

RAISERROR

53334

ROLLBACK

TRANSACTION

RETURN

END

RETURNEQ\o\ac(○,4)EQ\o\ac(○,一)π姓名(σ出生年

<

1957(演員)∩σ性別

=

男(演員))

SELECT

姓名

FROM演員

WHERE出生年

<

1957

AND

性別

=

‘男’EQ\o\ac(○,二)π電影名,

導(dǎo)演.姓名(σ出品年份

=

2000(出品

電影

導(dǎo)演)∩σ公司名稱

=

環(huán)球公司(出品

電影

導(dǎo)演))

SELECT

電影名,

導(dǎo)演.姓名

FROM出品

NATURAL

JOIN

電影NATURAL

JOIN導(dǎo)演

WHERE出品年份

=

2000

AND

公司名稱

=

‘環(huán)球公司’EQ\o\ac(○,三)π演員.姓名(σ導(dǎo)演.姓名

=

張一(導(dǎo)演

執(zhí)導(dǎo)

出演

演員))SELECT

演員.姓名

FROM

導(dǎo)演

NATURAL

JOIN

執(zhí)導(dǎo)

NATURAL

JOIN

出演

NATURAL

JOIN

演員

WHERE

導(dǎo)演.姓名

=

‘張一’

某出版社管理系統(tǒng)有四個(gè)實(shí)體,即出版社(Publisher)、編輯(Editor)、作者(Author)和書籍(Book)?!俺霭嫔纭钡膶傩杂谐霭嫔缇幋a(Pid)、出版社名稱(Pname)、地址(Paddr)和電話(Ptel);“編輯”的屬性有編輯工號(hào)(Eid)、姓名(Ename)、性別(Egender)、出生日期;“作者”的屬性有作者編碼(Aid)、姓名(Aname)、性別(Agender)、電話(Atel);“書籍”的屬性有國際圖書分類號(hào)(Isbn)、書名(Bname)、單價(jià)(Bprice)。這些實(shí)體間的聯(lián)系及它們的屬性有:作者“主編”(ZX)書籍,為1:n聯(lián)系;編輯“校對(duì)”(JD)書籍,為1:n聯(lián)系;出版社“出版”(CB)書籍,為1:n聯(lián)系;“出版”的屬性有出版日期(Pdate)。請畫出概念數(shù)據(jù)模型的E-R圖,要求標(biāo)注聯(lián)系的約束類型和鍵約束。將此E-R圖表示的數(shù)據(jù)模型轉(zhuǎn)換為關(guān)系模型,要求標(biāo)出各關(guān)系的主鍵。給出創(chuàng)建“出版”關(guān)系(表)的SQL語句(需要?jiǎng)?chuàng)建相應(yīng)的主鍵約束和外鍵約束)。創(chuàng)建一個(gè)由地址中含有“成都市”的出版社出版的書籍的視圖。請分別用關(guān)系代數(shù)表達(dá)式和SQL查詢語句表達(dá)下列查詢:①由出版社“XNJDP”出版的、由編輯名為“MTQ”校對(duì)的書籍的ISBN號(hào)和書名。②由“男”性作者主編的、且由出版社“XNJDP”在2008.1.1至2008.12.31之間出版的書籍的ISBN號(hào)和書名。③由“女”性編輯校對(duì)的、且單價(jià)在20至40元之間的書籍的ISBN號(hào)和書名。答:eq\o\ac(○,1)EQ\o\ac(○,2)出版社Publisher(出版社編碼Pid,出版社名稱Pname,地址Paddr,電話Ptel)

,出版社編碼Pid為主鍵。作者Author(作者編碼Aid,姓名Aname,性別Agender,電話Atel),作者編碼Aid為主鍵。

編輯Editor(編輯編碼Eid,姓名Ename,性別Egender,電話Etel)

,編輯編碼Eid為主鍵。

書籍Book(國際圖書分類號(hào)Isbn,書名Bname,單價(jià)Bprice,出版社編碼Pid,作者編碼Aid,編輯編碼Eid),國際圖書分類號(hào)Isbn為主鍵,出版社編碼Pid和作者編碼Aid和編輯編碼Eid分別為外鍵。

出版CB(出版社編碼Pid,國際圖書分類號(hào)Isbn,出版日期Pdate),國際圖書分類號(hào)Isbn為主鍵,出版社編碼Pid和國際圖書分類號(hào)Isbn分別為外鍵。

主編ZB(作者編碼Aid,國際圖書分類號(hào)Isbn),國際圖書分類號(hào)Isbn為主鍵,作者編碼Aid和國際圖書分類號(hào)Isbn分別為外鍵。

校對(duì)JD(編輯編碼Eid,國際圖書分類號(hào)Isbn),國際圖書分類號(hào)Isbn為主鍵,編輯編碼Eid和國際圖書分類號(hào)Isbn分別為外鍵。EQ\o\ac(○,3)CREATE

TABLE

CB

(

Pid

char(20)

NOT

NULL

CONSTRAINT

Pid_const

REFERENCES

Publisher(

Pid)

ON

DELETE

CASCADE

ON

UPDATE

CASCADE,

Isbn

char

(20)

PRIMARY

KEY

CONSTRAINT

Isbn_const

REFERENCES

Book(

Isbn)ON

DELETE

CASCADE

ON

UPDATE

CASCADE,

Pdate

datetime

NOT

NULL)EQ\o\ac(○,4)CREATE

VIEW

Bookview

AS

SELECT

Isbn,Bname,Bprice,Pid,Aid,Eid

FROM

Publisher

NATURAL

JOIN

Book

WHERE

Publisher.Paddr

like

‘%成都市%’EQ\o\ac(○,5)EQ\o\ac(○,一)

πIsbn,Bname(σPname

=

XNJDP(Publisher

Editor

Book)∩σEname

=

MTQ(Publisher

Editor

Book))SELECT

Isbn,Bname

FROM

Publisher

NATURAL

JOIN

Editor

NATURAL

JOIN

Book

WHERE

Pname

=

‘XNJDP’

AND

Ename

=

‘MTQ’

EQ\o\ac(○,二)πIsbn,Bname(σAgender

=

男(Publisher

Author

Book

CB)∩σ

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論