您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 大一SQL2005数据库试卷及答案
《SQL数据库管理与开发教程与实训》练习————————————————————————————————————————————1《SQL数据库管理与开发教程与实训》练习一、单项选择题(每小题1分,共10分)1.下列四项中,不属于数据库特点的是(c)。A.数据共享B.数据完整性C.数据冗余很高D.数据独立性高2.反映现实世界中实体及实体间联系的信息模型是(D)。A.关系模型B.层次模型C.网状模型D.E-R模型3.下列四项中,不正确的提法是(C)。A.SQL语言是关系数据库的国际标准语言B.SQL语言具有数据定义、查询、操纵和控制功能C.SQL语言可以自动实现关系数据库的规范化D.SQL语言称为结构查询语言4.在SQL中,SELECT语句的SELECTDISTINCT表示查询结果中(C)A.属性名都不相同B.去掉了重复的列C.行都不相同D.属性值都不相同5.在数据操作语言(DML)的基本功能中,不包括的是(B)A.插入新数据B.描述数据库结构C.修改数据D.删除数据6.在采用客户机/服务器体系结构的数据库应用系统中,应该将用户应用程序安装在(A)A.客户机端B.服务器端C.终端D.系统端7、实体型学生与任课教师之间具有(D)联系。A一对一B一对多C多对一D多对多8.数据库系统的日志文件用于记录下述哪类内容(D)A)程序运行过程B)数据查询操作C)程序执行结果D)数据更新操作9.数据库管理系统的英文缩写是(D)。A.DBB.DBSC.DBAD.DBMS10.SQL语言中,删除一个表的命令是(B)A.DELETEB.DROPC.CLEARD.REMOVE二、判断题(每空1分,共10分)1.在查询分析器中执行SQL语句的快捷键是F1。N2.计算ASCII('also')结果为97。Y3.UNION运算符是用于将两个或多个检索结果合并成一个结果。Y4.在事务中包含createdatabase语句吗?N5.Lock权限不是数据库的访问权限。N《SQL数据库管理与开发教程与实训》练习————————————————————————————————————————————26.数据库管理系统管理并且控制数据资源的使用。Y7.'李白''杜甫'比较运算的结果为真吗?Y8.在事务中包含createdatabase语句吗?N9.SQLServer有数据导入功能但没有数据导出功能。N10.SQLServer的角色与windowsNT的组含义相似。Y三、填空题(每空1分,共20分)1.SQLServer2000最常用的四个工具是________服务管理器、企业管理器、查询分析器和联机帮助。2.SQLServer2000四个系统数据库是_____master、model、msdb__和tempdb。3.Transact-SQL语言主要由______数据定义____语言、_____数据操作_____语言、_____数据控制_____语言和一些附加的语言元素等部分组成。4.数据定义语言是指用来创建、修改和删除各种对象的语句是____create、alter、drop。5.数据操纵语言是指用来查询、添加、修改和删除数据库中数据的语句,这些语句包括select、_____insert_____、____update______和____delete______。6.数据控制语言是用于控制对数据库对象的权限的SQL语句,授权、拒绝和撤销访问数据库对象权限的语句是____grant______、____deny______和____revoke______。7.语句selectchar(68),len('你是BigTiger')的执行结果是:______D___和_____11____。四、简述题(每小题5分,共10分)1.试述关系的性质。1)每一列中的数据必须具有相同的数据类型。2)每一个关系模式中属性的个数是固定的,并且必须命名,而且属性名不能相同。3)在同一个关系模式中,每一个属性必须是不可分解的。4)在关系中,行和列的顺序是无关紧要的。5)在关系中,不允许出现两个完全相同的元组。2.数据库系统的特点有哪些?1)采用特定的数据模型来管理数据。2)程序独立于数据,实现了数据的独立性。3)数据的共享性好,冗余度低,进而也减少了数据的不一致性。4)数据由数据库管理系统统一管理和控制。五、设计题(共50分)现有关系数据库如下:数据库名:学生选课数据库学生表(学号,姓名,性别,年龄,专业)课程表(课程号,课程名,学分,先行课程号)选课表(ID,学号,课程号,分数)用SQL语言实现下列功能的sql语句代码:1.创建数据库[学生选课数据库]代码(2分);createdatabase[学生选课数据库]go《SQL数据库管理与开发教程与实训》练习————————————————————————————————————————————3use[学生选课数据库]go2.创建[课程表]代码(2分);课程表(课程号char(6),课程名,学分,先行课程号)要求使用:主键(课程号)、非空(课程名,学分)createtable学生表([学号]char(6)primarykey,[姓名]nchar(4)notnull,[性别]nchar(1)check([性别]in('男','女')),[年龄]numeric(2),[专业]char(18)notnull3.创建[学生表]代码(6分);学生表(学号char(6),姓名,性别,年龄,专业)要求使用:主键(学号)、非空(姓名,专业)、检查(性别)createtable课程表([课程号]char(6)primarykey,[课程名]char(40)notnull,[学分]numeric(2)notnull,[先行课程号]char(6)4.创建[选课表]代码(4分);选课表(ID,学号,课号,分数)要求使用:外键(选课表.学号,选课表.课程号)、检查(分数),自动编号(ID)createtable选课表(IDIDENTITY(1,1),[学号]char(6)references学生表(学号),[课程号]char(6)references课程表(课程号),[分数]integercheck([分数]between0and100))5.将下列课程信息添加到课程表的代码(8分)课程号课程名学分先行课程号100001C语言2100002数据结构2100001100003数据库原理2修改课程号为100003的课程名:SQL数据库删除课程号为100002的课程信息insert课程表values('100001','C语言',2)insert课程表values('100002','数据结构',2,'100001')insert课程表values('100003','数据库原理',2)《SQL数据库管理与开发教程与实训》练习————————————————————————————————————————————4update课程表set课程名='SQL数据库'where课程号='100003'delete课程表where课程号='100002'6.写出创建:选课表视图(学号,姓名,课程号,课程名,学分,分数)的代码;(4分)createview[选课表视图]asselect选课表.学号,姓名,选课表.课程号,课程名,学分,分数from选课表,学生表,课程表where选课表.学号=学生表.学号and选课表.课程号=课程表.课程号--或createview[选课表视图]asselect选课表.学号,姓名,选课表.课程号,课程名,学分,分数from选课表join学生表on选课表.学号=学生表.学号join课程表on选课表.课程号=课程表.课程号7.写出创建:某门课程成绩内嵌表值函数以及检索的代码;(6分)检索:所有修SQL数据库这门学生的成绩;createfunction[某门课程成绩](@课程名varchar(40))returnstableasreturn(select学号,姓名,课程名,学分,分数from选课表视图where课程名=@课程名)goselect*from[某门课程成绩]('SQL数据库')8.写出创建:某门课程高低均分计算某门课程成绩最高分、最低分、平均分存储过程以及执行的代码;(6分)执行:所有修SQL数据库这门学生的最高分、最低分、平均分;createprocedure[某门课程高低均分]@课程名varchar(40)asselect课程名,最高分=max(分数)、最低分=min(分数)、平均分=avg(分数)from选课表视图where课程名=@课程名goexecute[某门课程高低均分]'SQL数据库'9.检索姓张的女同学的情况:姓名、学号、专业。(2分)select姓名,学号,专业from学生表where姓名like'张%'and性别='女'10.检索有一门或一门以上课程成绩小于60分的所有学生的信息,包括学号、姓名。(4分)select学号,姓名,专业from学生表where学号in(selectdistinct学号from选课表where分数60)《SQL数据库管理与开发教程与实训》练习————————————————————————————————————————————511.设置一SQL身份验证的账户:登录名:U领导,密码:888,数据库用户名:U读者,权限:可查询查询本数据库中所有表、视图、内嵌表值函数的数据。请写出账户、权限设置的T_SQL脚本。(6分)use[学生选课数据库]execsp_addlogin'U领导',NULL,'学生选课数据库','简体中文'execsp_passwordNULL,'888','U领导'execsp_grantdbaccess'U领导','U读者'execsp_addrolemember'db_datareader','U读者'--或use[学生选课数据库]execsp_addlogin'U领导','888','学生选课数据库'execsp_grantdbaccess'U领导','U读者'execsp_addrolemember'db_datareader','U读者'《SQL数据库管理与开发教程与实训》练习————————————————————————————————————————————6《SQL数据库管理与开发教程与实训》试题(M卷)参考答案一、1.C2.D3.C4.C5.B6.A7.D8.D9.D10.B二、1.N2.Y3.Y4.N5.N6.Y7.Y8.N9.N10.Y三、1.服务管理器、企业管理器、查询分析器2.master、model、msdb3.数据定义、数据操作、数据控制4.create、alter、drop5.insert、update、delete6.grant、deny、revoke7.D、11四、简述题1.1)每一列中的数据必须具有相同的数据类型。2)每一个关系模式中属性的个数是固定的,并且必须命名,而且属性名不能相同。3)在同一个关系模式中,每一个属性必须是不可分解的。4)在关系中,行和列的顺序是无关紧要的。5)在关系中,不允许出现两个完全相同的元组。2.1)采用特定的数据模型来管理数据。2)程序独立于数据,实现了数据的独立性。3)数据的共享性好,冗余度低,进而也减少了数据的不一致性。4)数据由数据库管理系统统一管理和控制。五、设计题1.createdatabase[学生选课数据库]gouse[学生选课数据库]go2.createtable学生表([学号]char(6)primarykey,[姓名]nchar(4)notnull,[性别]nchar(1)check([性别]in('男','女')),[年龄]numeric(2),[专业]char(18)notnull)3.createtable课程表([课程号]char(6)primarykey,[课程名]char(40)notnull,[学分]numeric(2)notnull,[先行课程号]c
本文标题:大一SQL2005数据库试卷及答案
链接地址:https://www.777doc.com/doc-2550225 .html