• 181.50 KB
  • 2022-04-22 11:26:12 发布

《数据库管理系统》课后习题参考答案2.doc

  • 10页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'《数据库管理系统》课后习题参考答案习题一(P30)一、选择题12345ADDAA678910BCDAC1112131415CBADC1617181920AADBA二、填空题1.事物之间的联系2.命令方式3.关系模型4.多对多5.元组属性6.外部关键字7.QUIT8.关系运算9.空值10.若干个二维表11..pjx12.数据模型习题二(P48)一、选择题12345CDCBA二、填空题1.逻辑型(或者L).T.2.字符型(C)、数值型(N)、日期时间型(T)3.11.254.15m(2,5) 5.X^2+(x+2)/(y-8)习题三(P78)一、选择题12345CABAB678910BDACA1112131415DAAAA1617181920ACBCB2122232425DCDDB2627CB二、填空题1.SELECT02..dbf3..cdx复合索引4..T.5.物理排序逻辑排序6.SETRELATION7.数据库8.8三、上机题3.打开商品表,为下列要求写出命令序列(1)listforrecno()=5(2)listforrecno()>=2andrecno()<=6(3)listforrecno()>=3andrecno()<=5(4)list商品货号,商品名称,生产单位,数量for数量<5(5)listfor进口否=.t.oryear(开单日期)=2008(6)listfor“上海”$生产单位(7)listfor(单价>4000and进口否=.t.)or(单价<5000and进口否=.f.)(8)list商品货号,商品名称,单价*0.9,开单日期foryear(开单日期)=2008(9)listfor(单价<2000or单价>5000)and进口否=.t.(10)listforrecno()>=2and进口否=.f.(11)listforright(商品货号,3)=”120”(12)listforleft(商品货号,1)="L"orsubstr(商品货号,2,1)="V"(13)listfor单价>3000 4.试对“商品.dbf”分别排序(1)sorttotempon数量ascendingfor单价>3000FIELDS商品货号,商品名称,数量,单价,生产单位(2)sorttotempon商品名称/D,开单日期/Dfor单价>3000FIELDS商品货号,商品名称,数量,单价,生产单位5.使用命令为“商品.dbf”建立一个结构复合索引文件,其中包含三个索引(1)INDEXON商品货号TAG索引1DESC(2)INDEXON商品名称+DTOC(开单日期)TAG索引2DESC(3)INDEXON生产单位+DTOC(开单日期)TAG索引3DESC6.分别用顺序查询和索引查询两种方法查询2009年开单的商品顺序查询:索引查询:习题四(P102)一、选择题12345BCDAC678910BAADD11B二、填空题1.实体2.插入3..dbc4.主普通三、上机题略习题五(P113)一、选择题12345DDCAD678DBD二、填空题1.条件2.更新条件 4.远程三、上机题略习题六(P141)一、选择题12345DCADC678910BBBDD1112131415ADDAC1617181920CABDC二、填空题1.StructuredQueryLanguage2.COUNT()SUM()AVG3.EXISTSXS.学生号4.INSERTINTO5.LIKE6.逻辑7.INTOCURSOR8.INTODBF|TABLE9.PRIMARYKEY10..NULL.三、上机题1.利用本章建立的定货数据库,用SQL语句完成以下操作(1)SELECT供应商名FROM供应商WHERE地址=”上海”(2)SELECT仓库名,AVG(面积)AS面积FROM仓库(3)SELECT仓库号,COUNT(*)FROM职工WHERE工资>2800GROUPBY仓库号(4)SELECTDIST城市FROM仓库,职工,订购单WHERE供应商号=”S2”AND订购单.职工号=职工.职工号AND职工.仓库号=仓库.仓库号(5)SELECT订购单号FROM订购单WHERE职工号IN(SELECT职工号FROM职工WHERE工资>2800)AND供应商号IN(SELECT供应商号FROM供应商WHERE地址=”上海”)(6)SELECT职工号,仓库号FROM职工WHERE职工号IN(SELECT职工号FROM订购单WHERE供应商号=”S1”)(7)SELECT*FROM供应商WHERE地址=”北京”AND供应商号IN(SELECT供应商号FROM订购单WHERE职工号=”E1”)AND供应商号IN(SELECT 供应商号FROM订购单WHERE职工号=”E4”)(8)SELECT*FROM职工AWHERE工资<(SELECTAVG(工资)FROM职工BWHEREA.仓库号=B.仓库号)(9)INSERTINTO仓库VALUES(“WH7”,”亿旺仓储”,”北京”,1500.00)(10)DELETE*FROM供应商WHERE供应商号NOTIN(SELECT供应商号FROM订购单)PACK(11)UPDATE职工SET工资=工资*1.02WHERE工资<(SELECTAVG(工资)FROM工资)2.示例:建立学生管理数据库,其中包含有系:(系号(C6),系名(C20))1.按照系号建立主索引;学生:(学号(C10),系号(C6),姓名(C20),性别(L),出生日期(D))1.按照学号建立主索引;2.出生日期字段有效性规则为:出生日期应小于系统当前日期,否则提示“出生日期输入错误!”课程:(课程号(I),课程名(C50))1.按照课程号建立主索引成绩:(学号(C10),课程号(I),成绩(N51))1.成绩字段的有效性规则为:成绩应介于0~100分之间,否则提示“成绩应介于0~100之间”,默认值为60分;2.按照学号建立普通索引并与学生表建立联系;3.按照课程号建立普通索引并与课程表建立联系;命令如下:*建立学生管理数据库CREADATABASE学生管理&&建立须生管理数据库*建立系表CREATETABLE系(系号C(6)PRIMARYKEY,系名C(20))*建立学生表CREATETABLE学生(学号C(10)PRIMARYKEY,系号C(6),姓名C(20),性别L,出生日期DCHECK(出生日期<=DATE())ERROR"出生日期输入错误!",FOREIGNKEY系号TAG系号REFERENCES系)*建立课程表CREATETABLE课程(课程号IPRIMARYKEY,课程名C(50)) *建立成绩表CREATETABLE成绩(学号C(10),课程号I,成绩N(5,1)CHECK(成绩>=0AND成绩<=100)ERROR"成绩应介于0~100之间"DEFAULT60,FOREIGNKEY学号TAG学号REFERENCES学生,FOREIGNKEY课程号TAG课程号REFERENCES课程)【提示】操作完成后,可以使用:OPENDATABASE学生管理MODIDATABASE查看结果。习题七(P180)一、选择题12345BC/DC678910BCADC二、填空题1.TOREFERENCE2.113.EXIT4.KROW5.12111348712138三、上机题1.SETTALKOFFCLEARINPUT“请输入x值:”TOxIFx<0y=x^2+1ELSEIFx=0y=0ELSEy=x^2-1ENDIFENDIF?yRETURN 4.SETTALKOFFCLEARY=PROC1(4)+PROC1(6)+PROC1(8)?YRETURNPROCEDUREPROC1PARAMETERKS=1FORI=1TOKS=S*I?SENDFORRETURNSENDPROC8.SETTALKOFFCLEARINPUT"请输入第1个数:"TOASTOREATOMAX,MINFORI=2TO20INPUT"请输入第"+STR(I,2)+"个数:"TOAIFMAXAMIN=AENDIFENDFOR?"最大值为:",MAX?"最小值为:",MINSETTALKONRETURN12.SETTALKOFFCLEARINPUT"请输入排序个数N:"TONDIMEA(N)FORI=1TONA(I)=INT(RAND()*900+100) ENDFOR?"排序前:"FORI=1TON?A(I)ENDFORFORI=NTO1STEP-1FORJ=1TOI-1IFA(J)>A(J+1)T=A(J)A(J)=A(J+1)A(J+1)=TENDIFENDFORENDFOR?"排序后:"FORI=1TON?A(I)ENDFORSETTALKONRETURN习题八(P236)一、选择题12345AABAC678910DACBD1112131415CACB二、填空题1.CREATEFORM.SCX.SCT2.与数据环境中的某个数据源联系起来ControlSource3.Command1.ClickCommand2.Click4.THISFORM.Backcolor=”BLUETHISFORM.Command2.Visible”5.CaptionAutoSize6.显示多个数据项右端的下拉箭头7.ColumnCount-1PageCount28.TextBoxTextBox三、上机题 1.摄氏转华氏代码:c=thisform.text2.valueIFVartype(c)="N"thisform.text1.value=c*(9/5)+32ELSEthisform.text1.value=val(c)*(9/5)+32ENDIF华氏转摄氏代码:f=thisform.text1.valueIFVARTYPE(f)="N"thisform.text2.value=(f-32)*(5/9)ELSEthisform.text2.value=(val(f)-32)*(5/9)ENDIF退出按钮代码:Thisform.Release3.确定按钮代码:s=thisform.check1.valuem=thisform.edit1.seltextifs=1thisform.text1.value=melsethisform.edit1.seltext=thisform.text1.valueendif '