2021年據(jù)庫系統(tǒng)概論平時作業(yè)參考答案_第1頁
2021年據(jù)庫系統(tǒng)概論平時作業(yè)參考答案_第2頁
2021年據(jù)庫系統(tǒng)概論平時作業(yè)參考答案_第3頁
2021年據(jù)庫系統(tǒng)概論平時作業(yè)參考答案_第4頁
2021年據(jù)庫系統(tǒng)概論平時作業(yè)參考答案_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

《數(shù)據(jù)庫系統(tǒng)概論》平時作業(yè)參照答案

(開本)

課程性質(zhì):必修

基本內(nèi)容:第一次第二次第三次第四次

參照材料:重慶電大網(wǎng)上教學(xué)資源課程作業(yè)講評

輔導(dǎo)專業(yè):05秋及06春開本計算機科學(xué)與技術(shù)

使用時間:秋期

工作單位:巫山縣師培中心

整頓人:李賢光

整頓時間:.11

《數(shù)據(jù)庫系統(tǒng)概論》平時作業(yè)1

1、簡述數(shù)據(jù)、數(shù)據(jù)模型、數(shù)據(jù)庫、關(guān)系數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫系統(tǒng)概念。

答:

數(shù)據(jù):凡計算機中用來描述事物記錄都可以稱為數(shù)據(jù)。

數(shù)據(jù)模型:一種對客觀事物抽象化體現(xiàn)形式。

數(shù)據(jù)庫:是由DBMS管理數(shù)據(jù)匯集。

關(guān)系數(shù)據(jù):以關(guān)系模型即二維表為基本數(shù)據(jù)庫系統(tǒng).

數(shù)據(jù)庫管理系統(tǒng):專門用于建立和管理數(shù)據(jù)一套軟件,介于應(yīng)用程序和操作系統(tǒng)之間。

數(shù)據(jù)庫系統(tǒng):涉及和數(shù)據(jù)關(guān)于整個系統(tǒng),涉及數(shù)據(jù)庫、DBMS、應(yīng)用程序以及數(shù)據(jù)庫

管理人員和顧客等。

2、數(shù)據(jù)庫系統(tǒng)有哪些特點。

答:

1)數(shù)據(jù)構(gòu)造化

2)數(shù)據(jù)共享性好,冗余度好

3)數(shù)據(jù)獨立性好

4)數(shù)據(jù)由DBMS統(tǒng)一管理和控制,保證多顧客并發(fā)安全可靠地訪問

3、假設(shè)學(xué)生關(guān)系Student涉及五個屬性:學(xué)號StudentNo、姓名StudentName、年齡

StudentAgeA性別StudentSex和所在系Department。

⑴指出該關(guān)系鍵碼和屬性類型;

⑵給出三個恰當元組。

答:

⑴該關(guān)系鍵碼是:學(xué)號;

屬性類型:學(xué)號:字符型;姓名:字符型;年齡:整型;性別:布爾型;所在系:字符

型。

學(xué)號姓名年齡性另IJ所在系

張三25.T.計算機

李四24.T.化學(xué)

王燕25.F.中文

4、假設(shè)圖書關(guān)系Library包括三個屬性:圖書號BookNo、圖書名BookName、圖書作

者BookAuther。

⑴指出該關(guān)系鍵碼和屬性類型;

⑵給出三個恰當元組。

答:

⑴圖書號為鍵碼、整型,圖書名為字符型,作者為字符型;

(2)軟件工程王朋

數(shù)據(jù)庫系統(tǒng)概論李強

操作系統(tǒng)張小華

5、請為計算機經(jīng)銷商設(shè)計一種數(shù)據(jù)庫,規(guī)定涉及生產(chǎn)廠商和產(chǎn)品信息。生產(chǎn)廠商信息

涉及名稱、地址、電話等;產(chǎn)品信息涉及生產(chǎn)商、品牌、配備、進價等。試用ODL描述這

個數(shù)據(jù)庫,注意要為所有屬性和聯(lián)系選取恰當類型,并且指出每個類鍵碼.

答:

interfaceProducer

(keyname)

{attributestringname;

attributestringaddress;

attributestringtel;

relationshipSet<Product>produces

inverseProduct::producedBy;

};

interfaeProduct

(key(brand,model))

{attributestringbrand;

attributestringmodel;

attributeintegerprice;

relationshipProducerproducedBy

inverseProducer::produces;

6、將題5數(shù)據(jù)庫用E-R圖來描述。

答:

7、假設(shè)在題5數(shù)據(jù)庫中,計算機產(chǎn)品類有了一種筆記本腦子類,該子類自身擁有尺寸、

電池號等屬性,試重新設(shè)計數(shù)據(jù)庫,將增長某些分別用ODL和E/R圖描述。

答:

(1)ODL:

interfaceComputerProduct:Product{

1

interfacePortablecomputer:ComputerProduct{

attributefloatLength;

attributefloatWide;

attributefloatThick;

attributestringBatteryType

)

(2)E/R圖:

8、二一,要表達該實例,有多少種不同辦法。

1)3個屬性,3個元組

2)4個屬性,5個元組

2)m個屬性,n個元組

答:

1)不同表達辦法數(shù):3!*3!=36

2)不同表達辦法數(shù):5!*4!=2880

3)不同表達辦法數(shù):n!*m!

9、將題5ODL設(shè)計轉(zhuǎn)換成關(guān)系數(shù)據(jù)庫模式。

答:轉(zhuǎn)換為關(guān)系模式為:

Producer(name,address,tel);

Product(brand,model,name);

10、下圖表達是一種航空公司E/R圖,試將其轉(zhuǎn)換為關(guān)系數(shù)據(jù)庫模式。其中Customer表達

乘客,有三個屬性:乘客號No,姓名Name和地址Address,Flight表達航班,頁有三

個屬性:航班號Number,日期Date和機型Kind;Booking表達乘客訂票信息,有一種

屬性:座位號Seato

答:

轉(zhuǎn)換為關(guān)系模式:

Customer(No,Name,Address)

Flight(Number,Date,Kint)

Booking(No,Number,Date,Seat)

11、假設(shè)學(xué)生選課數(shù)據(jù)庫如下:

Student(Sno,Sname,Age,Dept)

Couse(Cno,Cname,Teacher)

SC(Sno,Cno,Score)

用關(guān)系代數(shù)分別進行如下查詢:

(1)學(xué)號為9900111學(xué)生系別和年齡;

(2)有不及格(成績V60)學(xué)生課程名;

(3)計算機系有不及格課程學(xué)生名單;

(4)學(xué)生張林“數(shù)據(jù)庫原理”課成績。

答:

(1)nSDept,Sage(。SNO=9900111(Student))

(2)nCname(oscore<60(SC)Course)

(3)nSName(。score<60(SC)。SDept—計算機系5(Student))

(4)nScore(oSName='張林'(Student)XISCX)(oCName=’數(shù)據(jù)庫

原理’(Course)))

12、分別用元組關(guān)系運算和域關(guān)系演算表達題11中查詢。

答:

元組關(guān)系演算:

(1)\t(2}\(Bs)(Studen(s)△r[l]=s[4]A回=s[3]As[l]=990011〕}

⑵*“)性。)0〃"))(?!恪?36(。)ASC(u)AZ[1]=C[2]AW[2]=C[1]AW[3]<60)!

(3)

"⑴憫『4))u〃⑶^Student(s)ASC(〃)Ar[l]=s[2]AU\\]=S[1]A〃國<60人出]士計算機系,)}

(4)

{r(,)|(35(4))(3£/(3))(3<?(2)^Students)人SC(u)人Course^c)人r[l]=

u[3]A41]=A〃[2]=c[l]人s[2]='張林'/\C[2]='數(shù)據(jù)庫原理)}

域,,關(guān)系演算:

{tU21Qsls2)(Studen(sls2t2tl)△si=990011J}

(1)

(八{rl|(3cV)(Bu\u3)(Course(cUl)ASC(u\clu3)AU3<60)}

{〃10sls3」4)(3H2〃3)(S加de^fslHs3s4)ASC(slu2u3)A

s4='計算機系A(chǔ)〃3<60)}

{ri|(3(sls2s3s4)(Bu2u3)(Bc2)(Studen(sls2s3s4)ASC(slu2tl)

ACourse(u2c2)/\s2='張林'/\c2='數(shù)據(jù)庫原理)}

(4)

13、用數(shù)據(jù)庫邏輯規(guī)則表達習(xí)題11中查詢。

(1)學(xué)號為9900111學(xué)生系別和年齡;

(2)有不及格(成績《60》學(xué)生課程名;

(3)計算機系有不及格課程學(xué)生名單;

(4)學(xué)生張林“數(shù)據(jù)庫原理”課成績。

答:

(1)S(D,A-Student(SNo,SN,A,D)ANDSNO=9900111

(2)C(CN)-Course(CNo,CN)ANDSC(SNo,CNo,S)ANDS<60

(3)S(S,N)-Student(SNo,SN,A,D)ANDSC(SNo,CNo,S)ANDD=,計算機系'ANDSv60

(4)U(S)-Student(SNo,SN,A,D)ANDSC(SNo,CNo,S)ANDCourse(CNo,CN)

ANDSN=,張林,ANDCN=,數(shù)據(jù)庫原理,

14、畫出題11中查詢(4)關(guān)系代數(shù)表達樹。

答案:

冗Score

(1)RUS

(2)RAS

(3)R-S

(4)(RUS)-T

答:

(1)RUS:U(a,b,c)<——R(a,b,c)

U(x,y,z)<----S(x,y,z)

(2)RAS:I(a,b,c)<--R(a,b,c)andS(a,b,c)

(3)R-S:P(a,b,c)<--R(a,b,c)andNOTS(a,b,c)

(4)RUS-T:Q(a,b,c)<----U(a,b,c)andNOTT(a,b,c)

《數(shù)據(jù)庫系統(tǒng)概論》平時作業(yè)2

1、一種電影資料數(shù)據(jù)庫有三個基本表:電影表Movie(含電影名、制作年份、長度、

與否彩色、制片商)、演員表Actor(含演員姓名、地址、性別、出生年月)和電影主演表

Acts(電影名、制作年份、演員姓名)。用SQL建表語句建立這三個基本表,有注意合理地

選取屬性數(shù)據(jù)類型。

答:

CREATETABLEMovie(

TitleCHAR(30),

YearINT,

LengthINT

);

CREATETABLEActor(

NameCHAR(20),

GenderVARCHAR(30),

LengthCHAR(1)

BirthdateDATE

CREATETABLEActs(

MoiveTitleCHAR(30),

MoiveYearINT,

ActorNameCHAR(20)

2、在題1建立表基本上,用SQL實現(xiàn)如下查詢或更新操作:

(1)記錄1999年制作電影平均長度和最短長度;

(2)在1999年主演過電影演員姓名;

(3)所有同名電影各自電影名和制作年份;

(4)往演員關(guān)系A(chǔ)ctor插入一種演員記錄,詳細數(shù)據(jù)值由你指定;

(5)把電影“我世界"長度改為109分鐘;

(6)刪除1940年此前制作所有電影記錄以及電影主演記錄。

答:

(1)SELECTAVG(Length),MIN(Length)

FROMMovie

WHEREYear=1999;

(2)SELECTActorName

FROMActs

WHEREMovieYeai-=1999;

(3)SELECTM1.Title,M1.Year,M2.Year

FROMMovieASMl,MovieASM2

WHEREMl.Title=M2.TitleANDMl.Year<M2.Year

(4)INSERTINTOActor(Name,Gender)

VALUES^秀蘭?鄧波兒

(5)UPDATEMovieSETLength=l09

WHERETitle=’我世界’;

(6)DELETEFROMMovie

WHEREYear<l940;

DELETEFROMActs

WHEREMovieYear<1940;

3、在題1建立表基本上,規(guī)定為Movie關(guān)系增長一種屬性MovieDirector(電影導(dǎo)演)。

用SQL實現(xiàn)這種關(guān)系模式變化。

答:

ALTERTABLEMovie

ADDMovieDirectorCHAR(20)

4、假設(shè)學(xué)生一課程數(shù)據(jù)庫關(guān)系模式如下:

Student(Sno,Sname,Sage,Ssex)

Course(Cno,Cname,Teacher)

SC(Sno,Cno,Grade)

用SQL語句表達下列查詢:

(1)找出劉教師所授課程課程號和課程名。

(2)找出年齡不大于22歲女學(xué)生學(xué)號和姓名。

(3)找出至少選修劉教師講一門課學(xué)生姓名。

(4)找出“程序設(shè)計”課成績在90分以上學(xué)生姓名。

(5)找出不學(xué)C3課學(xué)生姓名。

(6)找出至少選修C1課和C2課學(xué)生學(xué)號。

答:

(1)SELECTCno,Cname

FORMCourse

WHIRETeacherLIKE'劉%';

(2)SELECTSno,Sname

FORMStudent

WHIRESage<22ANDSsex='F';

(3)SELECTSname

FORMStudent,SC,Course

WHIREStudent.Sno=SC.SnoANDSC.Cno=Course.CnoANDTeacherLIKE'劉%’;

(4)SELECTSname

FORMStudent,SC,Course

WHIREStudent.Sno=SC.SnoANDSC.Cno=Course.CnoANDCname=,程序設(shè)計,

ANDGrade>90;

(5)SELECTSname

FORMStudent

WHIRENOTEXISTS

(SELECT*

FORMSC

WHIRESno=Student.SnoANDCno=,C3,);

(6)SELECTX.Sno

FROMSCASX,SCASY

WHEREX.Sno=Y.Y.SnoANDX.Cno='Cl'ANDY.Cno=,C2,;

5、按照題4數(shù)據(jù)庫模式列出下列查詢:

(1)求孫教師講每門課學(xué)生平均成績。

(2)記錄選修各門課學(xué)生人數(shù)。輸出課程號和人數(shù)。查詢成果按人數(shù)降序排列,若人

數(shù)相似,則按課程號升序排列。

答:

(1)SELECTCno,AVG(Grade)

FORMSC,Course

WHERESC.Cno=Course.CnoANDTeacherLIKE'孫%'

GROUPBYCno

(2)SELECTCno,COUNT(*)

FORMSC

GROUPBYCno

ORDERBYCOUNT(*)DESC,Cno

6、用SQL更新語句表達對學(xué)生-課程數(shù)據(jù)庫下列更新操作:

(1)往學(xué)生關(guān)系Student中插入一種學(xué)生元組(990012,梅立松,20,女)。

(2)從學(xué)生選課關(guān)系SC中刪除夏春秋同窗所有元組。

(3)在學(xué)生選課關(guān)系SC中,把英語課成績提高10%。

答:

(1)INSERTINTOStudent

VALUES(990012;梅立松女,);

(2)DELETEFORMSC

WHERESnoIN

(SELECTSno

FORMStudent

WHERESname='夏春秋');

(3)UPDATESCSETGrade=l.PGrade

WHERECnoIN

(SELECTCno

FORMCourse

WHERECnamed英語)

7、在題1建立表基本上,為1990-1999年制作電影建立視圖,并對視圖進行如下查詢:長

度超過120分鐘電影名稱和演員姓名。這個視圖是可更新視圖嗎?

答:

1)CREATEVIEWMyearAS

SELECT*

FROMmovie

WHEREYear>=1990ANDYear<=1999;

2)SELECTTitle,actorName

FROMMyear,Acts

WHEREActs.MovieTitle=Myear.TitleANDLength>120;

3)是可更新視圖。

8、從學(xué)生選課數(shù)據(jù)庫中查詢選修“數(shù)據(jù)庫原理”課并且成績在90分以上學(xué)生名單,

SQL語句序列如下:

SELECTStudentName

FORMStudent,Course,StudentCourse

WHEREStudent.StudentNo=StudentCourse.StudentNo

ANDCourse.CourseNo=StudentCourse.CourseNo

ANDCourse.CourseName='數(shù)據(jù)庫原理'ANDStudentCourse.Score>90

⑴畫出這個查詢關(guān)系代數(shù)語法樹;

⑵對該語法樹進行優(yōu)化

(3)畫出優(yōu)化后語法樹。

答:

(1)相應(yīng)查詢關(guān)系代數(shù)語法樹

兀StudentName

>Course.CourseName=’數(shù)據(jù)庫原理,

⑵(3)優(yōu)化語法樹(Student簡寫為S,Course簡寫為C)

冗SName

OS.SNo=SC.SNo

JI

9、設(shè)TI、T2,1下兩個事務(wù):

°SC.CNo=C.CNo

Tl:A=B*2

T2:B=A+1

A、B初值分別是1

nSC.SNo.SC.CNoHC.CNo

⑴設(shè)Tl和T2可以并發(fā)執(zhí)行,并且對其操作調(diào)度不加限制,那么它們并發(fā)執(zhí)行也許產(chǎn)

生哪幾種成果(寫出最后A

°Score>900<Name='數(shù)據(jù)庫原理‘

⑵這些執(zhí)行成果中哪些是市的?

答:

⑴第一種調(diào)度:①讀A=l,B=3:(Tl)

②A=B*2=6(Tl)

③寫回A=6,B=3(Tl)

④讀A=6,B=3(T2)

⑤B=A+l=7(T2)

⑥寫回A=6,B=7(T2)

成果:A=6,B=7

第二種調(diào)度:①讀A=l,B=3:(T2)

(2)B=A+1=2(T2)

③寫回A=l,B=2(T2)

④讀A=1,B=2(Tl)

⑤A=B*2H(Tl)

⑥寫回A=4,B=2(T2)

成果:A=4,B=2

第三種調(diào)度:①讀A=l,B=3:(Tl)

②讀A=l,B=3(T2)

(3)A=B*2=6(Tl)

(4)B=A+1=2(T2)

⑤寫回A=6,B=3(Tl)

⑥寫回A=l,B=2(T2)

成果:A=1,B=2

第四種調(diào)度:①讀A=l,B=3:(T2)

②讀A=l,B=3(Tl)

@B=A+1=2(T2)

@A=B*2=6(Tl)

⑤寫回A=l,B=2(T2)

⑥寫回A=6,B=3(Tl)

成果:A=6,B=3

第五種調(diào)度:①讀A=l,B=3:(Tl)

②A=B*2=6(Tl)

③讀A=I,B=3(T2)

@B=A+1=2(T2)

⑤寫回A=6,B=3(Tl)

⑥寫回A=l,B=2(T2)

成果:A=l,B=2

第六種調(diào)度:①讀A=l,B=3:(T2)

@B=A+1=2(T2)

③讀A=l,B=3(Tl)

@A=B*2=6(Tl)

⑤寫回A=l,B=2(T2)

⑥寫回A=6,B=3(Tl)

成果:A=6>B=3

⑵第一種成果:A=6,B=7;和第二種成果:A=4,B=2對的。依照可串行化原則,兩

個事務(wù)并發(fā)執(zhí)行成果只要和任意一種串行成果相似,就以為是對的。

《數(shù)據(jù)庫系統(tǒng)概論》平時作業(yè)3

1、舉例闡明不符合2NF,3NF和BCNF關(guān)系模式,如何使之符合相應(yīng)范式?

答:

1)先求各種屬性組合封閉集,再從中找出新函數(shù)依賴。

A>ABCDB*=BCDC+=CD+=D

A玲C,A-?D...(2)

AB+=ABCDAC+=ABCDAD+=ABCDBC*=BCDBD+=BCDCD*=CD

ABfC,ABfDAC—B,ACfDADTB,ADfCBC-DBD9C...(8)

ABC+=ABCDABD+=ABCDBCD+=BCD

ABCfDABD玲C...(2)

ABCD+=ABCD

蘊含于給定函數(shù)依賴非平凡函數(shù)依賴共12個。

2)

A為鍵碼。

3)

AB,AC,AD,ABC,ABD,ABCD為超鍵碼。

2、假設(shè)關(guān)系模式為R(A,B,C,D),函數(shù)依賴為A-B,B-*C和B-D。

⑴求蘊含給定函數(shù)依賴所有非平凡函數(shù)依賴。

⑵求R所有鍵碼

(3)求R所有超鍵碼

答:

⑴求A+,有A+={A},

由于A-B,因此A*={A,B};

由于B-C,因此A+={A,B,C};

由于BfD,因此A+={A,B,C,D)?

因而A為Key,推出新依賴:⑴A-C,⑵A-D。

求球,有B*={B};

由于B-C,因此B+={B,C};

由于B-D,因此B+={B,C,D}。

求c+,有C+={C}。

求D+,有D+={D}。

求AB+,有AB+={A,B};

由于B-C,因此AB+={A,B,C};

由于BfD,因此AB+={A,B,C,D}。

推出新依賴:⑶AB-C,⑷ABfD。

求AC卡,有AC+={A,C};

由于A-B,因此AC+={A,,C,B};

由于B-D,因此AC*={A,C,B,D}。

推出新依賴:⑸ACfB,(6)AC-

求AD+,有AD+={A,D};

由于A-B,因此AD+={A,D,B};

由于BfC,因此AD+={A,D,B,C}。

推出新依賴:(7)ADfB,(8)AD-C。

求BC:有BC+={B,C};

由于BfD,BC+={B,C,D}。

推出新依賴:(9)BC-D。

求BD1有BD+={B,D};

由于B-C,因此BD+={B,C,D}?

推出新依賴:(10)BDfC。

求CD+,有CD+={C,D}。

求ABC,,有ABC+={A,B,C};

由于BfD,因此ABU={A,B,C,D}。

推出新依賴:(IDABC-D。

求ABD+,有ABD+={A,B,D};

由于BfC,因此ABD+={A,B,D,C}。

推出新依賴:(12)ABD-C。

求ACD+,有ACD+={A,C,D};

由于AfB,因此ACD+={A,C,D,B}.

推出新依賴:(13)ACDfD

求BCD+,有BCD+={DCB}。

⑵鍵碼為:A;

⑶超鍵碼為:AB,AC,AD,ABC,ABD,ABCD。

3、假設(shè)關(guān)系模式為R(A,B,C,D),函數(shù)依賴為AB-C,C/D和D-A。

⑴找出所有違背BCNF函數(shù)依賴。提示:應(yīng)考慮不在給定依賴集但蘊含于其中依賴。

⑵把關(guān)系模式R分解成屬于BCNF關(guān)系模式集合。

答:

1)

參看教材P.122例6.1,共有14個非平凡函數(shù)依賴(涉及已知和導(dǎo)出):

C-D,DfA

AB-C,AB9D,AC〉D,BCfA,BC"?D,BD〉A(chǔ),BD^C,CD^A

ABCfD,ABD玲C,BCDfA

共有3個鍵碼:AB,BC,BD

其決定因素不包括鍵碼函數(shù)依賴即為BC范式違例,如下所示:

C9A,CfD,DTA,AC9D,CD〉A(chǔ)

2)

以違例C9D為基本進行分解:

R1(C,D)

R2(A,B,C)

R1屬于BC范式。

R2有函數(shù)依賴C-?A,AB->C,BC-?A

AB.=ABC,BC+=ABC

AB.BC均為鍵碼。

函數(shù)依賴CTA為BC范式違例。于是R2又可分解為:

R3(A,C)

R4(B,C)

至此,R分解為R1,R3,R4,均屬于BC范式。

4、舉出兩個具備多值依賴關(guān)系模式。分別將其分解成屬于4NF關(guān)系模式。

答:

從S中各種屬性組合封閉集入手,分析其中蘊含函數(shù)依賴。

A+=A,B+=B,C+=ACE

對于S來說,SA.

AB+=ABCDE,AC+=ACE,BC+=ABCDE

對于S來說,ABTC,BC9A

S中成立函數(shù)依賴為C9A,AB9C,BC今A.

5、假設(shè)關(guān)系R用于描述人們姓名、身份證號和出生日期,涉及子女姓名、身份證號和

出生日期以及其所擁有車序號和型號。(n,s,b,cn,cs,cb,as,am).

(1)寫出關(guān)系R中存在函數(shù)依賴和多值依賴。

(2)把該關(guān)系模式分解成屬于4NF關(guān)系模式。

答:

(l)s-his->bcs->cns—>cb

As->ams->css—>as

(2)Rl(n,s,b)

R2(s,cn,cs,cb)

R3(s,as,sm)

6、什么是嵌入式SQL,它與交互式SQL有什么區(qū)別?

答:嵌入式SQL是將SQL語言訪問數(shù)據(jù)庫功能和宿主語言數(shù)據(jù)解決功能相結(jié)合,而交

互式SQL是在獨立使用SQL語言進行數(shù)據(jù)庫操作時,其用法稱為ISQL。它只能用于數(shù)據(jù)

庫操作,不能進行數(shù)據(jù)庫解決;而嵌入式SQL既能訪問數(shù)據(jù)庫又能解決數(shù)據(jù)庫。

7、有一張記錄學(xué)生成績數(shù)據(jù)表(gradetable)中包括姓名、課程、學(xué)分和成績四個屬性,

試使用嵌有SQLC語言完畢計算每個學(xué)生GPA查詢。

答:

詳見教材P194及教材第169頁。

8、咱們所熟悉產(chǎn)品數(shù)據(jù)庫如下:

Product(maker,model,type)

PC(model,speed,ram,hd,cd,price)

Laptop(model,speed,ram,hd,screen,price)

Printer(model,color,type,price)

用C++或者其她你熟悉宿主語言編寫如下嵌入式SQL查詢:

⑴詢問顧客所規(guī)定價格,找出與規(guī)定價格最接近(價格差不大于1000元)PC機。

(2)打印符合規(guī)定PC機制造商(maker印型號(model)、速度(speed)和價格(price).

答:

#defineNO-TUPLE!(strcmp(SQLSTATEJO"))

voidclosestMatchPC(){

EXECSQLBEGINDECLARESECTION;

charmaker1[30],SQLSTATE[6];

inttargetPrice,model1,speed1,price1;

EXECSQLENDDECLARESECTION;

EXECSQLDECLAREpcCursorCURSORFOR

SELECTmodel,speed,priceFROMPC;

EXECSQLOPENpcCursor;

coutvvlnputtargetprice.^^

cin?targetPrice;

while(1){

EXECSQLFETCHFROMpcCursor

INTO:model1,:speed1,:price1;

if(NO-TUPLE)break;

if((targetPrice-price1<1000)||(pricel-targetPrice<1000)){

EXECSQLSELECTmaker

INTO:makerl

FROMProduct

WHEREmodel=:modell;

cout?makerl,model1,speed1,price1;

)

)

EXECSQLCLOSECURSORpcCursor;

)

9、對于電影關(guān)系Movie(title,year,length,studioName)中屬性,寫出下列約束:

(1)年份不能在1895年此前。

(2)電影長度不能短于60,也不能長于240。

答:

(1)CREATETABLEMovie

yearINTCHECK(year>=1895),

);

(2)CREATETABLEMovie

lengthINTCHECK(length>=60ANDlength<=240),

);

10、對于電影、演員和電影主演關(guān)系:

Movie(title,year,length,studioName)

Actor(Name,address,gender,birthdate)

Acts(Movietitle,movieyear,actorName)

寫出下列基于元組檢查(CHECK)約束:

(1)1939年此前制作電影不會是彩色。

(2)演員不會出當前她們出生此前制作電影中。

如果約束涉及到兩個關(guān)系,則應(yīng)把約束放在兩個關(guān)系中,從而保證無論哪個關(guān)系發(fā)生變

化都將對插入和修改約束進行檢查。

答:

(1)CREATETABLEMovie

CHECK(NOTcolorORyear>=1939),

);

(2)CREATETABLEActor

birthyearINT

CHECK(nameNOTIN(SELECTactorNameFROMActs)

ORbirthyear<ALL(SELECTmovieYearFROMActs

WHEREactorName=name))

);

CREATETABLEActs

CHECK(actorNameNOTIN(SELECTmameFROMActor)

ORmovieYear>(SELECTyear>(SELECTbirthYearFROMactor

WHEREname=actorName))

);

《數(shù)據(jù)庫系統(tǒng)概論》平時作業(yè)4

1、關(guān)于產(chǎn)品(Product)類及其三個子類PC機(PC)、便攜式電腦(laplop)、打印機

(Printer)ODL描述如下:

interfaceProduct

(extentProducts

Keymodel)

{

attributeintegermodel;

attributeStringmaker;

attributestringtype;

attributerealpriCe;

);

interfacePC:Product

(extentPCs)

(

attributeintegerspeed;

attributeintegerram;

attributeintegerhd;

attributestringcd;

);

InterfaceLaptop:Product

(extentLaptops)

attributeinteterspeed;

attributeinteterram;

attributeinteterhd;

attributerealscreen;

};

interfacePrinter:Product

(extentPrinters)

attributebooleancolor;

attribu

溫馨提示

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

最新文檔

評論

0/150

提交評論