您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 10级数据库技术试题(答案)
1中南大学考试试卷(答案)2010--2011学年下学期时间100分钟数据库应用基础课程56学时3.5学分考试形式:闭卷专业年级:商学院10级总分100分,占总评成绩70%注:请将答案直接写在试卷上!在本试卷中除特殊说明外数据库系统为SQLSERVER,均采用下列表:学生信息表Student(NO,NAME,AGE,SEX,CLASS,NA),其字段名分别表示学号(CHAR(4))、姓名(VARCHAR(8))、年龄(INT)、性别(CHAR(2))、班级(VARCHAR(4))、民族(VARCHAR(18)),主键为NO。教师信息表T(NO,NAME,sex,ab),其字段名分别表示教师编号(Char(4))、姓名(varchar(8))、性别(char(2))、职称(Varchar(6)),主键为NO。课程信息表C(NO,NAME,TNO),其字段名分别表示课程编号(Char(4))、课程名称(VARCHAR(12))、授课教师编号(varchar(4),主键为(NO,TNO)。学生选课及成绩表SC(NO,CNO,GRADE),其字段名分别表示学号(char(4))、课程编号(char(4)、成绩(int),主键为(NO,CNO)。在企业管理器中按下列方式录入数据保存。Student的数据NONameAgeSexCLASSNA0101刘琳20女1002汉族0105王刚21男1015苗族0102李晓22女1015土家族0110张明NULL男1002汉族0108周冰21女1015苗族2031NULL20男1002汉族T的数据NONameSexAB1003刘瑞女讲师2020陈晓男副教授0102李斌女教授C的数据NONameTNO2010数据库技术10032010数据库技术01022015高等数学20202SC的数据NOCNOGRADE01052010880108201090101020108501012010NULL010520157801022010NULL011020158001082015NULL010220158201122015NULL一、已知属性集U={学号、姓名、性别、年龄、民族、班级编号、班级名称、班长、身份证号、所属学院编号,所属学院名称、宿舍号、家庭住址},写出下列要求的关系模式,并说明理由。(共10分)(1)写出U的一个关系模式,使其具有完全函数依赖关系;解:班级(班级编号、班级名称、班长),班级编号f{班级名称、班长}或:学院(学院编号,学院名称),学院编号f学院名称或:学生(学号、姓名、性别、年龄、民族、班级编号、身份证号、所属学院编号、宿舍号、家庭住址)学号f{姓名、性别、年龄、民族、班级编号、身份证号、所属学院编号,宿舍号、家庭住址}身份证号f{学号,姓名、性别、年龄、民族、班级编号、所属学院编号,宿舍号、家庭住址}(2)写出U的一个关系模式,使其具有部分函数依赖关系;解:班级(班级编号、宿舍号、班级名称、班长)(班级编号、宿舍号)p班级名称(3)写出U的一个关系模式,使其具有传递函数依赖关系;解:学生(学号、姓名、性别、年龄、民族、班级编号、班级名称、班长、宿舍号、家庭住址)。学号班级编号,班级编号班级名称,学号班级名称或:学生(学号、姓名、性别、年龄、民族、班级编号、所属学院编号,所属学院名称、宿舍号、家庭住址)。学号所属学院编号,所属学院编号所属学院名称学号所属学院名称传递传递3(4)写出U的一个关系模式,使其具有二个关键字;解:学生(学号、姓名、性别、年龄、民族、班级编号、身份证号、所属学院编号、宿舍号、家庭住址)。关键字为:学号或身份证号。学号f{姓名、性别、年龄、民族、班级编号、身份证号、所属学院编号,宿舍号、家庭住址}身份证号f{姓名、性别、年龄、民族、班级编号、身份证号、所属学院编号,宿舍号、家庭住址}(5)写出U的一个关系模式,使其具有完全函数依赖关系但不具有传递依赖关系。解:学生(学号、姓名、性别、年龄、民族、班级编号、身份证号、所属学院编号,宿舍号、家庭住址)。学号f{姓名、性别、年龄、民族、班级编号、身份证号、所属学院编号,宿舍号、家庭住址}身份证号f{学号,姓名、性别、年龄、民族、班级编号、所属学院编号,宿舍号、家庭住址}二、已知某饲料企业的产品出库单下图所示,按下列要求设计满足条件的数据库(即一个或多个表),并说明理由。(共12分)A饲料厂产品销售单销售单位名称销售单号产品名称规格型号计量单位单价数量金额总金额开票人:发货人:(1)满足1NF但不满足2NF的数据库(4分);解:假设数据库中销售单号是唯一的,数据库中仅存储销售单中的相关信息。销售信息表(销售单号,销售单位名称,产品名称,规格型号,计量单位,单价,数量,金额,总金额,开票人,发货人)码:销售单号+产品名称+规格型号(销售单号,产品名称,规格型号)p计量单位,不满足2NF。(2)满足2NF的数据库(4分);解:产品(产品名称,规格型号,计量单位,单价)。出售(销售单号,产品名称,规格型号,单价,数量,金额)销售单(销售单号,销售单位名称,开票人,发货人,总金额)(3)满足3NF的数据库(4分)。4解:产品(产品名称,规格型号,计量单位,单价)销售(销售单号,产品名称,规格型号,单价,数量,金额)销售单(销售单号,开票人,发货人,总金额)职员(职员姓名,所属单位)三、判断下列描述或命令是否正确,如果不正确,请在不改变原来命令意义的基础上改正(共30分)(1)数据库中模式、外模式和模式/内模式映像是唯一的。当模式改变时,只要修改外模式/模式映像,应用程序不需要修改,这一特性,称为物理独立性。改为:数据库中模式、模式/内模式映像是唯一的。当内模式改变时,只要修改模式/模式映像,应用程序不需要修改,这一特性,称为物理独立性。(2)若F是关系R的外码,它与S的主码相对应,根据参照完整性规则,R中每个元组在F上的取值等于S中某个元组的主码值。改为:若F是关系R的外码,它与S的主码相对应,根据参照完整性规则,R中每个元组在F上的取值等于S中某个元组的主码值或为空值。(3)在一个关系模式中,包含在主关键字中的属性称为主属性,主属性之外的属性称为非主属性。改为:在一个关系模式中,包含在关键字中的属性称为主属性,主属性之外的属性称为非主属性。(4)createviewV_student_SC(学号,姓名,课程编码,成绩)asSelectstudent.no,student.name,sc.cno,sc.gradefromstudenta,scbwherestudent.no=sc.noorderbyb.cno改为:reateviewV_student_SC(学号,姓名,课程编码,成绩)asSelectstudent.no,student.name,sc.no,sc.gradefromstudent,scwherestudent.no=sc.no(5)selectstudent.*,sc.cno,sc.gradefromstudentrightouterjoinscwherestudent.no=sc.no(注意:如果认为这命令是错误的,改正时要用到外连接)改为:selectstudent.*,sc.cno,sc.gradefromstudentrightouterjoinsconstudent.no=sc.no(6)selectno,classfromstudentwherename=’李%’andnoinselect*fromscwherestudent.no=sc.no改为:selectno,classfromstudentwherenamelike'李%'andnoin(selectnofromscwherestudent.no=sc.no)5(7)检索班级平均年龄大于18且为汉族的学生情况的命令为:selectno,classfromstudentwherenotna=’汉族’orna=’苗族’andavg(age)18改为:selectno,classfromstudentwhereclassin(selectclassfromstudentgroupbyclasshavingavg(age)18)andna='汉族'(8)selectstudent.no+age,name,sc.*fromstudent,scwherestudent.no=sc.nogroupbysc.cnohavingcount(cno)2改为:selectsc.cnofromstudent,scwherestudent.no=sc.nogroupbysc.cnohavingcount(cno)2(9)selectno,name,sex,classfromstudentwherena=’汉族’UnionSelectno,name,age,classfromstudentwherena=’苗族’改为:selectno,name,sex,classfromstudentwherena='汉族'UnionSelectno,name,sex,classfromstudentwherena='苗族'(10)selectstudent.no,student.name,sc.cno,sc.gradefromc,studentleftouterjoinsconstudent.no=sc.noandc.no=sc.cno改为:selectstudent.no,student.name,sc.cno,sc.gradefromc,studentleftouterjoinsconstudent.no=sc.nowherec.no=sc.cno四、写出下列命令的结果。(本题24分)(1)selectno,agefromstudent;noage0101200102220105210108210110NULL203120(2)在STUDENT表中对AGE按升序建立索引后,执行下列命令:selectage,nofromstudent;agenoNULL01102001012020312101052101086220102(3)select*fromstudentorderbyage,name;0110张明NULL男1002汉族2031NULL20男1002汉族0101刘琳20女1002汉族0105王刚21男1015苗族0108周冰21女1015苗族0102李晓22女1015土家族(4)selectstudent.no,student.name,student.agefromstudentwhereclass'1001'andnoin(selectsc.nofromstudentleftouterjoinsconstudent.no=sc.nowheresc.cnoin(selectnofromCwherenamelike'数据库%'))0101刘琳200102李晓220105王刚210108周冰21(5)selectstudent.no,student.name,student.class,sc.cno,sc.gradefromstudentrightouterjoinsconstudent.no=sc.nowheresc.cnoin(selectnofromcwheretnoin(selectnofromTwheresex='女'))andexists(selectclassfromstudentgroupbyclasshavingavg(age)17)nonameclasscnograde0101刘琳10022010NULL0102李晓10152010NULL0105王刚10152010880108周冰1015201090NULLNULLNULL201085(6)select*fromstudentwhereage(selectavg(age)f
本文标题:10级数据库技术试题(答案)
链接地址:https://www.777doc.com/doc-3095288 .html