大工《SQL数据库系统及应用》课程考试模拟试卷A
- 格式:doc
- 大小:116.50 KB
- 文档页数:8
一、单项选择题(本大题共10小题,每小题3分,共30分)C1、关系数据库系统所使用的数据语言是()。
A.自然语言B.C语言C.结构化查询语言SQL D.JAVA语言B2、进行自然连接运算的两张表必须具有()。
A.相同列个数B.至少一个相同的列名C.相同表名D.相同主键A3、当使用INSERT语句往数据库表中插入一行数据时,在主键列值上如果出现重复值,那么会产生的情况是()。
A.出错,操作失败B.操作成功C.操作成功,但要给出警告信息D.自动把新数据行的主键列值更改为没有重复的列值后再插入,操作成功C4、某个大型制造业厂商要建立自己的财务系统数据库,需要安装SQL Server数据库服务器,那么安装版本最好是()。
A.个人版B.开发版C.企业版D.测试版C5、在下面软件系统中,()不属于DBMS。
A.SQL Anywhere B.Sybase C.UNIX D.OracleD6、datetime数据类型的表示范围是()。
A.1900年1月1日至2079年6月6日B.1970年1月1日至2030年12月31日C.1000年1月1日至3000年12月31日D.1753年1月1日至9999年12月31日A7、在关系数据库中,通常将能唯一标识一行数据的一列或者列组合称为()。
A.主键B.索引C.标记D.字段D8、SQL Server中,日志和数据()混合在一起存放。
A.有时可以B.有时不能C.必须D.绝对不能C9、按照数据模型划分,SQL Server应当是()。
A.层次型数据库管理系统B.网状型数据库管理系统C.关系型数据库管理系统D.混合型数据库管理系统B10、在数据库设计中,有时需要将一个数据库表拆分成两个表,这样做的目的是()。
A.增加易用性B.消除或减少数据冗余C.扩展数据库安全性D.并发控制的需要A1、如果要把某一个数据库建表权限授给所有合法用户,则可以把这个权限授给(),这样该数据库的每一个合法用户都拥有了建表权限。
A.public B.guest C.dbo D.saD2、下列说法不正确的是()。
A.一个数据库用户可能具有多个角色B.一个角色可以被多个数据库所使用C.一个角色可以拥有多种权限D.一种权限只能为一个角色所拥有B3、在设计一张关于学生信息的数据库表时,其中有一列为学生姓名,一般地,学生姓名不会超过4个汉字,那么最合适的该列的数据类型是()。
A.char(4) B.char(8) C.varchar(4) D.varchar(8)C4、在一张数据量较大的表上建立了索引,那么下面正确的说法是()。
A.索引会加快删除数据的速度B.索引会加快修改数据的速度C.索引会加快查询数据的速度D.索引会加快插入数据的速度B5、在某一时刻,文件数据只能供一个用户操作,而数据库则可以供多个用户同时操作,这得益于数据库系统的()。
A.安全性B.并发控制C.整性D.查询优化C6、在建立一个数据库表时,如果规定某一列的缺省值为0,说明()。
A.该列的数据不可更改B.当插入记录时,必须指定该列的值为0C.当插入记录时,如果没有指定该值,那么该列值为0D.当插入记录时,无须显式指定该列的值D7、储蓄所有多个储户,储户能够在多个储蓄所存取款,储蓄所与储户之间是()。
A.一对一的联系B.一对多的联系C.多对一的联系D.多对多的联系A8、在一个索引文件中包含了记录的索引项和()。
A.索引指针B.索引关键列对应的变量C.建立索引文件的索引表达式D.被索引记录的第一个列C9、把SQL Server数据库中数据导出的含义是指()。
A.SQL Server数据进行备份,便于故障恢复B.外部数据源中数据载入数据库C.把数据库中数据存储格式转换成另外一种数据存储格式D.导出后的数据格式必须和数据库中数据格式相同B10、如果要阻止其它事务读取当前事务正在修改的数据,那么最恰当方法是对该数据()。
A.加上共享锁B.加上排他锁C.加上更新锁D.不封锁二、是非题(判断下面的说法是否正确,如果正确,请写“T”,否则写“F”。
本大题共10小题,每小题2分,共20分)F1、在SQL Server中,一个数据库只能有一个辅助数据文件。
()T2、使用CREATE TABLE 命令可以向数据库中加入一个新表。
()F3、SQL Server存储过程是在客户端和服务器端同时执行。
()F4、如果同一表中两行数据的某一列值都为NULL,其它列值都相同,则这两行数据可看成是同一行数据。
()F5、由于索引是独立的,删除表时,与该表相关的索引并不被删除。
()T6、SQL Server中,每一个数据库只能有一个public。
()T7、当删除表时,则该表定义和数据同时被删除。
()T8、两个空值相比较的结果是未知。
()T9、一个数据库可以有多个日志文件。
()F10、通过视图可以任意修改数据。
()T1、在SQL Server中,日志文件不属于任何一个文件组。
()T2、用户帐户是基于数据库的,两个不同的数据库可以有相同的用户帐户。
()T3、数据库权限用于控制数据库对象的访问。
数据库权限分为:语句权限、对象权限。
()F4、在SQL Server中,使用INSERT命令一次只能插入一行数据。
()T5、对于视图的查询通常会转换为对于基表的等价查询。
()F6、索引并不能帮助用户在数据库中快速地定位要查询的数据行。
()T7、当第一个用户修改数据时,第二个用户在第一个用户没有确认修改之前读取了该数据,这时可能会出现脏读现象。
()T8、按照故障的影响程度,故障分为:影响一个事务、影响多个事务和影响整个系统。
()T9、数据转换的数据格式是把一种存储格式转换为另外一种存储格式,用于数据的外部交换。
()F10、作业是一个只需要定义一次、并只能执行一次的管理任务。
()三、设计题(本大题共2小题,每小题5分,共10分)1、使用GRANT语句对于用户自定义角色managers授予对表projects插入数据的权限。
1.grant inseert on projects to managers2、回收zhangsan对表authors的所有权限。
2.revoke allon authors1、写出一个SQL语句,将在“projects”表上插入数据的权限授于用户“smith”,并且smith可以将此权限再授于其他人。
1.grant insert on projects to smith with grant option2、写出一个SQL语句,撤销数据库用户zhangsan在数据库中建立表的权限。
2.revoke create tablefrom zhangsanfrom zhangsan四、简答题(本大题共4小题,每小题5分,共20分)1、简述构成SQL Server数据库安全体系的三个方面。
1.Sql Server的安全体系包括三个方面:(1)用户登录:使用用户登录,SQL Server就能够识别授权用户。
(2)数据库权限:权限管理和许可权限是一件事情。
所谓数据库权限是指定授权可以使用的数据库对象和这些授权用户可以对这些数据库对象所进行的操作。
(3)角色:一个角色能够把使用者组合为单一的整体,并且对这一组使用者赋予相同的权限。
使用角色,SQL Server管理者可以把一组用户设置为某一个角色,只要对角色进行权限管理也就可以对全组用户进行权限管理。
2、简述SQL Server的char和varchar的区别,并说明其应用范围。
2.char类型存放定长的字符串,如果实际数据长度没有达到所定义的长度,那么将会自动将长度补齐,适合于数据长度均等的字符串。
varchar类型存放可变长度的字符数据,它存储字符串的实际长度,适合于存储数据长度不均等、长度变化比较大的字符数据。
3、简述视图的功能。
3.从用户角度来看,一个视图(view)是从某一个特定角度来查看数据库中数据。
从数据库系统内部来看,一个视图是由SELECT语句组成的查询定义的虚拟表。
使用视图的优点:提供最新数据、针对性强、具有更好的安全性。
4、为什么要对数据库进行周期性备份?4.尽管数据库系统采取了各种保护措施来防止数据库的数据被破坏,但是计算机系统中的硬件错误、软件错误、操作员的失误、以及恶意的破坏是不可避免的。
这些故障轻则造成运行事务非正常终止,影响数据库系统的性能,重则破坏数据库。
因此必须对数据库进行周期性备份。
1、简述在数据库权限管理中角色所起的作用。
1.数据库角色可以简化把许多权限分配给许多用户的复杂管理任务。
建立一个代表一组用户的新角色,然后把这个角色分配给这个工作组。
一个用户可以是一个或者多个角色的成员。
2、简要叙述空值(NULL)的含义以及和0、空格的区别。
2.空值的含义是信息空缺、未知或者不可用,它不等同于任何一个具体值。
而0值和空格都是具体数值,有着固定含义,因此也就和NULL值有着本质的区别。
3、什么是唯一索引?唯一索引与主键的区别?3.唯一索引是指索引键值必须是唯一的,它可以唯一标识表中一行记录。
唯一索引和主键有两个区别:一是主键不可以取空值,唯一索引列可以取空值;二是一张表可能有多个唯一索引,但是只能有一个主键。
4、试说明数据转换和数据备份有什么异同。
4.数据转换是指将数据从一种存储格式转化为另一种存储格式的过程,主要用于数据的外部交换。
数据备份是专有的,一般不能用于不同数据源之间的交换,而只用于相同数据源内的内部交换。
五、综合题(本大题共4小题,每小题5分,共20分)给出如下的两个数据库表:学生(学号,姓名,性别,专业,出生年月)和成绩(学号,课程,分数),表定义说明如下所示。
学生成绩写出完成下列任务的SQL语句:1、建立【学生】表的语句。
create table 学生(学号 char(8) constraint p_k primary key,姓名 char(8) not null,性别 char(2) default '男',专业 char(8),出生年月 datetime,constraint ck_xb check(性别 in ('男','女')))2、往成绩表中插入一行数据(20010101,数学,80)。
2、首先保证在学生表中有学号为‘20010101‘的数据行,如果没有则首先要插入学生表。
然后再执行下列语句:insert into 成绩 values('20010101','数学',80)3、新建一个含有学号、姓名、性别、专业、课程、分数的学生成绩视图v_xuesheng。
CREATE VIEW v_xueshengAS SELECT 学生.学号,学生.姓名,学生.性别,学生.专业,成绩.课程,成绩.分数FROM 学生,成绩WHERE 学生.学号=成绩.学号4、查询平均课程成绩大于等于80分的学生的学号、平均成绩。