08计应(1)(2)班试卷第1页,共6页汕头职业技术学院2009—2010学年度第二学期期中考试试卷课程名称数据库原理与应用拟题人陈明忠审题人_____________系(校区)计算机系班级姓名学号____________题号一二三四五总分得分一、单项选择题:(将正确答案的编号填在下表中,每小题1.5分,共18分)1.任何一个满足2NF但不满足3NF的关系模式都不存在()A)主属性对主码的部分依赖B)非主属性对主码的部分依赖C)主属性对主码的传递依赖D)非主属性对主码的传递依赖2.相对于非关系模型,关系数据模型的缺点之一是()A)查找记录的速度最慢B)数据结构简单C)数据独立性高D)有严格的数学基础3.创建一个用户数据库时,()数据库的内容(表和视图)就会自动地复制到新创建的数据库中。A)masterB)modelC)msdbD)tempdb4.下列聚合函数中不忽略空值(null)的是()A)sum(列名)B)max(列名)C)count(*)D)avg(列名)5.关于唯一约束的叙述,错误的是()A)一个表可以定义多个唯一约束B)唯一约束的值不能重复C)唯一约束的值不能为nullD)一个唯一约束可以施加到多个属性中6.下列涉及空值的操作,不正确的是()A)ageisnullB)ageisnotnullC)age=nullD)not(ageisnull)7.层次模型不能表示()的联系A)多对多B)一对多C)多对一D)一对一8.下列关系运算中,()运算不属于专门的关系运算。A)选择B)连接C)投影D)广义笛卡尔积9.数据库系统的体系结构是()A)两级模式结构和一级映射B)三级模式结构和一级映射C)三级模式结构和两级映射C)三级模式结构和三级映射10.单个用户使用的数据视图的描述称为()08计应(1)(2)班试卷第2页,共6页A)外模式B)概念模式C)内模式D)存储模式11.现有一个关系:借阅(书号,书名,库存数,读者号,借期,还期),假如同一本书允许一个读者多次借阅,但不能同时对一种书借多本。则该关系模式的主码是()A)书号B)读者号C)书号+读者号D)书号+读者号+借期12.下列说法不正确的是()A)任何一个包含两个属性的关系模式一定满足3NFB)任何一个包含两个属性的关系模式一定满足BCNFC)任何一个包含三个属性的关系模式一定满足3NFD)任何一个关系模式一定有码。二、填空题:(每空1分,共21分)1.SQL中文全称是_结构化查询语言__,SQL语言集__数据定义___、___数据查询_、___数据操纵和数据控制四大功能。2.在SQLserver2000中,常用_【】_定界标识符,_单引号_定界字符串。3.在select语句中,如果使用了groupby子句,则select子句只能使用_聚合_函数和_分组__字段。4.视图基于一个或多个_基表_而建立起来的虚拟表,一个视图对应着一个_select_语句。5.向数据表赋值时,_标识_字段与_公式__字段的值只能由系统自动给出。6.一个sql脚本由一个或多个批处理组成,每个批处理以_go_作为结束标志。7.关系数据库的实体完整性规定关系的_主属性_都不能取__空值_。8.参照完整性是指__一个表外键的取值必须是主键表中主键的有效值或空值____。9.关系数据库的_规范化__理论是数据库逻辑设计的一个有力工具,在数据库的概念设计中_E-R图__是一个有力工具。10.数据库系统提供了两个方面的映象功能,这样就使得数据库具有_逻辑_独立性,又具有_物理__独立性。三、设计题:(5+5+10+10分)1.设有关系模式R(A,B,C,D),F是R上成立的FD集,F={D→A,D→B},试写出关系模式R的主码,并说明理由。因为D-A,D-B,所以D-AB;所以D为关系模式R的主码因为CD-D,D-A,所以CD-A,因为CD-D,D-B,所以CD-B所以CD为主码2.学校中有若干系,每个系有若干班级和教研室,每个教研室有若干教员,其中有的教授08计应(1)(2)班试卷第3页,共6页和副教授每人各带若干研究生,每个班有若干学生,每个学生选修若干课程,每门课可由若干学生选修。用E-R图画出此学校的概念模型。3.设某商业集团数据库中有一个关系模式为:R(商店编码,顾客编码,消费总额,顾客单位,地址,电话)该模式的关系记载每个顾客在每个商店的累计消费总额。如果规定:①每个顾客在每个商店只有一个消费总额;②每个顾客只属于一个单位;③每个顾客单位只有一个地址、一个电话。试回答下列问题:(1)写出模式R的基本函数依赖。(2)说明R不是2NF的理由,并把R分解成2NF模式集。(3)进而分解成3NF模式集4.现有如下关系模式:借阅(图书编号,书名,作者名,出版社,读者编号,读者姓名,借阅日期,归还日期)(1)写出该关系模式的主码。(2)该关系模式最高满足第几范式?并说明理由。(3)如何分解该关系模式,使得分解后的关系模式级别更高?08计应(1)(2)班试卷第4页,共6页四、根据下表写transact-SQL语句(每题3%,共21分)Student学号姓名性别年龄系别95001李勇男20CS95002刘晨女19IS95003王名女18MA95004张立男18ISSc学号课程名成绩95001数据库原理9295001高等数学8595001操作系统8895002高等数学9295002操作系统801.查询全体学生的姓名及出生年份,并将查询结果存入student1中。Select姓名,year(GETDATE())-年龄as出生年份intostudent1FromStudent2.查询选修了课程的学生人数。SelectCount(distinct学号)AS学生人数FromSc3.查询年龄最大的2名学生的姓名、年龄。Selecttop2姓名,年龄FromStudent08计应(1)(2)班试卷第5页,共6页Orderby年龄Desc4.查询年龄小于平均年龄的学生学号、姓名和年龄。Select学号,姓名,年龄FromStudentWhere年龄(Selectavg(年龄)FromStudent)5.查询选修了课程名为“操作系统”的学生的学号、姓名。Select学号,姓名FromStudent,ScWhereStudent.学号=Sc.学号and课程名='操作系统'6.删除student1表中的所有记录,使之成为空表。DeleteFromStudent17.将计算机科学系全体学生的成绩置0。UpdateScSet成绩=0Where学号in(Select学号FromStudentWhere系别='计算机')五、为student表与Sc表添加如下约束。(10分)Student表:列名数据类型长度约束学号char5主键姓名char8唯一约束性别char2默认为:男年龄tinyint1只能为15~20系别char2SC表:列名数据类型长度说明学号char5学号+课程名为主键约束,学号为外键约束,参照student表课程名Char20成绩tinyint1altertableStudentaddConstraintPK_noPrimaryKey(学号),ConstraintUn_nameUnique(姓名),ConstraintDF_sexDefault'男'For性别,ConstraintCK_ageCheck(年龄=15and年龄=20)08计应(1)(2)班试卷第6页,共6页altertableScaddConstraintPK_sno_cnoPrimaryKey(学号,课程名),ConstraintFK_snoForeignKey(学号)ReferencesStudent(学号)