《大型数据库开发(Oracle)》2009-2010学年第一学期期末试卷A卷参考答案

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第1页共10页2009-2010学年第一学期《大型数据库开发(Oracle)》期末试卷(A卷)答案(开卷)考试用时:150分钟总分:100分题号一二三总分得分得分阅卷人一、数据库分析(20分)评分标准:10个关系1分一个,10个实体1分一个E-R图:关系模型:系部(系部编码,系部名称)专业(专业编码,专业名称)班级信息(班级编码,班级名称,专业编码,班主任,班级人数)学生信息(学号,姓名,性别,班级编码,身份证号,奖惩信息,毕设题目,毕设成绩)教师信息(教工号,姓名,性别,系部编码,身份证号)课程信息(课程编号,课程名称,课程所在系部,课程描述)开课信息(开课编号,课程所在系部编号,课程编号,教师所在系部编号,教师编号,系部编号,入学年份,班级编号,学年编号,学期编号,课程学分,理论学时,实践学时,可选人数,已选人数,考试性质,理论成绩系数,平时成绩系数,期中成绩系数,期末成绩系数,上课时间,上课地点,是否是选修课,是否开课)选课信息(选课编号,开课编号,学生编号)成绩信息(成绩编号,学生编号,开课编号,已获学分,平时成绩,期中成绩,期末成绩,实践成绩,课程总成绩,补考成绩,重修成绩,是否是选修课)班级专业开设开设系部学生任教选修毕设课题开设课程成绩录入教工奖惩信息从属从属学籍异动处理班级姓名学号--------------------------------------------------------------------------------密封线内不得答题----------------------------------------------------------------------------------------------------------------------------第2页共10页学籍异动信息(学号,学籍异动类别,转出系部,转入系部,转出班级,转入班级,学年,学期,异动日期)得分阅卷人二、数据库设计(70分)(一)、创建学生档案管理系统表空间和数据库(2+2+6,共10分)1.2分(名称和文件存放错误扣1分,其他扣一分)createtemporarytablespaceTempTBStempfile'D:\oracle\product\10.2.0\oradata\orcl\tmptbs.dbf'size30Mreuseextentmanagementlocaluniformsize16M;2.2分(名称和文件存放错误扣1分,其他扣一分)CREATEUNDOTABLESPACEUndoTBSDATAFILE'D:\oracle\product\10.2.0\oradata\orcl\undotbs02.dbf'SIZE2MREUSE;3.6分(两个条件不满足扣1分)CreatedatabaseStuSysusersysidentifiedbyorclusersystemidentifiedbyorclcontrolfilereuselogfilegroup1('redo01.log')size10M,group2('redo02.log')size10M,maxlogfiles10maxlogmembers5maxdatafiles100charactersetus7asciidatafile'sys01.dbf'size100mreuseextentmanagementlocaldefaulttablespaceTempTBSdefautltemporarytablespacetempts1undotablespaceUndoTBS;(二)、创建学生档案管理系统相关表(1*4+2*3,共10分)1、1分第3页共10页创建系部表Tb_Dept,代码如下:CREATETABLETb_Dept(DeptIdChar(2)NOTNULLPrimaryKey,DeptNameVarChar2(20)NOTNULL);2、1分创建学年基本表Tb_TeachingYear,代码如下:CREATETABLETb_TeachingYear(TeachingYearIdChar(4)NOTNULLPrimaryKey,TeachingYearNameVarchar2(13)NOTNULL);3、1分创建学期基本表Tb_Term,代码如下:CREATETABLETb_Term(TermIdChar(2)NOTNULLPrimaryKey,TermNameVarChar2(8)NOTNULL);4、2分(约束与外键错误扣1分,其他扣1分)创建班级基本表Tb_Class,代码如下:CREATETABLETb_Class(ClassIdChar(7)NOTNULLPrimaryKey,ClassNameVarChar2(20)NOTNULL,DeptIdChar(2)NOTNULLREFERENCESTb_Dept(DeptId),StuNumberNumberDEFAULT0NOTNULL,CHECK(StuNumber=60));5、2分(约束与外键错误扣1分,其他扣1分)创建表学生基本表Tb_Student,代码如下:CREATETABLETb_Student(StuIdChar(9)NOTNULLPrimaryKey,StuNameVarChar2(8)NOTNULL,ClassIdChar(7)NOTNULLREFERENCESTb_Class(ClassId),SexChar(1)DEFAULT'M'NOTNULL,CHECK(Sexin('M','F')),BirthdaydateNOTNULL,StuChangeFlagChar(1)DEFAULT'N'NOTNULL,CHECK(StuChangeFlagin('Y','N')));6、1分创建表学籍异动表Tb_StuChangeKind,代码如下:CREATETABLETb_StuChangeKind(StuChangeKindIdChar(3)NOTNULLPrimaryKey,StuChangeNameVarchar2(20)NOTNULL第4页共10页);7、2分(约束与外键错误扣1分,其他扣1分)创建表学籍异动信息表Tb_StuChange,代码如下:CREATETABLETb_StuChange(StuChangeIdNumberNOTNULLPrimaryKey,StuIdChar(9)NOTNULLREFERENCESTb_Student(StuId),StuChangeKindIdchar(3)NOTNULLREFERENCESTb_StuChangeKind(StuChangeKindId),FromDeptIdChar(2)NOTNULLREFERENCESTb_Dept(DeptId),ToDeptIdChar(2)NOTNULLREFERENCESTb_Dept(DeptId),FromClassIdChar(7)NOTNULLREFERENCESTb_Class(ClassId),ToClassIdChar(7)NOTNULLREFERENCESTb_Class(ClassId),TeachingYearIdchar(4)NOTNULLREFERENCESTb_TeachingYear(TeachingYearId),TermIdChar(2)NOTNULLREFERENCESTb_Term(TermId),ChangeDatedateNOTNULL);(三)、用SQL语句将下述数据插入到学生档案管理系统相关表中(1*6+4,共10分)1、(1分)向Tb_Dept表中添加记录,代码如下:INSERTINTOTb_DeptVALUES('08','计算机系');INSERTINTOTb_DeptVALUES('09','管理系');2、(1分)向Tb_TeachingYear表中添加记录,代码如下:INSERTINTOTb_TeachingYearVALUES('2009','2009-2010学年');3、(1分)向Tb_Term表中添加记录,代码如下:INSERTINTOTb_TermVALUES('T1','第一学期');4、(1分)向Tb_Class表中添加记录,代码如下:INSERTINTOTb_ClassVALUES('S090801','09软件(3)班','08',30);INSERTINTOTb_ClassVALUES('S090901','09旅游管理','09',40);5、(1分)向Tb_Student表中添加记录,代码如下:INSERTINTOTb_StudentVALUES('S09080101','张三','S090801','M',to_date('1989-12-12','yyyy-mm-dd'),'N');6、(1分)向Tb_StuChangeKind表中添加记录,代码如下:INSERTINTOTb_StuChangeKindVALUES('001','留级');COMMIT;第5页共10页SELECT*FROMTb_StuChangeKind;7、向Tb_StuChange表中添加记录,代码如下:创建序列:(3分,两个条件不满足扣1分)createsequenceseq_StuChangeIdminvalue1nomaxvaluestartwith1incrementby1nocycle;添加记录:(1分)INSERTINTOTb_StuChangeVALUES(seq_StuChangeId.nextval,'S09080101','001','08','09','S090801','S090901','2009','T1',to_date('2009-12-21','yyyy-mm-dd'));(四)、完成下列各题,写出SQL语句(2+2+1*4,共8分)1、(2分)方法一:SELECTStuId,StuNameFROMTb_StudentWHEREBirthdaybetweento_date('1988-1-1','yyyy-mm-dd')andto_date('1991-12-31','yyyy-mm-dd')orderbyStuIddesc;方法二:SELECTStuId,StuNameFROMTb_StudentWHERE(Birthday=to_date('1988-1-1','yyyy-mm-dd')andBirthday=to_date('1991-12-31','yyyy-mm-dd'))orderbyStuIddesc;2、(2分)Selectsum(decode(StuChangeFlag,'Y',1,0))异动总人数,sum(decode(StuChangeFlag,'N',1,0))未异动总人数fromtb_student;或:Selectsum(decode(StuChangeFlag,'N',0,1))异动总人数,sum(decode(StuChangeFlag'Y',0,1))未异动总人数fromtb_student;3、140;10;22-12月-09;11(1分一个)(五)(5分,基本语法写出来得1分,其他4分)createviewView_ClassasselectClassId班级编码,ClassName班级名称,DeptName系部名称,StuNumber学生数fromTb_ClassTC,Tb_DeptTDwhereTC.DeptId=TD.DeptId(六)(5分)CREATEROLEStuSysRoleIDENTIFIEDBYmyrolepwd;(1分)GRANTCONNECTTOStuSysRole;(1分)GRANTRESOURCETOStuSysRole;(1分)CREATEUSERStuSysUserIDENTIFIEDBYUserPwd;(1分)GRANTUNLIMITEDTABLESPACET

1 / 10
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功