网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 交易代码 > SQL语法 > 正文

sql

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务
单项选择题(每小题1分,共10分)
    1.下列四项中,不属于数据库特点的是(3)。
    A.数据共享B.数据完整性
    C.数据冗余很高D.数据独立性高
    2.下列四项中,不属于SQL2000实用程序的是(4)。
    A.企业管理器B.查询分析器
    C.服务管理器D.媒体播放器
    3.SQLServer安装程序创建4个系统数据库,下列哪个不是(3)系统数据库。
    A.masterB.model
    C.pubD.msdb
    4.(1)是位于用户与操作系统之间的一层数据管理软件,它属于系统软件,它为用户或应用程序提供访问数据库的方法。数据库在建立、使用和维护时由其统一管理、统一控制。
    A.DBMSB.DB
    C.DBSD.DBA
    5.在SQL中,建立表用的命令是(2)。
    A.CREATESCHEMAB.CREATETABLE
    C.CREATEVIEWD.CREATEINDEX
    6.SQL语言中,条件年龄BETWEEN15AND35表示年龄在15至35之间,且(1)。
    A.包括15岁和35岁
    B.不包括15岁和35岁
    C.包括15岁但不包括35岁
    D.包括35岁但不包括15岁
    7.下列四项中,不正确的提法是(3)。
    A.SQL语言是关系数据库的国际标准语言
    B.SQL语言具有数据定义、查询、操纵和控制功能
    C.SQL语言可以自动实现关系数据库的规范化
    D.SQL语言称为结构查询语言
    8.在MSSQLServer中,用来显示数据库信息的系统存储过程是(4)。
    A.sp_dbhelpB.sp_db
    C.sp_helpD.sp_helpdb
    9.SQL语言中,删除表中数据的命令是(1)。
    A.DELETEB.DROP
    C.CLEARD.REMOVE
    10.SQL的视图是从(3)中导出的。
    A.基本表B.视图
    C.基本表或视图D.数据库
    二、判断题(每空1分,共10分)
    1.'在那遥远的地方'是SQL中的字符串常量吗?2
    2.'11.9'是SQL中的实型常量吗2
    3.select16%4,的执行结果是:4吗?2
    4.2005.11.09是SQL中的日期型常量吗?2
    5.¥2005.89是SQL中的货币型常量吗?2
    6.select25/2的执行结果是:12.5吗?1
    7.'岳飞'>'文天祥'比较运算的结果为真吗?2
    8.一个表可以创建多个主键吗?2
    9.创建唯一性索引的列可以有一些重复的值?2
    10.固定数据库角色:db_datarader的成员能修改本数据库内表中的数据吗?2
    马建鹏老师
    一、单项选择题(每小题1分,共10分)
    1.(1)是位于用户与操作系统之间的一层数据管理软件,它属于系统软件,它为用户或应用程序提供访问数据库的方法。数据库在建立、使用和维护时由其统一管理、统一控制。
    A.DBMSB.DB
    C.DBSD.DBA
    2.下列四项中,不属于SQL2000实用程序的是(4)。
    A.企业管理器B.查询分析器
    C.服务管理器D.媒体播放器
    3.SQLServer安装程序创建4个系统数据库,下列哪个不是(3)系统数据库。
    A.masterB.model
    C.pubD.msdb
    4.下列哪个不是sql数据库文件的后缀。3
    A..mdfB..ldf
    C..tifD..ndf
    5.数据定义语言的缩写词为(1)。
    A.DDLB.DCL
    C.DMLD.DBL
    6.SQL语言中,条件年龄BETWEEN15AND35表示年龄在15至35之间,且(1)。
    A.包括15岁和35岁B.不包括15岁和35岁
    C.包括15岁但不包括35岁D.包括35岁但不包括15岁
    7.SQL的视图是从(3)中导出的。
    A.基本表B.视图
    C.基本表或视图D.数据库
    8.在SQL语言中,建立存储过程的命令是(1)
    A、CREATEPROCEDUREB、CREATERULE
    C、CREATEDURED、CREATEFILE
    9.SQL语言中,删除表中数据的命令是(1)。
    A.DELETEB.DROP
    C.CLEARD.REMOVE
    10.在MSSQLServer中,用来显示数据库信息的系统存储过程是(4)。
    A.sp_dbhelpB.sp_db
    C.sp_helpD.sp_helpdb
    二、判断题(每空1分,共15分)
    1.'在那遥远的地方'是SQL中的字符串常量吗?1
    2.11.9是SQL中的实型常量吗1
    3.select16%4,的执行结果是:0吗?1
    4.2005.11.09是SQL中的日期型常量吗?2
    5.¥2005.89是SQL中的货币型常量吗?2
    6.select25/2的执行结果是:12.5吗?2
    7.'李逵'>'李鬼'比较运算的结果为真吗?1
    8.一个表可以创建多个主键吗?2
    9.创建唯一性索引的列可以有一些重复的值?2
    10.smallint是SQL的数据类型吗?1
    11.SQLServer不允许字段名为汉字?2
    12.职称in('教授','副教授'')与职称='教授'or职称='副教授'等价吗?1
    13.如果规则当前绑定到某列或用户定义的数据类型,不能解除绑定能直接删除规则?2
    14.在表中创建一个标识列(IDENTITY),当用户向表中插入新的数据行时,系统自动为该行标识列赋值吗?1
    15.固定数据库角色:db_datarader的成员修改本数据库内表中的数据吗?2
    杜兆将老师
    一、单项选择题(每小题1分,共10分)
    1.下列四项中,不属于数据库特点的是(3)。
    A.数据共享B.数据完整性
    C.数据冗余很高D.数据独立性高
    2.目前(1)数据库系统已逐渐淘汰了网状数据库和层次数据库,成为当今最为流行的商用数据库系统。
    A.关系B.面向对象C.分布
    3.数据库设计中的概念结构设计的主要工具是(2)。
    A.数据模型B.E—R模型C.新奥尔良模型D.概念模型
    4.(1)是位于用户与操作系统之间的一层数据管理软件,它属于系统软件,它为用户或应用程序提供访问数据库的方法。数据库在建立、使用和维护时由其统一管理、统一控制。
    A.DBMSB.DBC.DBSD.DBA
    5.在SQL中,建立视图用的命令是(3)。
    A.CREATESCHEMAB.CREATETABLE
    C.CREATEVIEWD.CREATEINDEX
    6.SQL语言中,条件“年龄BETWEEN20AND30”表示年龄在20至30之间,且(1)。
    A.包括20岁和30岁B.不包括20岁和30岁
    C.包括20岁但不包括30岁D.包括30岁但不包括20岁
    8.在MSSQLServer中,用来显示数据库信息的系统存储过程是(4)。
    A.sp_dbhelpB.sp_dbC.sp_helpD.sp_helpdb
    9.SQL语言中,删除一个表的命令是(2)。
    A.DELETEB.DROPC.CLEARD.REMOVE
    10.SQL的视图是从(3)中导出的。
    A.基本表B.视图C.基本表或视图D.数据库
    二、判断题(每空1分,共10分)
    1."在那遥远的地方"是SQL中的字符串常量吗?2
    2."11.9"是SQL中的实型常量吗?2
    3.语句select16%4,的执行结果是:0吗?1
    4."2005.11.09"是SQL中的日期型常量吗?2
    5.¥2005.89是SQL中的货币型常量吗?2
    6.语句select15/2的执行结果是:7.5吗?2
    7.'李白'>'杜甫'比较运算的结果为真吗?1
    8.在事务中包含createdatabase语句吗?2
    9.创建唯一性索引的列可以有一些重复的值?2
    10.固定数据库角色:db_datawriter的成员删除本数据库内任何表中的数据吗?1
    《SQL数据库管理与开发教程与实训》试题(D卷)
    刘占文老师
    一、单项选择题(每小题1分,共10分)
    1.数据库应用系统是由数据库、数据库管理系统(及其开发工具)、应用系统、()和用户构成。
    A.DBMSB.DB
    C.DBSD.DBA
    2.数据库管理系统的英文缩写是()。
    A.DBMSB.DBS
    C.DBAD.DB
    3.在关系运算中,选取符合条件的元组是()运算。
    A.除法B.投影
    C.连接D.选择
    4.数据库设计中的逻辑结构设计的任务是把()阶段产生的概念数据库模式变换为逻辑结构的数据库模式。
    A.需求分析B.物理设计
    C.逻辑结构设计D.概念结构设计
    5.一个规范化的关系至少应当满足()的要求。
    A.一范式B.二范式
    C.三范式D.四范式
    6.在实际数据库设计中,“”通常作为()存在。
    A.数据结构B.数据存储
    C.数据项目D.处理过程
    7.SQLServer2000中删除表中记录的命令是()。
    A.DELETEB.SELECT
    C.UPDATED.DROP
    8.运行命令SELECTASCII(‘Alklk’)的结果是()。
    A.48B.32
    C.90D.65
    9.在SQL中,建立视图用的命令是()。
    A.CREATESCHEMAB.CREATETABLE
    C.CREATEVIEWD.CREATEINDEX
    10.在MSSQLServer中,用来显示数据库信息的系统存储过程是()。
    A.sp_dbhelpB.sp_db
    C.sp_helpD.sp_helpdb
    二、判断题(每空1分,共10分)
    1.连接、选择和投影三种关系运算具有相同的结果。
    2.数据的安全性主要防范的对象是合法用户。
    3.数据库设计前只需选择数据库分析设计人员。
    4.恢复是利用冗余数据来重建数据库。
    5.定义外键级级联是为了保证相关表之间数据的一致性吗?
    6.创建唯一性索引的列可以有一些重复的值?
    7.存储过程的输出结果可以传递给一个变量。
    8.视图具有与表相同的功能,在视图上也可以创建触发器。
    9.能在游标中删除数据记录。
    10.SQLServer2000不具有数据的导入与导出功能。
    三、填空题(每空1分,共20分)
    1.数据库三个要素是__________、__________和_____________。
    2.语句selectyear('1931-9-18')的执行结果是____________。
    3.__________是指保证指定列的数据具有正确的数据类型、格式和有效的数据范围。
    4.__________是特殊类型的存储过程,它能在任何试图改变表中由触发器保护的数据时执行。
    5.事务(Transaction)可以看成是由对数据库的若干操作组成的一个单元,这些操作要么______,要么________(如果在操作执行过程中不能完成其中任一操作)。
    6.SQLServer2000采用的身份验证模式有________________模式和________模式。
    7.用户访问SQLServer数据库时,经过了两个_______验证和________验证安全验证阶段。
    8.SQLServer2000提供的数据库备份方法有_______数据库备份和________数据库备份、____________备份和________________备份。
    9.SQLServer代理主要由______、______和警报来组成。
    10.SQLServer复制把服务器分为______服务器、______服务器和订阅服务器三种。
    四、简述题(每小题5分,共20分)
    1.试述关系的含义和性质。(7分)
    2.什么是事务?(6分)
    3.事务控制语句的使用方法是什么?(7分)
    五、设计题(1—6题每空2分,第7题10分,共40分)
    1.计算1+2+3+……+100的和,并使用PRINT显示计算结果。
    DECLARE@Iint,@sumint,@csumchar(10)
    SELECT@I=1,@sum=0
    WHILE@I<=________
    BEGIN
    SELECT@sum=__________
    SELECT@I=@I+1
    END
    SELECT@csum=convert(char(10),@sum)
    __________’1+2+3+……+100=’+@csum
    2.使用SQL语句创建一个班级表CLASS,属性如下:CLASSNO,DEPARTNO,CLASSNAME;类型均为字符型;长度分别为8、2、20且均不允许为空。
    CREATE________CLASS
    (CLASSNO______(8)NOTNULL,
    DEPARTNOCHAR(2)NOTNULL,
    CLASSNAMECHAR(____)NOTNULL
    )
    3.声明一个名为CRSCOURSE的游标,并利用游标遍历,显示整个结果集。
    USEXK
    DECLARE@COUNOVARCHAR(3),@COUNAMEVARCHAR(20)
    _________________________
    FORSELECTCOUNO,COUNAMEFROMCOURSEORDERBYCOUNO
    _________________________
    FETCHNEXTFROMCRSCOURSEINTO@COUNO,@COUNAME
    WHILE@@FETCH_STATUS=0
    BEGIN
    PRINT’课程号:’+@COUNO+’课程名称:’+@CouName
    FETCHNEXTFROMCRSCOURSEINTO@COUNO,@COUNAME
    END
    _________________________
    DEALLOCATECRSCOURSSE
    4.使用SQL语句在XK数据库中创建一个名为V_STUDENT的视图,该视图仅查看“STUDENT”表中“00电子商务”班的学生信息。
    USEXK
    CREATE____________V_STUDENT
    AS
    SELECT*
    FROM____________
    WHERECLASSNO=’20000001’
    5.使用SQL语句在XK数据库中创建一个名为P_STUDENT的存储过程,该存储过程返回“STUDEND”表中所有班级代码为200000001的记录。
    USEXK
    CREATE____________P_STUDENT
    AS
    SELECT*
    ____________STUDENT
    WHERECLASSNO=’20000001’
    6.创建触发器TEST,要求每当在STUDENT表中修改数据时,将向客户端显示一条“记录已修改”的消息。
    USEXK
    _________________
    ONSTUDENT
    _________________
    AS
    PRINT‘记录已修改’
    7.定义事务向[学生]数据库的[选课表]中插入=‘20030021’的多条记录,并检验若报名课程超过4门,则回滚事务,即报名无效,否则成功提交。
    选课表(,课号,报名号)
    假设要插入的记录为以下三条:
    ‘20030021’,‘01’,1‘20030021’,‘02’,2‘20030021’,‘03’,3
    根据以上要求编写程序,并指出本题定义的事务是否成功提交。
    
    《SQL数据库管理与开发教程与实训》试题(D卷)参考答案
    一、单项选择题
    1.D2.A3.D4.D5.C6.C7.D8.D9.C10.D
    二、判断题
    1.N2.N3.N4.Y5.Y6.N7.Y8.N9.Y10.N
    三、填空题
    1.数据结构、数据操作、完整性约束
    2.1931
    3.域完整性
    4.触发器
    5.都完成、都取消
    6.Windows身份验证、混合
    7.身份、权限
    8.完整、差异、事务日志、文件和文件组
    9.操作员、作业
    10.发布、分发
    四、简述题
    1.关系是笛卡尔积的有意义的子集,用二维表格表示;
    关系的性质如下:
    关系表中的每一列都是不可再分的基本属性;
    表中的各属性不能重名;
    表中的行、列次序不分前后;
    表中的任意两行不能完全相同。
    2.事务(Transaction)可以看成是由对数据库若干操作组成的一个单元,这些操作要么都完成,要么都取消(如果在操作执行过程中不能完成其中任一操作)。在SQLServer2000中,事务是由一条或者多条Transact-SQL语句组成的一个工作单元,这些语句要么都正常执行,要么如果有其中任意一条语句执行失败被取消的话,这些语句的执行都被取消。SQL利用事务机制保证数据修改的一致性,并且在系统出错时确保数据的可恢复性。
    3.事务控制语句的使用方法
    begintransaction
    ……--A组语句序列
    savetransaction保存点1
    ……--B组语句序列
    if@@error<>0
    rollbacktransaction保存点1--回滚到:保存点1
    else
    committransaction--提交A组语句,同时如果未回滚B组语句则提交B组语句。
    五、设计题
    1.100@sum+@iprint
    2.tablechar20
    3.Declarecrscoursecursor
    opencrscourse
    closecrscourse
    4.view
    student
    5.procedure
    from
    6.Altertriggertest
    forupdate
    7.Use学生
    Begintransaction
    Insert选课表(,课程号,报名号)values(‘20030021’,‘01’,1)
    Insert选课表(,课程号,报名号)values(‘20030021’,‘02’,2)
    Insert选课表(,课程号,报名号)values(‘20030021’,‘03’,3)
    Declare@numint
    Set@num=(selectcount(*)from选课表where=‘20030021’)
    If@num>4
    begin
    Rollbacktransaction
    Print‘超过报名门数!’
    end
    Else
    Begin
    Committransaction
    Print‘报名成功!’
    end
    go
    本题定义的事务成功提交。
    《SQL数据库管理与开发教程与实训》试题(E卷)
    刘占文老师
    一、单项选择题(每小题1分,共10分)
    1.()是被长期存放在计算机内的、有组织的、统一管理的相关数据的集合。
    A.DATAB.INFORMATIONC.DBD.DBS
    2.需求分析的主要方法是()。
    A.自顶向下B.自底向上C.从左到右D.混合策略
    3.在关系运算中,选取符合条件的元组是()运算。
    A.除法B.投影C.连接D.选择
    4.关系数据库的规范化理论指出,关系数据库中的关系应满足一定的要求,最起码的要求是达到1NF,既满足()。
    A.主关键字唯一标识表中的每一行
    B.关系中的行不允许重复
    C.每个非关键字列都完全依赖于主关键字
    D.每个属性都有是不可再分的基本数据项
    5.SQLServer2000中表查询的命令是()。
    A.USEB.SELECTC.UPDATED.DROP
    6.SQLServer2000中表更新数据的命令是()。
    A.USEB.SELECTC.UPDATED.DROP
    7.在SQLServer2000中,下列变量名正确的是()。
    A.@sumB.jC.sumD.4kk
    8.建立索引的目的是()。
    A.降低SQLServer数据检索的速度
    B.与SQLServer数据检索的速度无关
    C.加快数据库的打开速度
    D.提高SQLServer数据检索的速度
    9.用于求系统日期的函数是()。
    A.YEAR()B.GETDATE()C.COUNT()D.SUM()
    10.向用户授予操作权限的SQL语句是()。
    A.CTEATEB.REVOKEC.SELECTD.GRANT
    二、判断题(每空1分,共10分)
    1.数据的完整性主要防范的对象是非法用户。
    2.概念结构设计的工具是E—R模型。
    3.写程序不属于数据库的模式设计阶段。
    4.设计好的数据库管理系统在投入使用后出现问题由使用方负责。
    5.规则必须使用一次就必须定义一次。
    6.缺省情况下,所创建的索引是非聚集索引?
    7.自定义函数在对任何表的查询中都可以使用。
    8.触发器是可在程序中被调用执行。
    9.游标中可发插入数据记录。
    10.sa能否创建和删除数据库角色?
    三、填空题(每空1分,共20分)
    1.SQL语言主要由________________、_______________和数据控制语言(DCL)组成。
    2.SQLServer2000采用的身份验证模式有Windows身份验证模式和_________模式。
    3.语句SELECT(7+3)*4-17/(4-(8-6))+99%4的执行结果是_____________。
    4.________是由一个或多个数据表(基本表)或视图导出的虚拟表。
    5._____________用于保证数据库中数据表的每一个特定实体的记录都是惟一的。
    6.索引的类型有______________和非聚集索引。
    7._________是已经存储在SQLServer服务器中的一组预编译过的Transact-SQL语句。
    8.触发器定义在一个表中,当在表中执行________、________或delete操作时被触发自动执行。
    9.事务的ACID属性是指________性、________性、_______性和_______性。
    10.数据库管理系统的安全性通常包括两个方面,一是指数据________的安全性,二是指数据_______的安全性。
    11.SQLServer代理主要由________、操作员和________来组成。
    12.SQLServer复制有快照复制、________复制和________复制3种类型。
    四、简述题(每小题5分,共20分)
    1.简述数据库设计过程中需求分析、概念结构设计、逻辑结构设计各个阶段所要完成的任务。
    2.存储过程与触发器有什么不同?
    3.什么是游标?
    4.什么是事务?
    五、设计题(每小题5分,共40分)
    现有关系数据库如下:
    数据库名:学生成绩数据库
    学生表(*,,性别,民族)
    课程表(*课程号,课程名称,任课教师)
    成绩表(*,*课程号,分数)
    用SQL语言实现下列功能的sql语句代码:
    1.创建数据库[学生成绩数据库]代码(2分);
    2.创建[课程表]代码(2分);
    课程表(课号char(6),名称)
    要求使用:主键(课号)、非空(名称)
    3.创建[学生表]代码(2分);
    学生表(char(6),,性别,民族)
    要求使用:主键()、默认(民族)、非空(民族,)、检查(性别)
    4.创建[成绩表]代码(2分);
    成绩表(,课程号,分数)
    要求使用:外键(成绩表.,成绩表.课程号)、检查(分数)
    5.将下列课程信息添加到课程表中
    课号课程名称
    100001大学语文
    100002大学英语
    6.写出创建成绩表视图(,,课程号,课程名称,成绩)的代码;
    7.写出创建分数存储过程用于计算某门课程成绩最高分、最低分、平均分
    8.检索姓李的女同学的信息:、性别、民族。
    9.设置SQL身份验证的账户:
    登录名:U领导
    密码:888
    数据库用户名:U读者
    权限:可查询查询本数据库中所有表的数据。
    10.定义一事务向成绩表中插入=‘20030021’的多条记录,并检验若该同学成绩超过4门,则回滚事务,即成绩无效,否则成功提交。
    
    《SQL数据库管理与开发教程与实训》试题(E卷)参考答案
    一、单项选择题
    1.C2.A3.D4.D5.B6.C7.A8.D9.B10.D
    二、判断题
    1.N2.Y3.Y4.N5.N6.Y7.Y8.N9.N10.Y
    三、填空题
    1.数据定义语言(DDL)、数据操作语言(DML)
    2.混合
    3.35
    4.视图
    5.实体完整性
    6.聚集索引
    7.存储过程
    8.insert、update
    9.原子、一致、独立、持久
    10.访问、运行
    11.作业、警报
    12.事务、合并
    四、简述题
    1.①需求分析阶段的主要任务是通过调查,了解原系统的工作概况,明确用户的各种需求,收集支持系统目标的基础数据及其处理方法,
    ②概念结构设计的主要任务是对需求分析的结果进行综合、归纳,从而形成一个独立于具体数据库管理系统的概念数据模型。
    ③逻辑结构设计阶段的主要任务是将概念结构设计的结果转换为某个具体的数据库管理系统所支持的结构数据模型,并对其进行优化。
    2.答:触发器是特殊类型的存储过程,它能在任何试图改变表中由触发器保护的数据时执行。触发器主要通过事件进行触发而被执行,触发器不能直接调用执行,也不能被传送和接受参数,而存储过程可以通过存储过程名被直接调用。触发器与表有关,存储过程与表无关。
    3.答:游标是允许用户能够从select语句查询的结果集中,逐条逐行地访问记录,可以按照自己的意愿逐行地显示、修改或删除这些记录的数据访问处理机制。
    4.答:事务(Transaction)可以看成是由对数据库的若干操作组成的一个单元,如果这些操作在执行过程中任何一条操作不能正常完成的话,就取消单元中的所有操作,要么单元中的所有操作都正常完成。
    五、设计题
    1.createdatabase[学生成绩数据库]
    go
    use[学生成绩数据库]
    go
    2.createtable课程表
    ([课程号]char(6)primarykey,
    [课程名称]char(40)notnull
    [任课教师]char(4)
    )
    3.createtable学生表
    ([]char(6)primarykey,
    []nchar(4)notnull,
    [性别]nchar(1)check([性别]in('男','女')),
    [民族]nchar(8)default'汉族'notnull
    )
    4.createtable成绩表
    ([]char(6)references学生表(),
    [课程号]char(6)references课程表(课号),
    [成绩]integercheck([成绩]between0and100)
    )
    5.insert课程表values('100001','大学语文')
    insert课程表values('100002','大学英语')
    insert课程表values('100003','西班牙语')
    6.createview[成绩表视图]as
    select,,课程号,课程名称,成绩from成绩表,学生表
    where成绩表.=学生表.
    select,,课程号,课程名称,成绩from成绩表join学生表
    on成绩表.=学生表.
    7.createprocedure[分数]
    @课程名nchar(16)as
    select课程名称,最高分=max(分数)、最低分=min(分数)、平均分=avg(分数)
    from成绩表视图
    where课程名称=@课程名
    8.select,性别,民族from学生表wherelike'李%'and性别='女'
    9.use[学生成绩数据库]
    execsp_addlogin'U领导','888','学生成绩数据库','简体中文'
    execsp_grantdbaccess'U领导','U读者'
    execsp_addrolemember'db_datareader','U读者'
    10.Begintransaction
    Insert成绩表(,课程号,分数)values(‘20030021’,’001’,80)
    Insert成绩表(,课程号,分数)values(‘20030021’,’002’,90)
    Insert成绩表(,课程号,分数)values(‘20030021’,’003’,80)
    Insert成绩表(,课程号,分数)values(‘20030021’,’004’,70)
    Declare@numint
    Set@num=(selectcount(*)from成绩表where=‘20030021’)
    If@num>4
    Rollbacktransaction
    Else
    Committransaction
    go
    一、单项选择题(每小题1分,共10分)
    1.SQLServer系统中的所有服务器级系统信息存储于哪个数据库()。
    A.masterB.model
    C.tempdbD.msdb
    2.下列标识符可以作为局部变量使用()。
    A.MyvarB.Myvar
    C.@MyvarD.@Myvar
    3.以下关于主键的描述正确的是()。
    A.标识表中唯一的实体B.创建唯一的索引,允许空值
    C.只允许以表中第一字段建立D.表中允许有多个主键
    4.为数据表创建索引的目的是()。
    A.提高查询的检索性能B.创建唯一索引
    C.创建主键D.归类
    5.下列哪个不是sql数据库文件的后缀。
    A..mdfB..ldf
    C..dbfD..ndf
    6.在SQLSERVER服务器上,存储过程是一组预先定义并()的Transact-SQL语句。
    A.保存B.编译
    C.解释D.编写
    7.数据定义语言的缩写词为()。
    A.DDLB.DCL
    C.DMLD.DBL
    8.以下关于外键和相应的主键之间的关系,正确的是()。
    A.外键并不一定要与相应的主键同名
    B.外键一定要与相应的主键同名
    C.外键一定要与相应的主键同名而且唯一
    D.外键一定要与相应的主键同名,但并不一定唯一
    9.在数据库设计中使用E-R图工具的阶段是()。
    A.需求分析阶段
    B.数据库物理设计阶段
    C.数据库实施
    D.概念结构设计阶段
    10.在T-SQL语言中,修改表结构时,应使用的命令是()
    A.UPDATEB.INSERT
    C.ALTERD.MODIFY
    二、判断题(每空1分,共10分)
    1.因为通过视图可以插入.修改或删除数据,因此视图也是一个实在表,SQLSERVER将它保存在syscommens系统表中。
    2.guest用户必须关联一个登录账号才可以在数据库中创建。数据库中的非guest用户账号都必须关联一个登录账号。
    3.可以在企业管理器中修改数据库的名称。
    4.恢复数据,可以在查询分析器中使用这样的命令:BACKUPDATABASEdatabase_nameFROMbackup。
    5.DELETE语句只是删除表中的数据,表本身依然存在数据库中。
    6.每个存储过程向调用方返回一个整数返回代码。如果存储过程没有显式设置返回代码的值,则返回代码为0,表示成功。
    7.在数据库中建立的索引越多越好。
    8.在SQLSERVER中,触发器的执行是在数据的插入.更新或删除之前执行的。
    9.并发性就是两个或两个以上的用户同时对数据执行的操作。
    10.通配符“_”表示某单个字符。
    三、填空题(每空1分,共30分)
    1.目前最常用的数据库有层次数据库、_________数据库和_________数据库,其中_________数据库是目前应用最广泛的一种数据库。
    2.关系数据模型的逻辑结构是__________,关系中的列称为________,行称为________。
    3.关系数据库模型的数据操作主要包括插入、________、________和________数据。
    4.SQL、DCL和DML缩写词的意义是___________语言、___________语言和___________语言。
    5.实体之间的联系类型有三种,分别为________、________和________。
    6.数据库系统的三级模式结构和两级数据映像确保了数据的________独立性和________独立性。
    7.SQLServer2000提供的数据库备份方法有_______数据库备份和________数据库备份、____________备份和________________备份。
    8.SQLServer代理主要由______、______和_____来组成。
    9.SQLServer复制把服务器分为______服务器、______服务器和_____服务器三种。
    10.在SQL中,createview、alterview和dropview命令分别为________、________和________视图的命令。
    四、简述题(每小题5分,共10分)
    1.简述规范设计方法中,数据库应用系统开发的全过程。
    2.创建数据库有那几种方法?
    五.设计题(每小题5分,共40分)
    有一个[学生课程]数据库,数据库中包括三个表:
    学生表:Student由(Sno)、(Sname)、性别(Ssex)、年龄(Sage)、所在系(Sdept)五个属性组成,记为:Student(Sno,Sname,Ssex,Sage,Sdept),Sno为关键字。
    课程表:Course由课程号(Cno)、课程名(Cname)、先修课号(Cpno)、学分(Ccredit)四个属性组成,记为:Course(Cno,Cname,Cpno,Ccredit)Cno为关键字。
    成绩表:SG由(Sno)、课程号(Cno)、成绩(Grade)三个属性组成,记为:SG(Sno,Cno,Grade)(SNO,CNO)为关键字。
    用SQL语言实现下列功能:
    1.建立学生表[Student],其中属性不能为空,并且其值是唯一的。
    2.查考试成绩有不及格的学生的。
    3.将为05001学生的年龄改为22岁。
    4.计算1号课程的学生平均成绩。
    5.创建存储过程[getDetailByName],通过输入参数学生(如"张三"),筛选出该学生的基本信息,对不存在此学生的输入值,必须作一检测,打印信息“不存在此学生”。
    6.查计算机系姓赵的男同学的(Sname)、性别(Ssex)、年龄(Sage)。
    7.创建视图[学生成绩表视图],视图中包括(Sno)、(Sname)、课程号(Cno)、课程名(Cname)、成绩(Grade)。
    8.将一个新学生记录(:05020;:丁莉;性别:女;年龄:17岁;所在系:计算机;)插入Student表中。
    
    
    《SQL数据库管理与开发教程与实训》试题(F卷)参考答案
    一、1.A2.C3.A4.A5.A6.B7.B8.A9.D10.C
    二、1.N2.N3.N4.N5.Y6.Y7.N8.N9.Y10.Y
    三、
    1.网状、关系、关系
    2.二维表、属性、元组
    3.删除、更新、查询
    4.结构化查询、数据控制、数据操作
    5.一对一、一对多、多对多
    6.逻辑、物理
    7.完整、差异、事务日志、文件和文件组
    8.操作员、作业、警报
    9.发布、分发、订阅
    10.建立、修改、删除
    四、简述题
    1.简述按照规范设计方法进行数据库设计的全过程。
    需求分析;
    概念结构设计;
    逻辑结构设计;
    物理结构设计;
    数据库实施;
    数据库运行和维护。
    2.创建数据库有那几种方法?
    有3种创建数据库的方法:
    CREATEDATABASE语句;
    创建数据库向导;
    企业管理器。
    五、设计题
    1.
    createtablestudent
    (Snochar(5)primarykey,
    Snamechar(20),
    Ssexchar(2),
    Sageint,
    Sdeptchar(15)
    )
    2.
    selectdistinctsno
    fromsg
    wheregrade<60
    3.
    updatestudent
    setsage=22
    wheresno='05001'
    4.
    selectavg(grade)
    fromsg
    wherecno='1'
    5.
    createproceduregetdetailbyname
    @namenvarchar(10)
    as
    if(selectcount(*)fromstudentwheresname=@name)>0
    select*fromstudentwheresname=@name
    else
    print'不存在为'+@name+'的学生资料'
    6.
    selectsname,ssex,sage
    fromsdudent
    wheresdept=’计算机系’andsnamelike'赵%'andssex='女'
    7.
    createview[学生成绩表视图]as
    selectsno,sname,cno,cname,gradefromsg,sdudent
    wheresc.sno=sdudent.sno
    8.
    insertintostudent
    values('05020','丁莉','女',17,'计算机系')
    《SQL数据库管理与开发教程与实训》试题(G卷)
    郭鲜凤老师
    一、单项选择题(每小题1分,共10分)
    1.下列四项中说法不正确的是()
    A.数据库减少了数据冗余B.数据库中的数据可以共享
    C.数据库避免了一切数据的重复D.数据库具有较高的数据独立性
    2.公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,从部门到职员的联系类型是()
    A.多对多B.一对一
    C.多对一D.一对多
    3.SQL语言中,条件年龄BETWEEN15AND35表示年龄在15至35之间,且()。
    A.包括15岁和35岁B.不包括15岁和35岁
    C.包括15岁但不包括35岁D.包括35岁但不包括15岁
    4.在SQLServer中,model是()
    A.数据库系统表B.数据库模板
    C.临时数据库D.示例数据库
    5.在视图上不能完成的操作是()
    A.更新视图数据B.查询
    C.在视图上定义新的基本表D.在视图上定义新视图
    6.数据库的三要素,不包括()
    A.完整性规则B.数据结构
    C.恢复D.数据操作
    7.一个规范化的关系至少应当满足()的要求。
    A.一范式B.二范式
    C.三范式D.四范式
    8.表达实体之间逻辑联系的E-R模型,是数据库的()
    A.概念模型B.逻辑模型
    C.外部模型D.物理模型
    9.下列哪个不是sql数据库文件的后缀。
    A..mdfB..ldf
    C..dbfD..ndf
    10.在SQL语言中,"授权"命令是()
    A.GRANTB.REVOKE
    C.OPTIOND.PUBLIC
    二、判断题(每空1分,共10分)
    1.数据库不允许存在数据冗余。
    2.每一个服务器必须属于一个服务器组。一个服务器组可以包含0个、一个或多个服务器。
    3.一个表可以创建多个主键。
    4.在SQLServer系统中,数据信息和日志信息不能放在同一个操作系统文件中。
    5.固定数据库角色:db_datarader的成员修改本数据库内表中的数据。
    6.在使用子查询时,必须使用括号把子查询括起来,以便区分外查询和子查询。
    7.存储过程是存储在服务器上的一组预编译的Transcat-SQL语句。
    8.视图本身没有保存数据,而是保存一条查询语句。
    9.在表中创建一个标识列(IDENTITY),当用户向表中插入新的数据行时,系统会自动为该行标识列赋值。
    10.创建触发器的时候可以不是表的所有者或数据库的所有者。
    三.填空题(每空1分,共30分)
    1.从最终用户角度来看,数据库应用系统分为单用户结构、主从式结构、分布式结构、___________结构和___________结构。
    2.完整性约束包括_______完整性、________完整性、________完整性和用户定义完整性。________完整性用于保证数据库中数据表的每一个特定实体的记录都是惟一的。
    3.创建、修改和删除表命令分别是_________table、_________table和_________table。
    4.用SELECT进行模糊查询时,可以使用like或notlike匹配符,但要在条件值中使用____或____等通配符来配合查询。并且,模糊查询只能针对_________类型字段查询。
    5.SQLServer聚合函数有最大、最小、求和、平均和计数等,它们分别是_______、_______、_______、avg和count。
    6.SQLServer中数据操作语句包括________、________、________和select语句。
    7.事务的ACID属性是指________性、________性、_______性和_______性。
    8.游标的操作步骤包括声明、______、处理(提取、删除或修改)、______和______游标。
    9.SQLServer代理主要由______、______和警报来组成。
    10.SQLServer复制把服务器分为______服务器、______服务器和______服务器三种。
    四、简述题(每小题5分,共10分)
    1.什么是数据库备份和恢复?为什么要备份和恢复数据库?
    2.关系规范化的基本思想是什么?
    五.设计题(每小题5分,共40分)
    有一个[学生课程]数据库,数据库中包括三个表:
    学生表Student由(Sno)、(Sname)、性别(Ssex)、年龄(Sage)、所在系(Sdept)五个属性组成,记为:Student(Sno,Sname,Ssex,Sage,Sdept),Sno为关键字。
    课程表Course由课程号(Cno)、课程名(Cname)、先修课号(Cpno)、学分(Ccredit)四个属性组成,记为:Course(Cno,Cname,Cpno,Ccredit)Cno为关键字。
    成绩表SG由(Sno)、课程号(Cno)、成绩(Grade)三个属性组成,记为:SG(Sno,Cno,Grade)(SNO,CNO)为关键字。
    用SQL语言实现下列功能:
    1.建立学生表Student,其中属性不能为空,并且其值是唯一的。
    2.向Student表增加“入学时间(Scome)”列,其数据类型为日期型。
    3.查询选修了3号课程的学生的及其成绩,查询结果按分数的降序排列。
    4.查询学习1号课程的学生最高分数、平均成绩。
    5.查询与“李洋”在同一个系学习的学生。
    6.将计算机系全体学生的成绩置零。
    7.删除为05019的学生记录。
    8.删除计算机系所有学生的成绩记录。
    
    《SQL数据库管理与开发教程与实训》试题(G卷)参考答案
    一、1.C2.D3.A4.B5.C6.C7.C8.A9.C10.A
    二、1.N2.Y3.N4.Y5.Y6.Y7.Y8.Y9.Y10.N
    三、
    1.客户服务器、浏览器服务器
    2.实体、域、参照、实体
    3.create、alter、drop
    4.%、_、字符
    5.max、min、sum
    6.insert、update、delete
    7.原子、一致、独立、持久
    8.打开、关闭、释放
    9.作业、操作员
    10.发布、分发、订阅
    四、简述题
    1.什么是数据库备份和恢复?为什么要备份和恢复数据库?
    数据库备份是指将当前的数据库系统、数据文件或日志文件复制到一个专门的备份服务器、活动磁盘或者其他能长期存储数据的介质上,作为副本。数据库备份记录了在进行备份这一操作时数据库中所有数据的状态。一旦数据库因意外而遭损坏,这些备份文件可用来恢复数据库。
    恢复是与备份相对应的数据库管理工作,数据库备份后,一旦数据库发生故障,就可以将数据库备份加载到系统,使数据库恢复到备份时的状态。系统进行数据库恢复的过程中,自动执行安全性检查,然后根据数据库备份自动创建数据库结构,并且恢复数据库中的数据。
    2.关系规范化的基本思想是什么?
    所谓关系的规范化,是指一个低一级范式的关系模式,通过投影运算,转化为更高级别范式的关系模式的集合的过程。我们把满足不同程度要求的关系称为不同的范式。
    关系规范化的基本思想:逐步消除数据依赖中不合适的部分,使关系模式达到一定程度的分离,即“一事一地”的模式设计原则,使概念单一化,即让一个关系描述一个概念、一个实体或者实体间的一种关系。
    五、设计题
    1.
    CREATETABLEStudent
    (SnoCHAR(5)NOTNULLUNIQUE,
    SnameCHAR(20),
    SsexCHAR(2),
    SageINT,
    SdeptCHAR(15))
    2.
    ALTERTABLEStudentADDScomeDATETIME
    3.
    SELECTSno,Grade
    FROMSG
    WHERECno='3'
    ORDERBYGradeDESC
    4.
    SELECTMAX(Grade),AVG(Grade)
    FROMSC
    WHERECno='1'
    5.
    SELECTSno,Sname,Sdept
    FROMStudent
    WHERESdeptIN
    (SELECTSdeptFROMStudent
    WHERESname='李洋')
    6.
    UPDATESG
    SETGrade=0
    WHERESnoin
    (SELECTSnoFROMStudent
    WHERESdept='计算机系')
    7.
    DELETEFROMStudent
    WHERESno='05019'
    8.
    DELETEFROMSG
    WHERESnoin
    (SELECTSnoFROMStudent
    WHERESdept='计算机系')
    《SQL数据库管理与开发教程与实训》试题(H卷)
    郭翠英老师
    一、单项选择题(每小题1分,共10分)
    1.下列四项中,不属于SQL2000实用程序的是()。
    A.企业管理器B.查询分析器
    C.服务管理器D.媒体播放器
    2.SQLServer安装程序创建4个系统数据库,下列哪个不是()。
    A.masterB.modelC.pubD.msdb
    3.下列哪个不是数据库对象()。
    A.数据模型B.视图C.表D.用户
    4.下列哪个不是sql数据库文件的后缀。
    A..mdfB..ldfC..tifD..ndf
    5.在SQL中,建立表用的命令是()。
    A.CREATETABLEB.CREATERULE
    C.CREATEVIEWD.CREATEINDEX
    6.SQL语言中,条件“年龄BETWEEN40AND50”表示年龄在40至50之间,且()。
    A.包括40岁和50岁B.不包括40岁和50岁
    C.包括40岁但不包括50岁D.包括50岁但不包括40岁
    7.模式查找like'_a%',下面哪个结果是可能的
    A.ailiB.bai
    C.bbaD.cca
    8.在MSSQLServer中,用来显示数据库信息的系统存储过程是()。
    A.sp_dbhelpB.sp_dbC.sp_helpD.sp_helpdb
    9.SQL语言中,删除记录的命令是()。
    A.DELETEB.DROPC.CLEARD.REMOVE
    10.SQL的视图是从()中导出的。
    A.基本表B.视图C.基本表或视图D.数据库二、判断题(每空1分,共10分)
    1."xingming"是SQL中的字符串常量吗?
    2."11.9"是SQL中的实型常量吗?
    3.语句select22%4,的执行结果是:0吗?
    4."2005.11.09"是SQL中的日期型常量吗?
    5.¥2005.89是SQL中的货币型常量吗?
    6.语句select15/2的执行结果是:7.5吗?
    7.'AB'>'CD'比较运算的结果为真吗?
    8.bigint是SQL的数据类型吗?
    9.设置惟一约束的列可以为空吗?
    10.一个表可以创建多个主键吗?
    三、填空题(每空1分,共20分)
    1.关系数据库关系运算___________、_________和_________。
    2.SQLServer2000局部变量名字必须以_________开头,而全局变量名字必须以_________开头。
    3.语句selectascii('D')的执行结果是:________。
    4.语句selectupper('beautiful'),ltrim('我心中的太阳')的执行结果是:____________和___________。
    5.表或视图的操作权限有___________、___________、___________、___________和dri。
    6.选择运算是根据某些条件对关系做______分割;投影是根据某些条件对关系做______分割。
    7.SQLServer代理主要由______、______和警报来组成。
    8.数据完整性的类型有________完整性、________完整性、________完整性和________完整性。
    四、简述题(每小题5分,共10分)
    1.有学生成绩表,要保证每个学生的每门课程惟一标识的话考虑使用数据完整性方法。
    2.简述数据完整性的类型以及如何确定使用哪个强制方法。
    五、设计题(共50分)
    现有关系数据库如下:
    数据库名:教师数据库
    教师表(编号char(6),,性别,民族,职称,身份证号)
    课程表(课号char(6),名称)
    任课表(ID,教师编号,课号,课时数)
    用SQL语言实现下列功能的sql语句代码:
    1.创建上述三表的建库、建表代码(14分);
    要求使用:主键(教师表.编号,课程表.课号)、外键(任课表.教师编号,任课表.课号)、默认(民族)、非空(民族,)、唯一(身份证号)、检查(性别、课时数),自动编号(ID)
    2.将下列课程信息添加到课程表的代码(6分)
    课号课程名称
    100001SQLServer数据库
    100002数据结构
    100003VB程序设计
    修改课号为100003的课程名称:VisualBasic程序设计
    删除课号为100003的课程信息
    3.写出创建[任课表视图](教师编号,,课号,课程名称,课时数)的代码;(4分)
    4.写出创建[某门课任课教师]内嵌表值函数以及检索的代码;(6分)
    检索:所有代'SQLServer数据库'这门课程的老师;
    5.写出创建[统计课时数]:输出最大课时数、最低课时数、平均课时的存储过程以及执行代码;(6分)
    6.写出创建:计算某教师代课总课时,并将值返回的存储过程以及执行代码。(6分)
    执行:计算“郭老师”的总课时。(6分)
    7.检索有一门或一门以上课程课时数大于90的所有教师的信息,包括编号、。(4分)
    8.建一个规则,并将其绑定到教师表的职称列上,规定取值为('教授','副教授','讲师','助教')之一。(4分)
    
    《SQL数据库管理与开发教程与实训》试题(H卷)参考答案
    一、1.D2.C3.A4.C5.A6.A7.B8.D9.A10.C
    二、1.N2.N3.N4.N5.N6.N7.N8.Y9.Y10.N
    三、1.选择、投影、连接
    2.@、@@
    3.68
    4.BEAUTIFAL、我心中的太阳
    5.select、insert、update、delete
    6.水平、垂直
    7.作业、操作员
    8.实体、域、参照、用户自定义
    四、简述题
    1.将每个学生的和课程号定义为复合主键这样才能保证每个学生的每门课程惟一。
    2.要点:
    (1)域完整性:使用DEFAULT(默认值)、DEFAULT(默认技术)、CHECK(检查)、RULE(规则技术)的方法指定某列可接受值的范围或模式
    (2)实体完整性:使用PRIMARYKEY(主键)、UNIQUE(惟一键)、IDENTITY(标识列)来确保行的惟一性
    (3)参照完整性:使用FOREIGNKEY(外键)保证列与参照列的一致性
    五、设计题
    1.
    createdatabase[教师数据库]--(2分)
    use[教师数据库]
    go
    createtable教师表--(6分)
    ([编号]char(6)primarykey,
    []nchar(4)notnull,
    [性别]nchar(1)check([性别]in('男','女')),
    [民族]nchar(8)default'汉族'notnull,
    [职称]nchar(12),
    [身份证号]char(18)unique
    )
    createtable课程表--(2分)
    ([课号]char(6)primarykey,
    [名称]char(40)notnull
    )
    createtable任课表--(4分)
    (IDIDENTITY(1,1),
    [教师编号]char(6)references学生表(),
    [课号]char(6)references课程表(课号),
    [课时数]integercheck([课时数]between0and200)
    )
    2.
    insert课程表values('100001','SQLServer数据库')
    insert课程表values('100002','数据结构')
    insert课程表values('100003','VB程序设计')
    update课程表set名称='VisualBasic程序设计'where课号='100003'
    delete课程表where课号='100003'
    3.
    createview[任课表视图]as
    select教师编号,,课号,课程名称,课时数from教师表,任课表
    where教师表.编号=任课表.教师编号
    4.
    createfunction[某门课任课教师](@课程名varchar(15))
    returnstableas
    return(select课程名称,课时数,教师=from任课表视图
    where课程名=@课程名)
    go
    select*from[某门课任课教师]('SQLServer数据库')
    5.
    createprocedure[统计课时数]
    as
    select最大课时数=max(课时),最小课时数=min(课时),平均课时数=avg(课时)from任课表
    go
    execute[统计课时]
    6.
    createprocedure[统计课时]
    @教师名nchar(16),
    as
    begin
    declare@总课时int
    select@总课时=sum(课时)from任课表视图
    where=@教师名
    end
    go
    execute[统计课时]'郭老师'
    7.
    select编号,from教师表
    where编号in(selectdistinct教师编号from任课表where课时数>=90)
    8.
    createrulezhicheng_rule
    as@zhichengin('教授','副教授','讲师','助教')
    go
    sp_bindrulezhicheng_rule,'教师表.职称'
    《SQL数据库管理与开发教程与实训》试题(I卷)
    郭翠英老师
    一、单项选择题(每小题1分,共10分)
    1.下列四项中说法不正确的是()
    A.数据库减少了数据冗余B.数据库中的数据可以共享
    C.数据库避免了一切数据的重复D.数据库具有较高的数据独立性
    2.下列哪个不是SQLServer服务()。
    A.SQLServerB.SQLServerAgent
    C.MSDTCD.PWS
    3.下列哪个不是数据库对象()。
    A.数据类型B.规则
    C.默认D.用户
    4.SQLServer对象的完整名称不包括下面哪个()。
    A.服务器名B.数据库名
    C.对象名D.文件夹名
    5.数据定义语言的缩写词为()。
    A.DDLB.DCL
    C.DMLD.DBL
    6.SQL语言中,条件表示年龄在40至50之间的表达式为()。
    A.IN(40,50)B.BETWEEN40AND50
    C.BETWEEN40OR50D.BETWEEN40,50
    7.表示职称为副教授同时性别为男的表达式为()
    A.职称='副教授'OR性别='男'B.职称='副教授'AND性别='男'
    C.BETWEEN'副教授'AND'男'D.IN('副教授','男')
    8.下面哪个不是SQLServer的合法标识符()。
    A.a12B.12a
    C.@a12D.#qq
    9.SQL语言中,不是逻辑运算符号的()。
    A.ANDB.NOT
    C.ORD.XOR
    10.下面哪个函数是属于字符串运算的()。
    A.ABSB.SIN
    C.STRD.ROUND
    二、判断题(每空1分,共10分)
    1.视图和表是完全一样的?
    2.SQLServer允许用户自定义类型?
    3.惟一键就是主键?
    4.SQLServer不允许字段名为汉字?
    5.¥2005.89是SQL中的货币型常量吗?
    6.语句select15%2的执行结果是:7.5吗?
    7.作为字符串型数据'李白'是排在'杜甫'的前面吗?
    8.smallint是SQL的数据类型吗?
    9.设置惟一约束的列不允许为空?
    10.主键可以是复合键吗?
    三、填空题(每空1分,共20分)
    1.创建、修改和删除表命令分别是createtable、_________table和_________table。
    2.SQLServer2000以_________开头的标识符,表示临时表或过程;局部变量名字必须以_________开头,而全局变量名字必须以_________开头。
    3.语句selectchar(65),len('我们快放假了.')的执行结果是________、_______。
    4.语句selectlower('beautiful'),rtrim('我心中的太阳')的执行结果是:____________和___________。
    5.leftjoin运算是_____________。
    6.SELECTDATEADD(day,10,'2005-12-22')结果是_____________。
    7.ROUND()函数的是_____________函数。
    8.检索字段中含有'娟'的表达式为like。
    9.语句权限是指用户能否当前数据库上执行backupdatabase、backuplog、createdatabase、create_________、create_________、create_________、create_________、createrule、createdefault语句。
    10.SQLServer复制把服务器分为______服务器、______服务器和______服务器三种。
    四、简述题(每小题5分,共10分)
    1.视图的好处是什么?
    2.流程控制语句包括哪些语句,他们各自的作用是什么?
    五、设计题(共50分)
    现有关系数据库如下:
    数据库名:医院数据库
    医生表(编号,,性别,出生日期,职称)
    病人表(编号,,性别,民族,身份证号)
    病历表(ID,病人编号,医生编号,病历描述)
    用SQL语言实现下列功能的sql语句代码:
   ,  1.创建上述三表的建库、建表代码;
    要求使用:主键(师医生表.编号,病人表.课号)、外键(病历表.医生编号,病历表.病人课号)、非空(职称,)、检查(性别),自动编号(ID)(16分)
    2.将下列医生信息添加到医生表的代码
    编号性别出生日期职称
    100001杜医生男1963-5-18副主任医师
    100002郭医生女1950-7-26副主任医师
    100003刘医生男1973-9-18医师
    修改编号为100002的医生职称为‘主任医师’
    删除编号为100003的医生信息(8分)
    3.写出创建:医疗表视图(医生编号,,病人,病历)的代码;(4分)
    4.写出所有病人编号、、病历、以及病人所对应的医生编号的查询语句;(4分)
    5.写出创建:输出某医生(根据医生编号即可)看病人数存储过程以及执行过程(要求输入医生的参数,输出病人数)(6分)。
    6.写出查询1970年以前出生的医生(4分)。
    7.检索有病人的医生信息。(4分)
    8.创建一个默认,并将其绑定到医生表的成绩职称列上,默认值为“医师”。(4分)
    
    
    《SQL数据库管理与开发教程与实训》试题(I卷)参考答案
    一、1.C2.D3.A4.D5.A6.B7.B8.B9.D10.C
    二、1.N2.Y3.N4.N5.N6.N7.N8.Y9.N10.Y
    三、1.alter、drop
    2.#、@、@@
    3.A、7
    4.beautiful、我心中的太阳
    5.左外连接
    6.2006-01-01
    7.四舍五入
    8.'%娟%'
    9.table、view、procedure、function
    10.发布、分发、订阅
    四、简述题
    1.
    (1)为用户集中需要的数据,简化了数据的用户操作;
    (2)对用户隐藏了数据库设计的复杂性;
    (3)简化用户权限的管理
    2.要点:
    1.IF…ELSE是条件判断语句
    2.BEGIN…END能将多个SQL语句组合成一个语句块,并视为一个单元处理
    3.CASE多情况语句,将其中一个符合条件的结果表达式返回
    4.WHILE…COUNTINUE…BREAK设置循环语句,COUNTINUE可以终止本次循环,开始下一次循环,BREAK中断循环,跳出循环外
    5.GOTO可以使程序跳到指定的标有标识符的位置处继续执行
    6.WAITFOR暂时停止执行SQL语句、语句块或者存储过程
    7.RETURN无条件的终止一个查询、存储过程或批处理
    五、设计题
    1.
    createdatabase[医院数据库]
    use[医院数据库]
    go
    createtable医生表
    ([编号]char(6)primarykey,
    []nchar(4)notnull,
    [性别]nchar(1)check([性别]in('男','女')),
    [出生日期]datetime,
    [职称]char(18)notnull
    )
    createtable病人表
    ([课号]char(6)primarykey,
    []nchar(4)notnull,
    [性别]nchar(1)check([性别]in('男','女')),
    [民族]nchar(10),
    [身份证号]char(18)notnull
    )
    createtable病历表
    (IDIDENTITY(1,1),
    [病人编号]char(6)references病人表(),
    [医生编号]char(6)references医生表(编号),
    [病历描述]varchar(1000)
    )
    2.
    insert医生表values('100001','杜医生','男','1963-5-18','副主任医师')
    insert医生表values('100002','郭医生','女','1950-7-26','副主任医师')
    insert医生表values('100003','刘医生','男','1973-9-18','医师')
    update医生表set职称='主任医师'where编号='100002'
    delete医生表where编号='100003'
    3.
    createview[医疗表视图]as
    selectbr.,ys.,yl.病历from病人表asbrjoin医疗表asyl
    onbr.编号yl.病人编号
    join医生表asys
    onyl.医生编号=ys.编号
    4.
    Selectbr.编号,br.,br.病历,yl.医生编号
    from病人表brleftjoin医疗表yl
    onbr.编号=yl.病人编号
    5.
    createprocedure[某医生看病人数]
    @医生编号nchar(16),@人数intoutput
    as
    select@人数=count(病人编号)
    from病人表
    where医生编号=@医生编号
    go
    declare@TOTALint
    execute[某医生看病人数]'100001',@TOTAL
    6
    select*from医生表where出生日期<'1970-01-01'
    7.
    select编号,,性别,出生日期,职称from医生表
    where编号in(select医生编号from医疗表)
    8.
    createdefaultzhichengAS'医师'
    go
    execsp_bindefault'zhicheng','医生表.职称'
    《SQL数据库管理与开发教程与实训》试题(J卷)
    吴建明老师
    一、选择题(每题1分,共20分)
    1.3NF同时又是()
    A、2NFB、1NF
    C、BCNFD、1NF,2NF
    2.DBS是采用了数据库技术的计算机系统。DBS是一个集合体,包含数据库、计算机硬件、软件和()
    A、系统分析员B、程序员
    C、数据库管理员D、操作员
    3.SQLServer支持在线备份,但在备份过程中,不允许执行的操作是()
    (1)、创建或删除数据库文件(2)、创建索引
    (3)、执行非日志操作(4)、自动或手工缩小数据库或数据库文件大小
    A、(1)B、(1)(2)
    C、(1)(2)(3)D、(1)(2)(3)(4)?
    4.MSSQLServer是()
    A、数据库B、数据库系统
    C、数据处理系统D、数据库管理系统
    5.现有关系:学生(,,课程号,系号,系名,成绩),为消除数据冗余,至少需要分解为()
    A、1个表B、2个表
    C、3个表D、4个表
    6.数据库中存放两个关系:教师(教师编号,)和课程(课程号,课程名,教师编号),为快速查出某位教师所讲授的课程,应该()
    A、在教师表上按教师编号建索引B、在课程表上按课程号建索引
    C、在课程表上按教师编号建索引D、在教师表上按建索引
    7.如果要修改表的结构,应该使用SQL语言的命令()
    A、UPDATETABLEB、MODIFYTABLE
    C、ALTERTABLED、CHANGETABLE
    8.已知员工和员工亲属两个关系,当员工调出时,应该从员工关系中删除该员工的元组,同时在员工亲属关系中删除对应的亲属元组。在SQL语言中定义这个完整性约束的短语是()
    A、INSTEADOFDELETEB、INSTEADOFDROP
    C、AFTERDELETED、AFTERUPDATE
    9.安装MSSQLServer时,系统自动建立几个数据库,其中有一个数据库被删除后,不影响系统的正常运行,这个数据库是()
    A、master数据库B、model数据库
    C、tempdb数据库D、pubs数据库
    10.对于数据库的管理,SQLServer的授权系统将用户分成四类,其中权限最大的用户是()
    A、一般用户B、系统管理员
    C、数据库拥有者D、数据库对象拥有者
    11.公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,从职员到部门的联系类型是()
    A、多对多B、一对一
    C、多对一D、一对多
    12.数据库的并发操作可能带来的问题包括()
    A、丢失更新B、.数据独立性会提高
    C、非法用户的使用D、增加数据冗余度
    13.SQL语言中,删除一个表的命令是()
    A、DELETEB、DROP
    C、CLEARD、REMORE
    14.下列四项中说法不正确的是()
    A.数据库减少了数据冗余B.数据库中的数据可以共享
    C.数据库避免了一切数据的重复D.数据库具有较高的数据独立性
    15.当关系R和S自然联接时,能够把R和S原该舍弃的元组放到结果关系中的操作是()
    A、左外联接B、右外联接
    C、内联接D、外联接
    16.下列聚合函数中正确的是()
    A、SUM(*)B、MAX(*)
    C、COUNT(*)D、AVG(*)
    17.SQL中,下列涉及空值的操作,不正确的是()
    A、ageISNULLB、ageISNOTNULL
    C、age=NULLD、NOT(ageISNULL)
    18.MSSQLServer在WINDOWS2000操作系统平台上被定义为一项()
    A、任务B、服务
    C、应用程序D、事务
    19.脚本文件是在()中执行的。
    A、企业管理器B、查询分析器
    C、服务管理器D、事件探查器
    20.每个数据库有且只有一个()
    A、主要数据文件B、次要数据文件
    C、日志文件D、索引文件
    二、名词解释(每小题每题4分,共20分)
    1、视图
    2、索引
    3、存储过程
    4、游标
    5、作业
    三、填空题(每题1分,共10分)
    1.MSSQLServer提供多个图形化工具,其中用来启动、停止和暂停SQLServe服务的图形化工具称为_________________。
    2.数据库操作语句就是指________、_________、_________和select语句。
    3.在安装MSSQLServer时,必须选择一种安全类型。如果在登录时,不需要记录用户名和登录ID,则该安全模式是_____________________。
    4.如果表的某一列被指定具有NOTNULL属性,则表示________________________________________。
    5.已知有学生关系S(SNO,SNAME,AGE,DNO),各属性含义依次为,、年龄和所在系号;学生选课关系SC(SNO,CNO,SCORE),各属性含义依次为、课程号和成绩。分析以下SQL语句:
    SELECTSNO
    FROMSC
    WHERESCORE=(SELECTMAX(SCORE)FROMSCWHERECNO=’002’)简述上述语句完成了的查询操作是___________________________________。
    6.SQLServer复制有快照复制、________复制和________复制3种类型。
    7.语句selectday('2004-4-6'),len('我们快放假了.')的执行结果是:_________和_________。
    四、设计题(共50分)
    1.已知有如下4个表:
    供应商表S(SNO,SNAME,CITY)
    零件表J(JNO,JNAME,COLOR,WEIGHT)
    工程表P(PNO,PNAME,CITY)
    供应情况表SPJ(SNO,PNO,JNO,QTY)
    其中,SNO、SNAME、CITY分别表示供应商代码、供应商、供应商所在城市,JNO、JNAME、COLOR、WEIGHT分别表示零件代码、零件名、颜色和重量,PNO、PNAME、CITY分别表示工程代码、工程名、工程所在城市,QTY表示某供应商供应某工程某种零件的数量。
    分别写出SQL语句,完成如下功能:(每小题5分,共20分)
    (1)查询出重量大于30或颜色为"red"的零件名;
    (2)查询出每个供应商为每个工程供应零件的数量
    (3)查询出给"北京"的工程供应"齿轮"零件的供应商名;
    (4)建一个视图,定义为所有"green"颜色的零件。
    2.图书出版管理数据库中有两个基本表:
    图书(书号,书名,作者编号,出版社,出版日期)
    作者(作者编号,作者名,年龄,地址)
    试用SQL语句写出下列查询:检索年龄低于作者平均年龄的所有作者的作者名、书名和出版社。(10分)
    3.现有关系数据库如下:
    学生(,,性别,专业、奖学金)课程(课程号,名称,学分)学习(,课程号,分数)用SQL实现:(每小题5分,共20分)
    (1)查询没有获得奖学金、同时至少有一门课程成绩在95分以上的学生信息,包括、和专业;
    (2)查询没有任何一门课程成绩在80分以下的所有学生的信息,包括、和专业;
    (3)对成绩得过满分(100分)的学生,如果没有获得奖学金的,将其奖学金设为1000元;
    (4)定义学生成绩得过满分(100分)的课程视图AAA,包括课程号、名称和学分;
    
    《SQL数据库管理与开发教程与实训》试题(J卷)答案
    一、选择题(每题1分,共20分)
    12345678910
    DCDDCCCCDB
    11121314151617181920
    CABCDCCBBA
    二、名词解释(每小题每题4分,共20分)
    1、视图是由一个或多个数据表(基本表)或视图导出的虚拟表或查询表。
    2、索引就是表中数据和相应存储位置的列表。
    3、存储过程是存储在服务器上的一组预编译的Transact-SQL语句。
    4、游标是允许用户能够从select语句查询的结果集中,逐条逐行地访问记录,可以按照自己的意愿逐行地显示、修改或删除这些记录的数据访问处理机制。
    5、作业是由SQLServer代理程序按顺序执行的一系列指定的操作。作业的操作是通过Transact-SQL语句、操作系统命令和脚本语言来编写,作业可以手工执行、自动执行和定期执行,作业调度管理是实现管理任务自动化的一种重要方式。
    三、填空题(每题2分,共10分)
    1服务管理器
    2insert、update、delete
    3Windows认证模式
    4不允许在没有指定列缺省值的情况下插入省略该列值的数据行
    5检索有与课程号为“002”的课程的最高成绩相等的同学的
    5事务、合并
    76、7
    三、设计题(共50分)
    1、(1)
    selectJNAME
    fromJ
    where(WEIGHT>30)or(COLOR=’red’)
    (2)
    selectsum(QTY)
    fromSPJ
    groupbySNO,PNO
    (3)
    selectSNAMEfromSwhereSNOin(selectSNO
    fromSPJ,P,J
    where(CITY=’北京’)and(SPJ.PNO=P.PNO)
    and(JNAME=’齿轮’)and(SPJ.JNO=J.JNO))
    (4)
    createviewgreenjas
    select*fromJwhereCOLOR=’green’
    2、
    select作者名,书名,出版社
    from图书,作者
    where(图书.作者编号=作者.作者编号)and(年龄<(selectavg(年龄)
    form作者))
    3、(1)
    selectdistinct学生.,,专业
    from学生,学习
    where(奖学金isnull)and(学生.=学习.)and(分数>95)
    (2)
    selectdistinct学生.,,专业
    from学生,学习
    where(学生.=学习.)and(学习.notin
    (selectdistinctfrom学习where分数<80))
    (3)
    update学生
    set奖学金=’1000’
    wherein(selectdistinct学习.
    from学生,学习
    where(奖学金isnull)and(学生.=学习.)and(分数=100))
    (4)
    createviewAAAas
    selectdistinct课程号,名称,学分
    from课程,学习
    where(课程.课程号=学习.课程号)and(分数=100)
    《SQL数据库管理与开发教程与实训》试题(K卷)
    吴建明老师
    一、选择题(每题1分,共20分)
    1.若某表满足1NF,且其所有属性合起来组成主健,则一定还满足范式()
    A、只有2NFB、只有3NF
    C、2NF和3NFD、没有
    2.MicrosoftSQLServer2000各版本的服务器组件必须在特定的操作系统上使用,其中能在Windows2000Professional上运行,但不能在Windows98上运行的是()
    A、企业版B、标准版
    C、个人版D、开发版
    3.SQLServer支持在线备份,但在备份过程中,不允许执行的操作是()
    (1)、创建或删除数据库文件(2)、创建索引
    (3)、执行非日志操作(4)、自动或手工缩小数据库或数据库文件大小
    A、(1)B、(1)(2)
    C、(1)(2)(3)D、(1)(2)(3)(4)
    4.MSSQLServer2000是()
    A、数据库应用程序B、数据库系统
    C、层次数据管理系统D、关系数据库管理系统
    5.现有关系:学生(,,系号,系名),为消除数据冗余,至少需要分解为()
    A、1个表B、2个表
    C、3个表D、4个表
    6.数据库中存放三个关系:学生(,)和课程(课程号,课程名)和成绩(、课程号、成绩),为快速查出某位学生所学的课程名,应该()
    A、在学生表上按建索引B、在成绩表上按课程号建索引
    C、在课程表上按课程号建索引D、在学生表上按建索引
    7.如果要从数据库中删除触发器,应该使用SQL语言的命令()
    A、DELETETRIGGERB、DROPTRIGGER
    C、REMOVETRIGGERD、DISABLETRIGGER
    8.已知员工和员工亲属两个关系,当员工调出时,应该从员工关系中删除该员工的元组,同时在员工亲属关系中删除对应的亲属元组。在SQL语言中利用触发器定义这个完整性约束的短语是()
    A、INSTEADOFDELETEB、INSTEADOFDROP
    C、AFTERDELETED、AFTERUPDATE
    9.安装MSSQLServer时,系统自动建立几个数据库,其中有一个数据库记录了一个SQLServer系统的所有系统信息,这个数据库是()
    A、master数据库B、model数据库
    C、tempdb数据库D、pubs数据库
    10.对于数据库的管理,对SQLServer中guest用户的描述错误的是()
    A、安装系统时,guest用户被加入到master、pubs、tempdb、northwind数据中
    B、用户成功登录到SQLServer后,若该登录账号在某数据库中无合法数据库用户,则系统将可能允许以guest用户来访问该数据库
    C、不能从master、tempdb数据库中删除guest用户
    D、在新建一个数据库时,guest用户将被自动添加
    11.公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,从部门到职员的联系类型是()
    A、多对多B、一对一
    C、多对一D、一对多
    12.以下情况发生,往往要求我们立即对master数据库进行备份,错误的是()
    A、增加用户数据库B、删除用户数据库
    C、执行与登录有关的操作D、增加数据库用户
    13.SQL语言中,删除一个表中所有数据,但保留表结构的命令是()
    A、DELETEB、DROP
    C、CLEARD、REMORE
    14.下列四项关于启动服务器的说法不正确的是()
    A、用企业管理器启动B、用操作系统控制面板中的服务管理程序启动
    C、用命令netbeginmssqlserverD、自动启动服务器
    15.查询员工工资信息时,结果按工资降序排列,正确的是()
    A、ORDERBY工资B、ORDERBY工资desc
    C、ORDERBY工资ascD、ORDERBY工资dictinct
    16.下列聚合函数中正确的是()
    A、SUM(*)B、MAX(*)
    C、COUNT(*)D、AVG(*)
    17.SQL中,下列涉及通配符的操作,范围最大的是()
    A、namelike’hgf#’B、namelike’hgf_t%’
    C、namelike’hgf%’D、namelike’h#%’escape’#’
    18.在MSSQLServer中,关于数据库的说法正确的是()
    A、一个数据库可以不包含事务日志文件
    B、一个数据库可以只包含一个事务日志文件和一个数据库文件
    C、一个数据库可以包含多个数据库文件,但只能包含一个事务日志文件
    D、一个数据库可以包含多个事务日志文件,但只能包含一个数据库文件
    19.能够实现执行SQL语句、分析查询计划、显示查询统计情况和实现索引分析等功能的SQL工具是()。
    A、企业管理器B、查询分析器
    C、服务管理器D、事件探查器
    20.每个数据库有且只有一个()
    A、主要数据库文件B、次要数据库文件
    C、日志文件D、索引文件
    二、名词解释(每题4分,共20分)
    1、视图
    2、索引
    3、触发器
    4、事务
    5、警报
    三、填空题(每题2分,共10分)
    1.MSSQLServer提供多个图形化工具,其中用来启动、停止和暂停SQLServe的图形化工具称为_______________。
    2._________是已经存储在SQLServer服务器中的一组预编译过的Transact-SQL语句。
    3.在______________身份验证模式,输入的账号必须是在2000professional(或NT)已经建立的登录者或组。
    4.HAVING子句与WHERE子句很相似,其区别在于:
    WHERE子句作用的对象是______________,HAVING子句作用的对象是________________。
    5.已知有学生关系S(SNO,SNAME,AGE,DNO),各属性含义依次为,、年龄和所在系号;学生选课关系SC(SNO,CNO,SCORE),各属性含义依次为、课程号和成绩。分析以下SQL语句:
    SELECTSNO
    FROMSC
    WHERESCORE=(SELECTSUM(SCORE)
    FROMSC
    WHERECNO='002')
    简述上述语句完成了的查询操作是_____________________________________________。
    6.表或视图的操作权限有select、___________、___________、___________和dri。
    7.创建、修改和删除表命令分别是createtable、_________table和_________table。
    四、设计题(共50分)
    设有学生选修课程数据库,
    学生表(,,年龄,性别,所在系,地址,出生日期)
    选课表(,课程号,成绩)
    课程表(课程号,课程名称,教师)
    用SQL语言查询下列问题:
    1)李老师所教的课程号、课程名称。
    2)年龄大于23岁的女学生的和。
    3)“李小波”所选修的全部课程名称。
    4)所有成绩都在80分以上的学生及所在系。
    5)没有选修“操作系统”课的学生。
    6)英语成绩比数学成绩好的学生。
    7)至少选修两门以上课程的学生、性别。
    8)选修了李老师所讲课程的学生人数。
    9)没有选修李老师所讲课程的学生。
    10)“操作系统”课程得最高分的学生、性别、所在系。
    
    《SQL数据库管理与开发教程与实训》试题(K卷)答案
    一、选择题(每题1分,共20分)
    12345678910
    CDDDBDBCAD
    11121314151617181920
    DDACBCCBBA
    二、名词解释(每题4分,共20分)
    1、视图是由一个或多个数据表(基本表)或视图导出的虚拟表或查询表。
    2、索引就是表中数据和相应存储位置的列表。
    3、触发器是特殊类型的存储过程,它能在任何试图改变表或视图中由触发器保护的数据时执行。触发器主要通过操作事件(INSERT、UPDATE、DELETE)进行触发而被自动执行,不能直接调用执行,也不能被传送和接受参数。
    4、事务(Transaction)可以看成是由对数据库的若干操作组成的一个单元,如果这些操作在执行过程中任何一条操作不能正常完成的话,就取消单元中的所有操作,要么单元中的所有操作都正常完成。
    5、警报是指发生特定事件,如发生特定的错误或某种严重级别的错误,或者用户自定义的错误时所采取的措施。
    三、填空题(每题1分,共10分)
    1服务管理器
    2存储过程
    3Windows
    4表和视图,分组
    5检索有与课程号为“002”的课程的最高成绩相等的同学的
    insert、update、delete
    alter、drop
    四、设计题(共50分)
    1)
    select课程号,课程名称
    from课程表
    where教师='李老师'
    2)
    select,from学生表
    where(性别='女')and(年龄>23)
    3)
    select课程名称from课程表
    where课程号in
    (select选课表.课程号from选课表,学生表
    where(选课表.=学生表.)and(学生表.='李小波'))
    4)
    select,所在系from学生表wherein
    (selectdistinctfrom选课表where成绩>=80)
    5)没有选修“操作系统”课的学生。
    selectdistinct学生表.,
    from学生表,选课表,课程表
    where(选课表.=学生表.)and(选课表.课程号=课程表.课程号)
    and(课程名称<>'操作系统')
    6)英语成绩比数学成绩好的学生。
    createfunction课程成绩(@课程名nchar(255),@char(6))
    returnsnumericas
    begin
    declare@inumeric
    select@i=成绩from[选课表],[课程表]
    where(=@)and([选课表].[课程号]=[课程表].[课程号])and([课程名称]=@课程名)
    return@i
    end
    select,,
    英语成绩=dbo.课程成绩('英语',),数学成绩=dbo.课程成绩('数学',)
    from学生信息表
    wheredbo.课程成绩('英语',)>dbo.课程成绩('数学',)
    7)至少选修两门以上课程的学生、性别。
    select[],[性别]from[学生表]
    where[]in
    (SELECT[]FROM[选课表]
    groupby[]havingcount([])>1)
    8)选修了李老师所讲课程的学生人数。
    selectcount()
    from选课表,课程表
    where(选课表.课程号=课程表.课程号)and(教师='李老师')
    9)没有选修李老师所讲课程的学生,
    selectdistinct学生表.,学生表.
    from学生表,选课表,课程表
    where(选课表.=学生表.)and(选课表.课程号=课程表.课程号)
    and(教师<>'李老师')
    10)“操作系统”课程得最高分的学生、性别、所在系。
    selecttop1学生表.,,所在系
    from学生表,选课表,课程表
    where(选课表.=学生表.)and(选课表.课程号=课程表.课程号)
    and(课程名称='操作系统')
    orderby成绩desc
    《SQL数据库管理与开发教程与实训》试题(L卷)
    王鹏老师
    一、单项选择题(每小题1分,共10分)
    1.在查询分析器中执行SQL语句的快捷键是()。
    A.F1B.F3
    C.F5D.F6
    2.SQL语言中,删除一个表的命令是()。
    A.DELETEB.DROP
    C.CLEARD.REMOVE
    3.哪个关键字用于测试跟随的子查询中的行是否存在()。
    A.MOVB.EXISTS
    C.UNIOND.HAVING
    4.以哪个符号开头的变量是全局变量()。
    A.@B.@*
    C.@@D.@$
    5.下面哪项是一元运算符()。
    A./B.%
    C.>D.-
    6.如果在一个关系中,存在某个属性(或属性组),虽然不是该关系的主码或只是主码的一部分,但却是另一个关系的主码时,称该属性(或属性组)为这个关系的
    A.候选码B.主码
    C.外码D.连接码
    7.事务的持久性是由数据库管理系统中的哪个部件负责()
    A.恢复管理B.锁定设备(并发控制)
    C.完整性约束D.记录设备(存储管理)
    8.E-R模型用于数据库设计的哪一个阶段()。
    A.需求分析B.概念结构设计
    C.逻辑结构设计D.物理结构设计
    9.查询语句selectstuff('herld',3,l,'llowo')结果为()。
    A.helloB.worldhello
    C.helloworldD.world
    10.在Student表中基于StuName字段建立的索引属于()。
    A.惟一索引非聚集索引B.非惟一索引非聚集索引
    C.聚集索引非惟一索引D.惟一索引聚集索引
    二、判断题(每空1分,共10分)
    1.SQLServer有数据备份功能但没有数据还原功能。
    2.计算ASCII('also')结果为93。
    3.MUL运算符是用于将两个或多个检索结果合并成一个结果。
    4.sysadmin角色的成员可以在服务器中执行任何操作吗?
    5."在那遥远的地方"是SQL中的字符串常量吗?
    6.数据库管理系统管理并且控制数据资源的使用。
    7.语句select15/2的执行结果是:7.5吗?
    8.事务故障恢复时要对事务的每一个操作执行逆操作,即将日志记录中“改前值”写入数据库中。
    9.SQLServer有数据导入功能但没有数据导出功能。
    10.数据库是用来存放表和索引的逻辑实体。
    三、填空题(每空1分,共20分)
    1.实体—联系模型的三要素是______________、____________和实体之间的联系。
    2.创建、修改和删除表语句分别是_________table、_________table和_________table。
    3.SQLServer的数据类型可分为_______数据类型和_______数据类型。
    4.Transact-SQL语言有4部分元素组成,分别是:数据定义语言、________________、______________和一些附加的语言元素。
    5.表或视图的操作权限有select、___________、___________、___________和dri。
    6.数据完整性分为_______完整性、________完整性、________完整性和用户自定义完整性。
    7.将E-R图中的实体和联系转换为关系模型中的关系,这是数据库设计过程中____________设计阶段的任务。
    8.SQLServer复制把服务器分为______服务器、______服务器和订阅服务器三种。
    9.SQLServer聚合函数有最大、最小、求和、平均和计数等,它们分别是max、_______、_______、avg和count。
    四、简述题(每小题5分,共20分)
    1.视图的概念。
    2.游标的概念。
    3.试述关系的性质。
    4.数据库规范设计方法将数据库设计划分的六个阶段是什么?
    五、设计题(共40分)
    在[Xk]数据库中有
    课程表[Course]由课程编码(CouNo)、课程名称(CouName)、教师名(Teacher)等组成,
    学生表[Student]由(StuNo)、学生(StuName)、班级编号(ClassNo)等组成,
    学生选课表[StuCou]由(StuNo)、课程编码(CouNo)等组成。
    1.检索Xk数据库中的课程表(Course)中的教师名(Teacher)、课程编码(CouNo)、课程名称(CouName),要求检索结果首先按照教师名降序排列,教师名相同时,则按照课程号升序排列。(5分)
    2.使用IN关键字检索Xk数据库中的课程表(Course),要求检索课程编码(CouNo)不为'004'、'007'、'013'(5分)
    3.从Xk数据库中的Student表中检索第二个字为'宝'的学生名字。(5分)
    4.使用Transact-SQL语句在XK数据库中创建一个名为[p_StudentPara]的存储过程。该存储过程能根据给定的班级返回该班级代码对应的Student表中的记录。并赋值查询班级代码为'20000001'和'20000002'的学生记录。(5分)
    5.创建一个触发器,要求当插入、更新、删除StuCou表的选课记录时,能更新Course表中相应的报名人数。(10分)
    6.在SQL查询分析器的查询窗口中创建一个尺寸为5MB的逻辑名字为newxk的数据库,3MB的数据文件NEW_DATA.MDF存储在C:\下,文件的最大尺寸为10MB,文件增量为1MB。2MB的事务日志文件NEW_LOG.LDF存储在C:\下,文件的最大尺寸为15MB,文件的增量为1MB。(10分)
    
    《SQL数据库管理与开发教程与实训》试题(L卷)参考答案
    一、1.C2.B3.B4.C5.D6.C7.D8.B9.C10.B
    二、1.N2.Y3.N4.Y5.N6.Y7.N8.Y9.N10.Y
    三、
    1.实体、属性
    2.create、alter、drop
    3.系统、用户自定义
    4.数据操作语言、数据控制语言
    5.insert、update、delete
    6.域、实体、参照
    7.逻辑结构
    8.发布、分发
    9.min、sum
    四、简述题
    1.视图是由一个或多个数据表(基本表)或视图导出的虚拟表或查询表。
    2.游标是允许用户能够从select语句查询的结果集中,逐条逐行地访问记录,可以按照自己的意愿逐行地显示、修改或删除这些记录的数据访问处理机制。
    3.
    1)每一列中的数据必须具有相同的数据类型。
    2)每一个关系模式中属性的个数是固定的,并且必须命名,而且属性名不能相同。
    3)在同一个关系模式中,每一个属性必须是不可分解的。
    4)在关系中,行和列的顺序是无关紧要的。
    5)在关系中,不允许出现两个完全相同的元组。
    4.
    1)需求分析
    2)概念结构设计
    3)逻辑结构设计
    4)数据库物理设计
    5)数据库实施
    6)数据库运行与维护
    五、设计题
    1.USEXk
    GO
    SELECTTeacherAS'教师名',CouNoAS'课程号',CouNameAS'课程名'
    FROMCourse
    ORDERBYTeacherDESC,CouNo
    GO
    2.USEXk
    GO
    SelectCouNameas‘课程名称’
    FromCourse
    WhereCouNo='004'orCouNo='007'orCouNo='013'
    go
    3.USEXk
    GO
    Select*FromStudent
    WHEREStuNameLIKE'_宝%'
    GO
    4.CREATEPROCEDUREp_StudentPara
    @ClassNoVARCHAR(8)
    AS
    SELECT*FROMStudentWHEREClassNo=@ClassNo
    GO
    EXECp_StudentPara@ClassNo='20000001'
    GO
    EXECp_StudentPara@ClassNo='20000002'
    GO
    5.USEXk
    GO
    CREATETRIGGERSetWillNumONStuCou
    FORINSERT,UPDATE,DELETE
    AS
    UPDATECourseSETWillNum=WillNum+1WHERECouNo=(SELECTCouNoFROMINSERTED)
    UPDATECourseSETWillNum=WillNum-1WHERECouNo=(SELECTCouNoFROMDELETED)
    UPDATEStuCouSETCouNo='002'WHEREStuNo='00000011'ANDCouNo='003'
    6.CREATEDATABASENEW
    ON
    (NAME=NEW_data,
    FILENAME='C:\NEW_data.mdf',
    SIZE=3,
    MAXSIZE=10,
    FILEGROWTH=1)
    LOGON
    (NAME='NEW_log',
    FILENAME='C:\NEW_log.ldf',
    SIZE=2MB,
    MAXSIZE=15MB,
    FILEGROWTH=1MB)
    GO
    《SQL数据库管理与开发教程与实训》试题(M卷)
    王鹏老师
    一、单项选择题(每小题1分,共10分)
    1.下列四项中,不属于数据库特点的是()。
    A.数据共享B.数据完整性
    C.数据冗余很高D.数据独立性高
    2.反映现实世界中实体及实体间联系的信息模型是()。
    A.关系模型B.层次模型
    C.网状模型D.E-R模型
    3.下列四项中,不正确的提法是()。
    A.SQL语言是关系数据库的国际标准语言
    B.SQL语言具有数据定义、查询、操纵和控制功能
    C.SQL语言可以自动实现关系数据库的规范化
    D.SQL语言称为结构查询语言
    4.在SQL中,SELECT语句的"SELECTDISTINCT"表示查询结果中()
    A.属性名都不相同B.去掉了重复的列
    C.行都不相同D.属性值都不相同
    5.在数据操作语言(DML)的基本功能中,不包括的是()
    A.插入新数据B.描述数据库结构
    C.修改数据D.删除数据
    6.在采用客户机/服务器体系结构的数据库应用系统中,应该将用户应用程序安装在()
    A.客户机端B.服务器端
    C.终端D.系统端
    7、实体型学生与任课教师之间具有()联系。
    A一对一B一对多
    C多对一D多对多
    8.数据库系统的日志文件用于记录下述哪类内容()
    A)程序运行过程B)数据查询操作
    C)程序执行结果D)数据更新操作
    9.数据库管理系统的英文缩写是()。
    A.DBB.DBS
    C.DBAD.DBMS
    10.SQL语言中,删除一个表的命令是()
    A.DELETEB.DROP
    C.CLEARD.REMOVE
    二、判断题(每空1分,共10分)
    1.在查询分析器中执行SQL语句的快捷键是F1。
    2.计算ASCII('also')结果为97。
    3.UNION运算符是用于将两个或多个检索结果合并成一个结果。
    4.在事务中包含createdatabase语句吗?
    5.Lock权限不是数据库的访问权限。
    6.数据库管理系统管理并且控制数据资源的使用。
    7.'李白'>'杜甫'比较运算的结果为真吗?
    8.在事务中包含createdatabase语句吗?
    9.SQLServer有数据导入功能但没有数据导出功能。
    10.SQLServer的角色与windowsNT的组含义相似。
    三、填空题(每空1分,共20分)
    1.SQLServer2000最常用的四个工具是__________、__________、__________和联机帮助。
    2.SQLServer2000四个系统数据库是__________、__________、__________和tempdb。
    3.Transact-SQL语言主要由__________语言、__________语言、__________语言和一些附加的语言元素等部分组成。
    4.数据定义语言是指用来创建、修改和删除各种对象的语句是__________、__________和__________。
    5.数据操纵语言是指用来查询、添加、修改和删除数据库中数据的语句,这些语句包括select、__________、__________和__________。
    6.数据控制语言是用于控制对数据库对象的权限的SQL语句,授权、拒绝和撤销访问数据库对象权限的语句是__________、__________和__________。
    7.语句selectchar(68),len('你是BigTiger')的执行结果是:_________和_________。
    四、简述题(每小题5分,共10分)
    1.试述关系的性质。
    2.数据库系统的特点有哪些?
    五、设计题(共50分)
    现有关系数据库如下:
    数据库名:学生选课数据库
    学生表(,,性别,年龄,专业)
    课程表(课程号,课程名,学分,先行课程号)
    选课表(ID,,课程号,分数)
    用SQL语言实现下列功能的sql语句代码:
    1.创建数据库[学生选课数据库]代码(2分);
    2.创建[课程表]代码(2分);
    课程表(课程号char(6),课程名,学分,先行课程号)
    要求使用:主键(课程号)、非空(课程名,学分)
    3.创建[学生表]代码(6分);
    学生表(char(6),,性别,年龄,专业)
    要求使用:主键()、非空(,专业)、检查(性别)
    4.创建[选课表]代码(4分);
    选课表(ID,,课号,分数)
    要求使用:外键(选课表.,选课表.课程号)、检查(分数),自动编号(ID)
    5.将下列课程信息添加到课程表的代码(8分)
    课程号课程名学分先行课程号
    100001C语言2
    100002数据结构2100001
    100003数据库原理2
    修改课程号为100003的课程名:SQL数据库
    删除课程号为100002的课程信息
    6.写出创建:选课表视图(,,课程号,课程名,学分,分数)的代码;(4分)
    7.写出创建:某门课程成绩内嵌表值函数以及检索的代码;(6分)
    检索:所有修SQL数据库这门学生的成绩;
    8.写出创建:某门课程高低均分计算某门课程成绩最高分、最低分、平均分存储过程以及执行的代码;(6分)
    执行:所有修SQL数据库这门学生的最高分、最低分、平均分;
    9.检索姓张的女同学的情况:、、专业。(2分)
    10.检索有一门或一门以上课程成绩小于60分的所有学生的信息,包括、。(4分)
    11.设置一SQL身份验证的账户:登录名:U领导,密码:888,数据库用户名:U读者,权限:可查询查询本数据库中所有表、视图、内嵌表值函数的数据。请写出账户、权限设置的T_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、msdb
    3.数据定义、数据操作、数据控制
    4.create、alter、drop
    5.insert、update、delete
    6.grant、deny、revoke
    7.D、11
    四、简述题
    1.1)每一列中的数据必须具有相同的数据类型。
    2)每一个关系模式中属性的个数是固定的,并且必须命名,而且属性名不能相同。
    3)在同一个关系模式中,每一个属性必须是不可分解的。
    4)在关系中,行和列的顺序是无关紧要的。
    5)在关系中,不允许出现两个完全相同的元组。
    2.1)采用特定的数据模型来管理数据。
    2)程序独立于数据,实现了数据的独立性。
    3)数据的共享性好,冗余度低,进而也减少了数据的不一致性。
    4)数据由数据库管理系统统一管理和控制。
    五、设计题
    1.
    createdatabase[学生选课数据库]
    go
    use[学生选课数据库]
    go
    2.
    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,
    [先行课程号]char(6)
    )
    4.
    createtable选课表
    (IDIDENTITY(1,1),
    []char(6)references学生表(),
    [课程号]char(6)references课程表(课程号),
    [分数]integercheck([分数]between0and100)
    )
    5.
    insert课程表values('100001','C语言',2)
    insert课程表values('100002','数据结构',2,'100001')
    insert课程表values('100003','数据库原理',2)
    update课程表set课程名='SQL数据库'where课程号='100003'
    delete课程表where课程号='100002'
    6.createview[选课表视图]as
    select选课表.,,选课表.课程号,课程名,学分,分数
    from选课表,学生表,课程表
    where选课表.=学生表.
    and选课表.课程号=课程表.课程号
    --或
    createview[选课表视图]as
    select选课表.,,选课表.课程号,课程名,学分,分数
    from选课表join学生表on选课表.=学生表.
    join课程表on选课表.课程号=课程表.课程号
    7.
    createfunction[某门课程成绩](@课程名varchar(40))
    returnstableas
    return(select,,课程名,学分,分数from选课表视图
    where课程名=@课程名)
    go
    select*from[某门课程成绩]('SQL数据库')
    8.
    createprocedure[某门课程高低均分]
    @课程名varchar(40)as
    select课程名,最高分=max(分数)、最低分=min(分数)、平均分=avg(分数)
    from选课表视图
    where课程名=@课程名
    go
    execute[某门课程高低均分]'SQL数据库'
    9.
    select,,专业from学生表
    wherelike'张%'and性别='女'
    10.
    select,,专业from学生表wherein
    (selectdistinctfrom选课表where分数<60)
    11.
    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数据库管理与开发教程与实训》试题(N卷)
    杨辉老师
    一、单项选择题:(每小题1分,共10分)
    1.触发器可以创建在()中。
    A.表B.过程
    C.数据库D.函数
    2.删除表的语句是()。
    A.DROPB.ALTER
    C.UPDATED.DELETE
    3.以下触发器是当对[表1]进行()操作时触发。
    CreateTriggerabcon表1
    Forinsert,update,delete
    As……
    A.只是修改B.只是插入
    C.只是删除D.修改、插入、删除
    4.规则对象在使用上与()约束类似。
    A.CHECKB.PRIMARYKEY
    C.FOREIGNKEYD.UNIQU
    5.主索引可确保字段中输入值的()性。
    A.多样B.重复
    C.唯一D.若干
    6.关于视图下列哪一个说法是错误的()。
    A.视图是一种虚拟表B.视图中也保存有数据
    C.视图也可由视图派生出来D.视图是保存在SELECT查询
    7.执行带参数的过程,正确的方法为()。
    A.过程名参数B.过程名(参数)
    C.过程名=参数D.A,B,C三种都可以
    8.查询毕业名称与“清华”有关的记录应该用()。
    A.SELECT*FROM学习经历WHERE毕业LIKE’*清华*’
    B.SELECT*FROM学习经历WHERE毕业=’%清华%’
    C.SELECT*FROM学习经历WHERE毕业LIKE’?清华?’
    D.SELECT*FROM学习经历WHERE毕业LIKE’%清华%’
    9.Select职工号FROM职工WHERE工资>1250命令的功能是()。
    A.查询工资大于1250的纪录B.查询1250号记录后的记录
    C.检索所有的职工号D.从[职工]关系中检索工资大于1250的职工号
    10.关于关系图下列哪一个是正确的()。
    A.关系图是在同一个表中不同字段之间建立关联
    B.关系图是表与表之间建立关联,与字段无关
    C.关系图是在不同表中的字段之间建立关联
    D.关系图是在不同数据库之间建立关联
    二、判断题:(每小题1分,共10分)
    1.ODBC是由Microsoft定义的一种数据库访问标准。()
    2.信息和数据是相对的,有时是可以互相转换的。()
    3.创建存储过程必须在企业管理器中进行。()
    4.触发器主要是通过表操作事件进行触发而被执行的。()
    5.主键字段允许为空。()
    6.SQLServer自动为primarykey约束的列建立一个索引。()
    7.SQLServer的数据库可以转换成Access数据库。()
    8.删除表时,表中的触发器被同时删除。()
    9.数据库的名称一旦建立就不能重命名。()
    10.固定数据库角色:db_datarader的成员可修改本数据库内表中的数据。()
    三、填空题:(每题1分,共计20分)
    1.IBM公司的研究人员E.F.Codd连续发表了论文,提出了关系模型,奠定了________管理系统的基础。
    2.数据库的数据模型包含_________、_______和_________三个要素。
    3._________可用于实现参数化视图的功能,这种类型的函数在使用参数和扩展索引视图方面提供了比_________更多的灵活性。
    4._________是已经存储在SQLServer服务器中的一组预编译过的Transact-SQL语句。
    5.SQLServer数据库的体系结构也是三级模式结构,但术语与传统的关系模式不同,在SQLServer中,_________对应于视图、_______对应于基本表、________对应于存储文件。
    6.SQLServer的数据库文件的扩展名为_____、事务日志文件的扩展名为_______。
    7.建立和使用________的目的是为了保证数据的完整性。
    8.BACKUP命令是对数据库进行__________,RESTORE命令是对数据库进行__________。
    9.从最终用户角度来看,数据库应用系统分为单用户结构、主从式结构、分布式结构、____________结构和____________结构。
    10.对视图的数据进行操作时,系统根据视图的定义去操作与视图相关联的_________。
    11.SQLServer2000的安全性分为两类:_______安全性和_______安全性。
    四、简述题(每小题5分,共20分)
    1.什么是数据库管理系统?它的主要功能是什么?
    2.什么是数据完整性?完整性有哪些类型?
    3.自定义内嵌表值函数与视图的使用有什么不同?
    4.存储过程与触发器有什么不同?
    五、阅读下列程序,说明它们的功能。(每题4分,共20分)
    1.
    use成绩数据库
    Ifexists(selectnamefromsysobjects
    Wherename=’student_inf’andtype=’p’)
    Dropprocedurestudent_inf
    Go
    Createprocedurestudent_infoas
    Select,,总学分fromxsqk
    2.
    use成绩数据库
    CREATETRIGGERabcON[dbo].[XSCJ]
    FORUPDATE
    AS
    ifupdate(成绩)
    updatexscj
    setxscj.学分=(select学分fromxskcwheredeleted.课程号=xskc.课程号)
    fromxscj,xskc,deleted
    wherexscj.成绩>=60anddeleted.=xscj.anddeleted.课程号=xscj.课程号
    3.
    use教学成绩管理数据库
    go
    altertable学生信息表
    addemailvarchar(20)null,
    学历text,
    照片image
    4.
    use教学成绩管理数据库
    select,性别,年龄=datediff(year,出生日期,getdate())
    from学生信息表
    where(datediff(year,出生日期,getdate())=20)and(性别='女')
    5.
    use教学成绩管理数据库
    select教学成绩表.,,sum(分数)总分,avg(分数)均分
    from学生信息表join教学成绩表
    on学生信息表.=教学成绩表.
    groupby教学成绩表.,
    orderbyavg(分数)desc
    六、设计题(每小题4分,共20分)
    现有关系数据库如下:
    数据库名:学生成绩数据库
    学生表(班级编号,,,性别,民族,身份证号,出生日期)
    课程表(课程号,课程名,开课学期,学时)
    成绩表(ID,,课程号,分数)
    用SQL语言实现下列功能的sql语句代码:
    1.查询学生信息表中的年龄(重复年龄只显示一次)
    2.从学生信息表和教学成绩表中查询查询学生的、、课程名和分数
    3.从课程表中统计第二学期的总学时。
    执行结果为:
    课程好课程名开课学期学时
    …………
    …………
    sum
    ============
    …
    4.编写一个存储过程,输入,从“教学成绩表视图”显示该学生的、课程名、分数。
    5.创建一个触发器,当修改学生表中的时,显示“学生已被修改”。
    
    SQLServer数据库答案N
    一、单项选择题:(每小题1分,共10分)
    12345678910
    AADACBADDC
    二、判断题:(10分)(正确的在答题纸对应的题号下打√,错误的打×)
    12345678910
    √√╳√╳√√√╳╳
    三、填空题:(每题1`分,共计20分)
    1、关系数据库
    2、数据结构、数据操作、完整性约束
    3、内嵌表值函数、视图
    4、存储过程
    5、外模式、模式、内模式
    6、mdf、ldf
    7、约束
    8、备份、恢复
    9、客户/服务器、浏览器/服务器
    10、基本表
    11、数据访问、数据运行
    四、简述题(每小题5分,共10分)
    1.什么是数据库管理系统?它的主要功能是什么?
    DBMS是位于用户与操作系统之间的一层数据管理软件,它属于系统软件,它为用户或应用程序提供访问数据库的方法。包括数据库的建立、查询、更新及各种数据控制。
    2.什么是数据完整性?完整性有哪些类型?
    数据完整性用于保证数据库中数据的正确性、一致性和可靠性。数据完整性有四种类型:
    实体完整性、域完整性、引用完整性、用户定义完整性
    3.自定义内嵌表值函数与视图的使用有什么不同?
    答:内嵌标值函数可用于实现参数化视图的功能。这种类型的函数在使用参数和扩展索引视图方面提供了比视图更多的灵活性。
    4.存储过程与触发器有什么不同?
    答:触发器是特殊类型的存储过程,它能在任何试图改变表中由触发器保护的数据时执行。触发器主要通过事件进行触发而被执行,触发器不能直接调用执行,也不能被传送和接受参数,而存储过程可以通过存储过程名被直接调用。触发器与表有关,存储过程与表无关。
    五、阅读下列程序,说明它们的功能。(每小题4分,20分)
    1.如果“Syudent_info”存储过程存在,则删除。创建存储过“Syudent_info”
    2.创建触发器“abc”,当修改XSCJ表中的纪录时,成绩>60分,则根据XSKC表中的该门课程的学分修改XSCJ表中该记录的学分。
    3.在学生信息表中增加email、学历、照片列。
    4.查询年龄为20岁、性别为‘女’的学生
    5.查询每个学生的、、总分和均分,结果按均分降序排列
    六、设计题(每小题4分,共20分)
    1.查询学生信息表中的年龄(重复年龄只显示一次)
    use教学成绩管理数据库
    selectdistinct年龄=datediff(year,出生日期,getdate())
    from学生信息表
    2.从学生信息表和教学成绩表中查询查询学生的、、课程名和分数
    use学生成绩数据库
    select成绩表.,,课程名,分数
    from教学成绩表,学生信息表
    where成绩表.=学生表.AND成绩表.课程号=课程表.课程号
    3.从课程表中统计第二学期的总学时。
    Select课程号,课程名,开课学期,学时
    From课程表
    Where开课学期=2
    computeavg(学时)
    4.编写一个存储过程,输入,从“教学成绩表视图”显示该学生的、课程名、分数。
    CREATEPROCEDURE成绩1@xhchar(6)
    as
    select,课程名称,分数from教学成绩表视图
    where=@xh
    5.创建一个触发器,当修改学生表中的时,显示“学生已被修改”。
    CreateTrigger触发器7On学生表
    Forupdata
    As
    Print“学生已被修改”
    Go
    《SQL数据库管理与开发教程与实训》试题(O卷)
    杨辉老师
    一、单项选择题:(每小题1分,共10分)
    1.不属于数据库管理系统三个要素组成的是()。
    A.数据结构B.数据操作
    C.完整性约束D.数据分析
    2.删除表中数据的语句是()。
    A.DROPB.ALTER
    C.UPDATED.DELETE
    3.限制输入到列的, 值的范围,应使用()约束。
    A.CHECKB.PRIMARYKEY
    C.FOREIGNKEYD.UNIQUE
    4.触发器可引用视图或临时表,并产生两个特殊的表是()。
    A.Deleted、InsertedB.Delete、Insert
    C.View、TableD.View1、table1
    5.使用索引下列哪个说法是正确的()。
    A.节省磁盘空间
    B.缩短查询时间
    C.在执行插入、修改、删除时节省时间
    D.与表无关
    6.关于视图下列哪一个说法是错误的()。
    A.视图是一种虚拟表
    B.视图中也存有数据
    C.视图也可由视图派生出来
    D.视图是保存在数据库中的SELECT查询
    7.创建表的命令是()。
    A.Createdatabase表名B.CreateVIEW表名
    C.CreateTABLE表名D.ALTERTABLE表名
    8.用于模糊查询的匹配符是()。
    A._B.[]
    C.^D.LIKE
    9.在sqlSERVER中不是系统数据库的是()。
    A.masterB.model
    C.tempdbD.pubs
    10.关于关系图下列哪一个是正确的()。
    A.关系图是在同一个表中不同字段之间建立关联
    B.关系图是在不同表中的字段之间建立关联
    C.关系图是表与表之间建立关联,与字段无关。
    D.关系图是在不同数据库之间建立关联
    二、判断题:(每小题1分,共10分)
    1.在SQLServer中用户不能建立全局变量。
    2.备份时只能对数据文件进行备份。
    3.自定义函数在对任何表的查询中都可以使用。
    4.触发器是通过事件进行触发而被执行的。
    5.主键字段允许为空。
    6.SQLServer自动为primarykey约束的列建立一个索引。
    7.SQLServer的数据库可以导出为Access数据库。
    8.删除表时,表中的触发器不被同时删除。
    9.数据库的名称可在企业管理器中重命名。
    10.触发器与约束发生冲突,触发器将不执行。
    三、填空题:(每题1分,共计20分)
    1.DBMS是位于用户与操作系统之间的一层数据管理软件,它属于________软件,它为用户或应用程序提供访问数据库的方法。
    2.关系模型用________结构表示实体集,用键来表示实体间联系。
    3.数据库是被长期存放在计算机内的、有组织的、统一管理的相关______的集合。
    4.数据库管理系统由三个要素组成:________、________和________。
    5.SQLServer数据库的体系结构也是三级模式结构,在SQLServer中,________对应于视图、_______对应于基本表、______对应于存储文件。
    6.________是为保证数据库中数据的正确性和相容性,对关系模型提出的某种约束条件或规则。
    7.数据完整性的类型有________完整性、________完整性、________完整性和用户自定义完整性。
    8.视图是由一个或多个______或视图导出的______或查询表。
    9.______是指服务器管理、数据库管理和数据库访问特定的权限的集合。
    10.SQLServer的安全性分为两类:_______安全性和_______安全性。
    11._______是已经存储在SQLServer服务器中的一组预编译过的Transact-SQL语句。
    12.当______被删除时与它关联的触发器也一同被删除。
    四、简述题(每小题5分,共20分)
    1.自定义内嵌表值函数与视图的使用有什么不同?
    2.什么是数据库备份和恢复?
    3.什么是视图?它和表有什么区别?
    4.自定义函数与存储过程的区别是什么?
    五、设计题(每小题5分,共40分)
    现有关系数据库如下:
    数据库名:学生成绩数据库
    学生表(班级编号,,,性别,民族,身份证号,出生日期)
    课程表(课程号,课程名)
    成绩表(ID,,课号,分数)
    用SQL语言实现下列功能的sql语句代码:
    1.在[学生成绩数据库]的[学生表]中查询年龄为20岁或22岁的学生。
    2.在[学生成绩数据库]中查询每个学生的班级编号、、、平均分,结果按平均分降序排列,均分相同者按班级排列。
    3.编写一个自定义函数,根据[学生表]中的[出生日期]列,计算年龄。
    4.创建一个视图[教学成绩表视图]显示学生的、、课程名、分数。
    5.编写一个存储过程,输入,从[教学成绩表视图]显示该学生的、课程名、分数。
    6.把[学生表]、[成绩表]通过[]建立约束关系。
    7.把[学生表]、[成绩表]通过[]建立约束关系。
    8.在学生表中插入记录:
    班级编号性别民族身份证号出生日期
    050201050201001王莉欣女汉530102197906252241979-06-25
    050202050202001张晶男NULL01020319801224121NULL
    把张晶的民族改为“汉”、出生日期改为“1980-12-24”
    
    SQLServer数据库答案N
    一、单项选择题:(每小题1分,共10分)
    12345678910
    DDDABBCDDB
    二、判断题:(10分)(正确的在答题纸对应的题号下打√,错误的打×)
    12345678910
    √╳√√╳√√╳╳√
    三、填空题:(每题1`分,共计20分)
    1、系统
    2、二维表
    3、数据
    4、数据结构、数据操作、完整性约束
    5、外模式、模式、内模式
    6、关系完整性
    7、实体、域、参照
    8、数据表、虚拟表
    9、角色
    10、数据访问、数据运行
    11、存储过程
    12、表
    四、简述题(每小题5分,共20分)
    1.自定义内嵌表值函数与视图的使用有什么不同?
    答:内嵌标值函数可用于实现参数化视图的功能。这种类型的函数在使用参数和扩展索引视图方面提供了比视图更多的灵活性。
    2.什么是数据库备份和恢复?
    答:备份是指将当前的数据库系统、数据文件或日志文件复制到一个专门的备份服务器、活动磁盘或者其他能长期存储数据的介质上,作为副本。数据库备份记录了在进行备份这一操作时数据库中所有数据的状态。一旦数据库因意外而遭损坏,这些备份文件可用来恢复数据库。
    恢复是与备份相对应的数据库管理工作,系统进行数据库恢复的过程中,自动执行安全性检查,然后根据数据库备份自动创建数据库结构,并且恢复数据库中的数据。
    3.什么是视图?它和表有什么区别?
    答:视图是由一个或多个数据表(基本表)或视图导出的虚拟表或查询表,是关系数据库系统提供给用户以多种角度观察数据库中数据的重要机制。
    视图是虚表。所谓虚表,就是说视图不是表。因为视图只储存了她的定义(select语句),而没有储存视图对应的数据,这些数据仍存放在原来的数据表(基表),数据与基表中数据同步,即对视图的数据进行操作时,系统根据视图的定义去操作与视图相关联的基本表。
    4.答:自定义函数在被调用的位置上返回数据值,存储过程既不能在被调用的位置上返回数据,也不能被引用在语句当中。
    五、设计题(每小题5分,共40分)
    1.在学生成绩数据库的学生表中查询年龄为20岁或22岁的学生
    use教学成绩管理数据库
    select,性别,年龄=datediff(year,出生日期,getdate())
    from学生表
    where(datediff(year,出生日期,getdate())=20)or(datediff(year,出生日期,getdate())=22)
    2.在学生成绩数据库中查询每个学生的班级编号、、、平均分,结果按平均分降序排列,均分相同者按班级排列
    use教学成绩管理数据库
    select班级编号,a.,a.,avg(分数)平均分
    from学生表asajoin成绩表asb
    ona.=b.
    groupby班级编号,a.,a.
    orderbyavg(分数)desc,班级编号asc
    3.编写一个自定义函数,根据[学生表]中的[出生日期]列,计算年龄。
    CREATEFUNCTIONdbo.计算年龄(@vardatedatetime,@Curdatedatetime)
    RETURNStinyint
    AS
    BEGIN
    returndatediff(yyyy,@vardate,@Curdate)
    END
    4.创建一个视图“教学成绩表视图”显示学生的、、课程名、分数。
    CREATEVIEW[教学成绩表视图]
    AS
    SELECT,,课程名,分数
    FROM学生表,成绩表
    WHERE学生表.=成绩表.
    5.编写一个存储过程,输入,从“教学成绩表视图”显示该学生的、课程名、分数。
    CREATEPROCEDURE[成绩1]@xhchar(6)
    as
    select,课程名称,分数from教学成绩表视图
    where=@xh
    6.把学生表、成绩表通过“”建立约束关系。
    altertable学生表
    addconstraint约束1foreignkey()references成绩表()
    7.创建一个触发器,当修改学生表中的时,显示“学生已被修改”。
    CreateTrigger触发器7On学生表
    Forupdata
    As
    Print'学生已被修改'
    Go
    8.
    insert学生表values
    ('050201','050201001','王莉欣','女','汉','53010219790625224',
    '1979-06-25')
    insert学生表values
    ('050201','050201001','张晶','男',null,null,null)
    update学生表
    set民族='汉',
    身份证号='01020319800226121',
    出生日期='1980-02-26'
    where='张晶'
    《SQL数据库管理与开发教程与实训》试题(P卷)
    杜兆将老师
    一、名词解释(每小题每题4分,共20分)
    1、视图
    2、索引
    3、存储过程
    4、游标
    5、备份
    二、判断题(每空1分,共10分)
    1、安装MicrosoftSQLServer2000企业版对操作系统的最低要求可以是MicrosoftWindows2000Professional。
    2、每一个服务器必须属于一个服务器组。一个服务器组可以包含0个、一个或多个服务器。
    3、验证模式是在安装SQLServer过程中选择的。系统安装之后,可以重新修改SQLServer系统的验证模式。
    4、固定数据库角色:db_datarader的成员不能修改本数据库内表中的数据。
    5、当用户定义的数据类型正在被某个表的定义引用时,这些数据类型不能被删除。
    6、在使用子查询时,必须使用括号把子查询括起来,以便区分外查询和子查询。
    7、索引越多越好。
    8、视图本身不保存数据,因为视图是一个虚拟的表。
    9、创建触发器的时候可以不是表的所有者或数据库的所有者。
    10、select16%4,的执行结果是:4吗?
    三、填空题(每空1分,共20分)
    1、SQLServer登录身份验证模式类型有_________和_________两种。
    2、数据库对象就是存储和管理数据库的结构形式,这些数据库对象包括数据库图表、表、函数、视图、_________、_________、缺省、规则等。
    3、表是由行和列组成的,行有时也称为_________,列有时也称为_________或域。
    4、数据库操作语句就是指insert、_________、_________和select语句。
    5、创建索引的方法可以分为_________和_________。
    6、在MicrosoftSQLServer系统中,支持3种类型的备份介质:_________、磁带和_________。
    7、触发器有3种类型,即insert类型、_________和_________。
    8、Transact-SQL语言有4部分元素组成,分别是:数据定义语言、________________、______________和一些附加的语言元素。
    9、事务的4个属性:原子性、一致性、_______性和_______性。
    10.选择运算是根据某些条件对关系做______分割;投影是根据某些条件对关系做______分割。
    四、简述题(每小题6分,共30分)
    1.在SQLServer2000中,使用视图的好处是什么?
    2.在SQLServer2000数据完整性类型及其实现技术有哪些?
    3.简述使用游标的步骤。
    4、简述SQLServer2000的安全机制(6级)。
    5、创建数据库的3种方法
    五、设计题(每小题4分,共20分)
    有一个[学生课程]数据库,数据库中包括三个表:
    学生表由、、性别、年龄、所在系五个属性组成,
    可记为:学生表(,,性别,年龄,所在系)[]为关键字。
    课程表由课程号、课程名、先修课号、学分四个属性组成,
    可记为:课程表(课程号,课程名,先修课号,学分)课程表为关键字。
    学生选课表由、课程号、成绩三个属性组成,
    可记为:成绩表(,课程号,成绩)(、课程号)为关键字。
    编写用SQL语言实现下列功能的sql语句代码:
    1、建立一个[学生表],其中属性不能为空,并且其值是唯一的。
    2、查询全体学生的详细记录。
    3、查询年龄在20至23岁之间的学生的、系别、和年龄。
    4、计算1号课程的学生平均成绩。
    5、将计算机科学系全体学生的成绩置零。
    
    《SQL数据库管理与开发教程与实训》试题(P卷)参考答案
    一、名词解释(每题4分,共20分)
    1、视图是由一个或多个数据表(基本表)或视图导出的虚拟表或查询表。
    2、索引就是表中数据和相应存储位置的列表。
    3、存储过程是存储在服务器上的一组预编译的Transact-SQL语句。
    4、游标是允许用户能够从select语句查询的结果集中,逐条逐行地访问记录,可以按照自己的意愿逐行地显示、修改或删除这些记录的数据访问处理机制。
    5、备份是指将数据库复制到一个专门的备份服务器、活动磁盘或者其他能长期存储数据的介质上,作为副本。一旦数据库因意外而遭损坏,这些备份可用来恢复数据库。
    二、判断题(每题1分,共10分)
    1.N2.Y3.Y4.Y5.Y6.Y7.N8.Y9.N10.N
    三、填空题:每空1分,共20分
    1、Windows认证模式、混合模式
    2、存储过程、触发器
    3、记录、字段
    4、update、delete
    5、直接方法、间接方法
    6、硬盘文件、NamedPipe(或命名管道)
    7、update、delete
    8、数据控制语言、数据操作语言
    9、独立、持久
    10、水平、垂直
    四、简答题:每题6分,共30分
    1.在SQLServer2000中,使用视图的好处是什么?
    (1)为用户集中需要的数据,简化了数据的用户操作;
    (2)对用户隐藏了数据库设计的复杂性;
    (3)简化用户权限的管理。
    2.在SQLServer2000数据完整性类型及其实现技术有哪些?
    (1)域完整性:DEFAULT(默认值)、DEFAULT(默认技术)、CHECK(检查)、RULE(规则技术)
    (2)实体完整性:PRIMARYKEY(主键)、UNIQUE(唯一键)、IDENTITY(标识列)
    (3)参照完整性:FOREIGNKEY(外键)
    (4)自定义完整性:自定义函数、触发器
    3.简述使用游标的步骤。
    (1)声明游标:declare游标名cursorforselect语句;
    (2)打开游标:open游标名;
    (3)处理数据:fetchdeleteupdate
    (4)关闭游标:close游标名;
    (5)释放游标:deallocate游标名;
    4、简述SQLServer2000的安全机制(6级)。
    1.计算机的连接
    2.SQLServer登录(账户、固定服务器角色)
    3.库的访问(用户/角色:固定/自定义角色)
    4.表/视图的权限(selectinsertupdatedelete)
    5.存储过程、内嵌表值函数的权限(executeselect)
    6.表(视图)中列的权限(selectupdate)
    5、创建数据库的3种方法
    在MicrosoftSQLServer系统中,有3种创建数据库的方法:
    (1)使用CREATEDATABASE语句
    (2)使用创建数据库向导
    (3)使用企业管理器
    五、设计题(每题4分,共20分)
    1、建立一个学生表。
    CREATETABLE学生表
    (CHAR(5)NOTNULLUNIQUE,
    CHAR(20),
    性别CHAR(2),
    年龄INT,
    所在系CHAR(15))
    2、查询全体学生的详细记录
    SELECT*
    FROM学生表
    3、查询年龄在20至23岁之间的学生的、系别、和年龄
    SELECT,所在系,年龄
    FROM学生表
    WHERE年龄BETWEEN20AND23
    4、计算1号课程的学生平均成绩
    SELECTAVG(成绩)
    FROM成绩表
    WHERE课程号='1'
    5、将计算机科学系全体学生的成绩置零
    UPDATE成绩表
    SET成绩=0
    WHEREin
    (SELECTFROM学生表
    WHERESdept='计算机科学系')
    附录2SQL上机考试与阅卷系统
    为了便于老师有效地组织本课程的毕业考试和本书《第11章数据库的安全性》的教学而研制了本软件系统。建议在本课程教学进度完成三分之二时,安装本系统组织同学进行模拟考试,将考试变成促进同学掌握SQL知识的手段。用户有两大类:监考教师和学生。教师从题库中(16份试题)通过随机等方式为同学们发放试题;学生通过上机方式完成试卷,并将其结果提交到数据库中;教师再从数据库中取出试卷进行阅卷(其中选择题、判断题、填空题自动批阅)并汇总学生考试成绩,以减轻考试的工作量。
    2.1系统设计
    2.1.1数据表设计
    (1)学生信息表
    序号字段名类型宽度null主键/外键
    1char10*
    2nchar5notnull
    3性别nchar1notnull性别in('女','男')
    4卷号char1null
    5座号char16null考试计算机的IP地址
    6班级char16notnull
    7身份证号char18notnull
    8宿舍电话char10
    9手机号码char16
    10照片image
    示例数据如下:
    性别班级身份证号
    100001高翔男03网络3班140113198109060015
    100002白云女03网络3班142401198208267020
    100003康健男03网络3班14010519850208089x
    100004党生男03网络3班142621198105270013
    100005华丽女03网络3班140311198206290927
    100006欧阳芙蓉女03网络3班140302198209210829
    
    (2)试题信息表
    序号字段名类型宽度null主键/外键
    1题号char20notnull*
    2题型nchar3notnull题型表(题型)
    3题目varchar12null
    4问题varchar255null
    5参考答案varchar255null
    6应得分int
    (3)试卷完成表
    序号字段名类型宽度null主键/外键
    1char10notnull学生信息表()
    2题号char20notnull作业信息表(题号)
    3答案varchar255
    4结果图Image
    5提交时间datetime
    6提交机器char16
    7批语char255
    9分数Int
    10批阅时间datetimeUNIQUE(,题号)
    (4)参数表
    序号字段名类型宽度null
    1开考时间datetimenull
    2收卷时间datetimenull
    3老师nchar10notnull
    2.1.2数据视图设计
    教师批阅试卷视图(,,性别,班级,题号,题型,题目,问题,参考答案,应得分,答案,结果图,提交时间,提交机器,批语,分数,批阅时间,未答,未阅,问答,问答阅)
    2.1.3存储过程设计
    (1)p学生查询个人试卷
    只有在、座号正确的前提下返回学生自己的试卷信息:题目,未答,问答,题号,题型,问题,答案,不能看到其他同学的答案或阅卷用的参考答案。
    createprocedurep学生查询个人试卷
    @char(10),@座号char(15)as
    begin
    set@=rtrim(@)
    select题目,未答,问答,题号,题型,问题,答案
    fromdbo.教师批阅试卷视图
    wherertrim()in
    (selectfrom学生信息表
    wherertrim()=@andrtrim(座号)=@座号)
    orderby题号
    end
    (2)p学生提交试卷答案
    只有在、座号、密码正确的前提下保存学生自己的答案、提交时间、提交机器的IP号,并返回ok,否则返回no。
    createprocedure[p学生提交试卷答案]@char(10),@题号char(20),
    @答案varchar(255),@座号char(16),@结果char(2)output
    as
    begin
    set@=rtrim(@)
    ifexists(selectfrom学生信息表
    wherertrim()=@and座号=@座号)
    begin
    update试卷完成表
    set答案=@答案,提交时间=getdate(),提交机器=@座号
    where(=@)and(题号=@题号);
    set@结果='ok'
    end
    else
    set@结果='no'
    end
    2.1.4登录账户和数据库用户设计
    登录名/角色名描述
    dbo服务器管理员sa,具有服务器和本数据库的所有权限
    SQL考试客户只用来登录,登录后用户成为相应的老师或学生
    SQL考试教师设置为数据库的所有者角色,具有本数据库的所有权限
    sqltest100001为100001的学生登录账户
    …………
    考生(角色)所有考生都是这个角色的成员,只能进行个人答卷,不可查询别人的答案或标准答案
    2.1.5安全性设计
    所有学生均以[SQL考试学生]身份登录服务器,然后以[学生信息表]的、座位、密码在指定机器查看自己的试卷,提交自己的答案。
    用户/角色名权限描述
    SQL考试客户只可查询参数表和学生信息表中[]、[]、[座号]、[身份证号]、[照片]字段,填写[学生信息表]中的[座号]
    考生(角色)只可查询参数表和执行[p学生查询个人试卷]、[p学生提交试卷答案]
    SQL考试教师数据库的所有者角色,具有本数据库的所有权限,但不能修改试卷完成表中的答案、结果图、提交时间和提交机器的内容
    dbo服务器管理员sa,具有服务器和本数据库的所有权限
    2.1.6登录账户建立
    --账户初始化.sql
    use[SQL考试数据库]
    go
    --建立[SQL考试客户]登录账户、数据库用户
    ifexists(select*frommaster.dbo.syslogins
    whereloginname='SQL考试客户')
    execsp_droplogin'SQL考试客户'
    execsp_addlogin'SQL考试客户','2005','SQL考试数据库','简体中文'
    ifexists(select*fromdbo.sysusers
    wherename=N'SQL考试客户'anduid<16382)
    execsp_revokedbaccessN'SQL考试客户'
    execsp_grantdbaccessN'SQL考试客户',N'SQL考试客户'
    grantselecton[dbo].[参数表]to[SQL考试客户]
    grantselecton[dbo].[学生信息表]([],[],[座号],[班级],[照片],[身份证号])to[SQL考试客户]
    guantupdateon[dbo].[学生信息表]([座号])to[SQL考试客户]
    --建立[SQL考试教师]登录账户、数据库用户
    ifexists(select*frommaster.dbo.sysloginswhereloginname=N'SQL考试教师')
    execsp_droploginN'SQL考试教师'
    execsp_addloginN'SQL考试教师','22',N'SQL考试数据库',N'简体中文'
    execsp_addsrvrolememberN'SQL考试教师',sysadmin
    execsp_addsrvrolememberN'SQL考试教师',securityadmin
    ifexists(select*fromdbo.sysusers
    wherename=N'SQL考试教师'anduid<16382)
    execsp_revokedbaccessN'SQL考试教师'
    execsp_grantdbaccessN'SQL考试教师',N'SQL考试教师'
    execsp_addrolememberN'db_owner',N'SQL考试教师'
    execsp_addrolememberN'db_securityadmin',N'SQL考试教师'
    denyupdateon[dbo].[试卷完成表]([答案],[结果图],[提交时间],[提交机器])to[SQL考试教师]cascade
    --建立[考生]角色
    ifnotexists(select*fromdbo.sysusers
    wherename=N'考生'anduid>16399)
    execsp_addroleN'考生'
    grantselecton[dbo].[参数表]to[考生]
    grantexecuteon[dbo].[p学生查询个人试卷]to[考生]
    grantexecuteon[dbo].[p学生提交试卷答案]to[考生]
    2.1.7功能(菜单)设计
    编程语言PowerBuilder,系统总控模块(菜单)与各功能模块调用关系如下。
    
    2.2系统使用
    2.2.1系统安装
    运行环境:操作系统Windows2000及以上版本与数据库服务器SQLServer2000。
    数据库安装:
    (1)在安装SQLServer2000服务器的计算机上执行自解压缩包:《SQL上机考试与阅卷系统》.exe进行安装,默认安装目录:e:\《SQL上机考试与阅卷系统》。
    (2)在企业管理器中,附加自解压释放在安装目录的数据库文件:数据库\SQL考试数据库.mdf、数据库\SQL考试数据库_log.ldf。
    (3)在查询分析器中用sa身份运行[账户初始化.sql]脚本文件设置账户。
    客户端安装:
    (1)在安装目录的[客户端]子目录下,双击PBCLTRT90.msi安装PowerBuilder的运行库。
    (2)在安装目录的[客户端]子目录下,修改配置文件:config.ini中ServerName=127.0.0.1成为数据库服务器的IP地址。
    (3)将安装目录的子目录[客户端]共享,在网络中每台考试客户端复制安装目录的[客户端]子目录的内容,双击PBCLTRT90.msi安装PowerBuilder的运行库,双击sql_test.exe运行本软件。
    2.2.2系统使用
    (1)系统登录
    在桌面单击【SQL上机考试与阅卷系统】快捷图标,出现如附图2.1所示的登录界面,用户类型有:学生、老师。老师初始口令:22,学生初始口令:,口令可自行修改。输入口令后出现如附图2.2所示的主界面。
    
    附图2.1登录界面附图2.2系统主界面
    (2)教师设置
    以教师身份登录系统,在系统菜单栏上单击【教师】|【设置学生信息】菜单,出现如附图2.3所示的学生信息维护界面。在系统菜单栏上单击【教师】|【设定考试参数】菜单,出现如附图2.4所示的设定考试参数界面:设置考试时间、确定考试座位、发放试题等。
    
    附图2.3设置学生信息附图2.4设置考试信息
    
    (3)学生考试
    以学生身份登录系统,如附图2.5所示。在系统菜单栏上单击【学生】、【上机完成提交试卷】菜单,出现如附图2.6所示的学生上机完成提交试卷界面。
    
    附图2.5学生登录界面附图2.6学生上机考试
    (4)教师批阅
    以教师身份登录系统,在系统菜单栏上单击【教师】|【教师批阅试卷】菜单,出现如附图2.7所示的教师批阅试卷界面。其中:选择题、判断题、填空题、空白题将由软件自动批阅,分数也将自动汇总。
    (5)关于软件
    
    附图2.7教师批阅试卷附图2.8关于软件
    本软件已于2005年6月30日进行了4个班的模拟考试,于2005年7月8日进行了4个班的正式上机考试,系统运行稳定可靠。
    三、填空题(每空1分,共20分)
    1.数据库系统具有数据的_________、_________和内模式三级模式结构。
    2.SQLServer2000局部变量名字必须以_________开头,而全局变量名字必须以_________开头。
    3.语句selectascii('D'),char(67)的执行结果是:_________和_________。
    4.语句selectlower('Beautiful'),rtrim('我心中的太阳')的执行结果是:____________和___________。
    5.选择运算是根据某些条件对关系做______分割;投影是根据某些条件对关系做______分割。
    6.关系运算主要有________、________和连接。
    7.完整性约束包括______完整性、______完整性、参照完整性和用户定义完整性。
    8.在SQLServer2000中,数据库对象包括______、______、触发器、过程、列、索引、约束、规则、默认和用户自定义的数据类型等。
    9.语句selectday('2004-4-6'),len('我们快放假了.')的执行结果是:_________和_________。
    10.语句selectround(13.4321,2),round(13.4567,3)的执行结果是:_________和_________。
    四、简答题(每小题5分,共10分)
    1.在SQLServer2000中,使用视图的好处是什么?
    2.在SQLServer2000中,用户访问表/视图、列的权限是什么?
    五、设计题(共50分)
    现有关系数据库如下:
    数据库名:我班同学数据库
    同学表(char(6),,性别,年龄,民族,身份证号,宿舍号)
    宿舍表(宿舍号char(6),宿舍电话)
    用SQL语言实现下列功能的sql语句代码:
    1.创建数据库[我班同学数据库]代码(2分)。
    2.创建数据表[宿舍表]代码(3分);
    宿舍表(宿舍号char(6),宿舍电话)
    要求使用:主键(宿舍号)、宿舍电话:以633开头的7位电话号码
    3.创建数据表[同学表]代码(6分);
    同学表(char(6),,性别,年龄,民族,身份证号,宿舍号)
    要求使用:主键()、外键(宿舍号)、默认(民族)、非空(民族,,年龄)、唯一(身份证号)、检查(性别)
    4.将下列宿舍信息添加到宿舍表的代码(8分)
    宿舍号宿舍电话
    1016331157
    1026331777
    
    修改宿舍号为101的宿舍电话:6331158
    删除宿舍号为102的宿舍信息
    5.创建视图[同学表视图]代码(5分);
    同学表视图(,,性别,年龄,民族,身份证号,宿舍号,宿舍电话)
    6.从同学表视图中查询姓张的女同学的、性别、宿舍电话。(4分)
    7.从同学表中查询女同学的最大年龄、最小年龄、平均年龄。(5分)
    8.创建带参数的存储过程[某宿舍同学]:,性别,宿舍电话
    执行此过程,查询'101'宿舍情况(8分)
    9.设置一SQL身份验证的用户账户:登录名:U班主任,密码:888,数据库用户名:U读者,权限:可查询查询本数据库中所有表、视图、内嵌表值函数的数据,执行所有的存储过程。请写出账户、权限设置的T_SQL脚本。(9分)
    
    一、
    12345678910
    CDCABACDAC
    二、
    12345678910
    YNNNNNYNNN
    三、
    no答案分
    1.外模式、模式2
    2.@、@@2
    3.68、C2
    4.beautiful、我心中的太阳2
    5.水平、垂直2
    6.选择、投影2
    7.实体、域2
    8.表、视图2
    9.6、72
    1013.4300、13.45702
    四、
    no答案要点分
    1.(1)为用户集中需要的数据,简化了数据的用户操作;
    (2)对用户隐藏了数据库设计的复杂性;
    (3)简化用户权限的管理
    (4)组织数据导出到其它应用程序;5
    2.1.数据表/视图(selectinsertupdatedelete)
    2.列(字段)的访问(selectupdate)5
    五、
    no参考答案分
    1.createdatabase[我班同学数据库]
    go
    use[我班同学数据库]
    go2
    2.createtable宿舍表
    ([宿舍号]char(6)primarykey,
    [宿舍电话]char(7)check([宿舍电话]like'633[0-9][0-9][0-9][0-9]'))3
    3.createtable同学表
    (char(6)primarykey,
    nchar(4)notnull,
    性别nchar(1)check(性别in('男','女')),
    年龄int,
    民族nchar(8)default'汉族'notnull,
    身份证号char(18)unique,
    宿舍号char(6)references宿舍表(宿舍号)
    )6
    4.insert宿舍表values('101','6331157')
    insert宿舍表values('102','6331777')
    update宿舍表set宿舍电话='6331158'where宿舍号='101'
    delete宿舍表where宿舍号='102'8
    5.createview[同学表视图]as
    select,,性别,年龄,民族,身份证号,同学表.宿舍号,宿舍电话
    from同学表,宿舍表
    where同学表.宿舍号=宿舍表.宿舍号5
    6.select,性别,宿舍电话
    from同学表视图
    wherelike'张%'and性别='女'4
    7.select最大年龄=max(年龄),最小年龄=min(年龄),平均年龄=avg(年龄)
    from同学表
    where性别='女'5
    8.createprocedure[某宿舍同学]@宿舍号varchar(6)
    as
    select,性别,宿舍电话
    from同学表视图
    where宿舍号=@宿舍号
    go
    execute[某宿舍同学]'101'8
    9.execsp_addlogin'U班主任','888','我班同学数据库'
    execsp_grantdbaccess'U班主任','U读者'
    execsp_addrolemember'db_datareader','U读者'9
    三、填空题(每空1分,共20分)
    1.SQLServer2000局部变量名字必须以_________开头,而全局变量名字必须以_________开头。
    2.语句selectascii('D'),char(67)的执行结果是:_________和_________。
    3.语句selectlower('Beautiful'),rtrim('我心中的太阳')的执行结果是:____________和___________。
    4.选择运算是根据某些条件对关系做______分割;投影是根据某些条件对关系做______分割。
    5.关系运算主要有________、________和连接。
    6.完整性约束包括_______完整性、______完整性、参照完整性和用户定义完整性。
    7.T-SQL语言中,有_________运算、字符串连接运算、比较运算和_________运算。
    8.语句selectday('2004-4-6'),len('我们快放假了.')的执行结果是:_________和_________。
    9.语句selectfloor(17.4),floor(-214.2),round(13.4382,2),round(-18.4562,3)的执行结果是:_________、_________、_________和_________。
    四、简答题(每小题5分,共10分)
    1.简述SQLServer2000的安全性管理机制(6级,涉及登录账号、用户、角色以及权限分配)。(6分)
    2.在SQLServer2000中,使用视图的好处是什么?(4分)
    五、设计题(共45分)
    现有关系数据库如下:
    数据库名:学生成绩数据库
    学生信息表(char(6),,性别,民族,身份证号)
    课程信息表(课号char(6),名称)
    成绩信息表(ID,,课号,分数)
    用SQL语言实现下列功能的sql语句代码。
    1.创建数据库[学生成绩数据库]代码(2分)。
    2.创建数据表[课程信息表]代码;(2分)
    课程信息表(课号char(6),名称)
    要求使用:主键(课号)、非空(名称)
    3.创建数据表[学生信息表]代码;(4分)
    学生信息表(char(6),,性别,民族,身份证号)
    要求使用:主键()、默认(民族)、非空(民族,)、唯一(身份证号)、检查(性别)
    4.创建数据表[成绩信息表];(5分)
    成绩信息表(ID,,课号,分数)
    要求使用:外键(,课号)、检查(分数),自动编号(ID)
    5.将下列课程信息添加到课程信息表的代码(8分)
    课号名称
    100101西班牙语
    100102大学英语
    修改课号为100102的课程名称:专业英语
    删除课号为100101的课程信息
    6.创建视图[成绩信息表视图]的代码;(5分)
    成绩信息表视图(,,课号,课程名称,分数)
    7.从学生信息表中查询姓刘的女同学的情况:、性别、民族。(2分
    8.查询有一门或一门以上课程成绩小于60分的所有学生的信息,包括、。(4分)
    9.创建带参数的存储过程[某门课程高低均分]、执行该过程的代码(7分)
    存储过程功能:查询某门课程的最高分、最低分、平均分;
    执行该过程,查询所有修’专业英语’这门学生的最高分、最低分、平均分;
    10设置一SQL身份验证的用户账户:登录名:U院长,密码:888,数据库用户名:U读者,权限:可查询查询本数据库中所有表、视图、内嵌表值函数的数据,执行所有的存储过程。请写出账户、权限设置的T_SQL脚本。(6分)
    
    一、
    12345678910
    ADCCAACAAD
    二、
    123456789101112131415
    YYYNNNYNNYNYNYN
    三、
    no答案分
    1.@、@@2
    2.68、C2
    3.beautiful、我心中的太阳2
    4.水平、垂直2
    5.选择、投影2
    6.实体、域2
    7.算术、逻辑2
    8.6、72
    9.17、-215、13.4400、-18.45604
    四、
    no答案要点分
    1.1.计算机的连接
    2.SQLServer登录(账户、固定服务器角色)
    3.库的访问(用户/角色:固定/自定义角色)
    4.表/视图的权限(selectinsertupdatedelete)
    5.存储过程、内嵌表值函数的权限(executeselect)
    6.表(视图)中列的权限(selectupdate)6
    2.(1)为用户集中需要的数据,简化了数据的用户操作;
    (2)对用户隐藏了数据库设计的复杂性;
    (3)简化用户权限的管理
    (4)组织数据导出到其它应用程序4
    五、
    no参考答案分
    1.createdatabase[学生成绩数据库]
    go
    use[学生成绩数据库]
    go2
    2.createtable课程信息表
    ([课号]char(6)primarykey,
    [名称]nchar(20)notnull)2
    3.createtable学生信息表
    ([]char(6)primarykey,
    []nchar(4)notnull,
    [性别]nchar(1)check([性别]in('男','女')),
    [民族]nchar(8)default'汉族'notnull,
    [身份证号]char(18)unique
    )4
    4.createtable成绩信息表
    (IDintidentity(1,1),
    []char(6)references学生信息表(),
    [课号]char(6)references课程信息表(课号),
    [分数]integercheck([分数]between0and100)
    )5
    5.insert课程信息表values('100101','西班牙语')
    insert课程信息表values('100102','大学英语')
    update课程信息表set名称='专业英语'where课号='100102'
    delete课程信息表where课号='100101'8
    6.createview[成绩信息表视图]
    as
    select成绩信息表.,,成绩信息表.课号,名称课程名称,分数
    from成绩信息表,学生信息表,课程信息表
    where成绩信息表.=学生信息表.and成绩信息表.课号=课程信息表.课号5
    7.select,性别,民族
    from学生信息表
    wherelike'刘%'and性别='女'2
    8.select,
    from学生信息表
    wherein
    (selectdistinctfrom成绩信息表where分数<60)4
    9.createprocedure[某门课程高低均分]
    @课程名nchar(16)as
    select课程名称,最高分=max(分数),最低分=min(分数),平均分=avg(分数)
    from成绩信息表视图
    where课程名称=@课程名
    groupby课程名称
    go
    execute[某门课程高低均分]'专业英语'7
    10execsp_addlogin'U院长','888','学生成绩数据库'
    execsp_grantdbaccess'U院长','U读者'
    execsp_addrolemember'db_datareader','U读者'6
    三、填空题(每空1分,共20分)
    1.数据库系统具有数据的___________、_________和_________三级模式结构。
    2.SQLServer2000局部变量名字必须以_________开头,而全局变量名字必须以_________开头。
    3.语句selectascii('C'),char(68),len('你是BigTiger')的执行结果是:_________、_________和_________。
    4.语句selectupper('beautiful'),ltrim('我心中的太阳')的执行结果是:____________和___________。
    5.关系运算主要有________、________、________。
    6.选择运算是根据某些条件对关系做______分割;投影是根据某些条件对关系做______分割。
    7.索引的类型主要有__和___。
    8.在SQLServer2000中,数据库对象包括数据表、______、______、触发器、规则、默认和用户自定义的数据类型等。
    四、简述题(每小题5分,共10分)
    1.简述使用游标的步骤。
    2.简述SQLServer2000的安全性管理机制,涉及登录账号、用户、角色以及权限分配。
    五、设计题(共50分)
    现有关系数据库如下:
    数据库名:学生成绩数据库
    学生表(char(6),,性别,民族,身份证号)
    课程表(课号char(6),名称)
    成绩表(ID,,课号,分数)
    用SQL语言实现下列功能的sql语句代码:
    1.创建数据库[学生成绩数据库]代码(2分);
    2.创建[课程表]代码(2分);
    课程表(课号char(6),名称)
    要求使用:主键(课号)、非空(名称)
    3.创建[学生表]代码(6分);
    学生表(char(6),,性别,民族,身份证号)
    要求使用:主键()、默认(民族)、非空(民族,)、唯一(身份证号)、检查(性别)
    4.创建[成绩表]代码(4分);
    成绩表(ID,,课号,分数)
    要求使用:主键(课号)、外键(成绩表.,成绩表.课号)、检查(分数),自动编号(ID)
    5.将下列课程信息添加到课程表的代码(8分)
    课号课程名称
    100001大学语文
    100002大学英语
    100003西班牙语
    修改课号为100002的课程名称:实用英语
    删除课号为100003的课程信息
    6.写出创建:成绩表视图(,,课号,课程名称,分数)的代码;(4分)
    7.写出创建:某门课程成绩内嵌表值函数以及检索的代码;(6分)
    检索:所有修实用英语这门学生的成绩;
    8.写出创建:某门课程高低均分计算某门课程成绩最高分、最低分、平均分存储过程以及执行的代码;(6分)
    执行:所有修实用英语这门学生的最高分、最低分、平均分;
    9.检索姓李的女同学的情况:、性别、民族。(2分)
    10.检索有一门或一门以上课程成绩大于等于90分的所有学生的信息,包括、。(4分)
    11.设置一SQL身份验证的账户:登录名:U领导,密码:888,数据库用户名:U读者,权限:可查询查询本数据库中所有表、视图、内嵌表值函数的数据。请写出账户、权限设置的T_SQL脚本。(6分)
    
    《SQL数据库管理与开发教程与实训》试题(C卷)参考答案
    一、1.C2.A3.B4.A5.C6.A7.8.D9.B10.C
    二、1.N2.N3.Y4.N5.N6.N7.Y8.N9.N10.Y
    三、1.外模式、模式、内模式。
    2.@,@@
    3.67,D,12
    4.BEAUTIFAL,我心中的太阳
    5.选择、投影、连接。
    6.水平,垂直
    7.聚簇索引非聚簇索引
    8.视图、存储过程
    四、简述题
    1.简述使用游标的步骤。
    (1)声明游标:declare游标名cursorforselect语句;
    (2)打开游标:open游标名;
    (3)处理数据:fetchdeleteupdate
    (4)关闭游标:close游标名;
    (5)释放游标:deallocate游标名;
    2.要点:
    1.计算机的连接
    2.SQLServer服务器登录(登录、固定服务器角色)
    3.数据库的访问(用户/角色:固定/自定义数据库角色)
    4.数据表(视图)的访问(selectinsertupdatedelete)
    5.存储过程/内嵌表值函数的访问(execute/select)
    6.数据表(视图)中列(字段)的访问(selectupdate)
    五、设计题
    1.
    createdatabase[学生成绩数据库]
    go
    use[学生成绩数据库]
    go
    2.createtable学生表
    ([]char(6)primarykey,
    []nchar(4)notnull,
    [性别]nchar(1)check([性别]in('男','女')),
    [民族]nchar(8)default'汉族'notnull,
    [身份证号]char(18)unique
    )
    3.createtable课程表
    ([课号]char(6)primarykey,
    [名称]char(40)notnull
    )
    4.createtable成绩表
    (IDintegerIDENTITY(1,1),
    []char(6)references学生表(),
    [课号]char(6)references课程表(课号),
    [分数]integercheck([分数]between0and100)
    )
    5.insert课程表values('100001','大学语文')
    insert课程表values('100002','大学英语')
    insert课程表values('100003','西班牙语')
    update课程表set名称='实用英语'where课号='100002'
    delete课程表where课号='100003'
    6.createview[成绩表视图]as
    select成绩表.,,成绩表.课号,名称课程名称,分数
    from成绩表,学生表,课程表
    where成绩表.=学生表.
    and成绩表.课号=课程表.课号
    createview[成绩表视图]as
    select成绩表.,,成绩表.课号,名称课程名称,分数
    from成绩表join学生表on成绩表.=学生表.
    join课程表on成绩表.课号=课程表.课号
    7.createfunction[某门课程成绩](@课程名varchar(40))
    returnstableas
    return(select,,课程名称,分数from成绩表视图
    where课程名称=@课程名)
    createfunction[某门课程成绩](@课程名varchar(40))
    returnstableas
    return(select*from成绩表视图
    where课程名称=@课程名)
    select*from[某门课程成绩]('实用英语')
    8.createprocedure[某门课程高低均分]
    @课程名varchar(40)as
    select课程名称,最高分=max(分数)、最低分=min(分数)、平均分=avg(分数)
    from成绩表视图
    where课程名称=@课程名
    execute[某门课程高低均分]'实用英语'
    9.select,性别,民族from学生表wherelike'李%'and性别='女'
    10.select,from学生表wherein(selectdistinctfrom成绩表where分数>=90)
    11.
    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读者'
    一、填空题(30*1分)
    1、根据模型应用目的的不同,数据模型可以分为两类:_________和结构数据模型。
    2、结构数据模型直接描述数据库中数据的逻辑结构,常用的结构数据模型有层次模型,_________,_________和面向对象模型,其中sql数据库是基于_________建立的。
    3、访问sql
    server数据库对象时,需要经过身份验证和_________两个阶段,其中身份验证分为windows验证模式和_______验证模式。
    4、__________是存储在文件中的一系列sql语句,即一系列按顺序提交的批处理。
    5、sqlserver使用__________文件记载用户对数据库进行的所有操作。
    6、sp_help系统存储过程的功能是___________________。
    7、数据完整性实质,存储在数据库中的数据正确无误并且相关数据具有一致性,根据完整性机制所作用的数据库对象和范围不同,可以分为:_________,_________,_________,_________四种,其中标志列(identity)可以实现_________数据完整性。
    8、sql语言中行注释的符号为_________;块注释的符号为_________。
    9、sql
    server中的变量分为两种,全局变量和局部变量。其中全局变量的名称以_________字符开始,有系统定义和维护。局部变量以_________字符开始,由用户自己定义和赋值。
    10、使用索引可以减少检索时间,根据索引的存储结构不同将其分为两类:_________和_________。
    11、命令truncatetable的功能是_______________。
    12、备份是为了在数据库遭到破坏时,能够修复,数据库备份的类型有四种分别为:_________,_________,_________,_________。
    13、在sqlserver2000中,其权限分为三类,即_________权限、_________权限和_________权限。
    14、用户对数据进行添加、修改和删除时,自动执行的存储过程称为_________。
    15、对数据进行统计时,求最大值的函数是_________。
    二、选择题(10分)
    1、下面存在于服务器端的组件是:()。
    a、服务管理器b、企业管理器组件c、查询分析器组件d、导入导出组件
    2、下面描述错误的是()。
    a、每个数据文件中有且只有一个主数据文件。b、日志文件可以存在于任意文件组中。c、主数据文件默认为primary文件组。d、文件组是为了更好的实现数据库文件组织。
    3、sqlserver数据库文件有三类,其中主数据文件的后缀为:a、.ndfb、.ldfc、.mdfd、.idf
    4、下面标志符不合法的是:()。
    a、[mydelete]b、_mybasec、$moneyd、trigger1
    5、下面对索引的相关描述正确的是:()。
    &;#8226;经常被查询的列不适合建索引。&;#8226;列值唯一的列适合建索引。&;#8226;有很多重复值的列适合建索引。&;#8226;是外键或主键的列不适合建索引。
    6、下列说法中正确的是:
    a、sql中局部变量可以不声明就使用b、sql中全局变量必须先声明再使用c、sql中所有变量都必须先声明后使用d、sql中只有局部变量先声明后使用;全局变量是由系统提供的用户不能自己建立。
    7、下面字符串能与通配符表达式[abc]%a进行匹配的是:()。a、bcdefb、a_bcdc、abc_ad、a%a
    8、下列语句中正确的是_______。表score(sti_id,names,math,english,vb)
    &;#8226;selectstu_id,sum(math)fromscore&;#8226;selectsum(math),avg(vb)from
    score&;#8226;select*,sum(english)fromscore&;#8226;delete*fromscore
    9、下列说法正确的是_______。
    a、视图是观察数据的一种方法,只能基于基本表建立。
    b、视图是虚表,观察到的数据是实际基本表中的数据。
    c、索引查找法一定比表扫描法查询速度快。
    d、索引的创建只和数据的存储有关系。
    &;#8226;下列途径哪个不是实现值域完整性_______。
    a、rule(规则)b、primarykeyc、notnulld、default
    三、简答题。(15分)
    1、简述视图的意义和优点?
    2、列出sqlserver数据库中常见的数据库对象。
    四、综合应用题。(45分)
    学生选课系统,主要表有:
    学生基本信息表(、、性别、专业、出生年月),选课表(、课程号、分数),课程表(课程号、课程名、所属专业、学分)要求:
    1、用e-r图表示上述关系的概念模型。(8分)
    2、用表的形式表示每张表的关系模式(字段名,数据类型),并标出各表上的应该添加的约束。(7分)
    3、写出sql语句。
    1)查询所有选sql课程的学生,和专业。(5分)
    2)删除所有选择数学的同学的选课记录。(5分)
    3)查询有哪些课程没有被任何同学报选。(5分)
    b卷
    一、填空题(20*2分)
    e-r数据模型一般在数据库设计的_______阶段使用。
    根据模型应用目的的不同,数据模型可以分为两类:一类是
    _________,是按用户的观点来对数据和信息进行抽象;另一类是_________,是按计算机的观点建模。
    &;#8226;结构数据模型直接描述数据库中数据的逻辑结构,常用的结构数据模型有
    _________,_________,_________,_________。
    &;#8226;命令truncatetable的功能是_______________。
    &;#8226;数据完整性是指存储在数据库中的数据正确无误并且相关数据具有一致性,根据完整性机制所作用的数据库对象和范围不同,可以分为:
    _________,_________,_________,_________四种,其中主键可以实现_________完整性。
    &;#8226;模糊查询符号%代表_______,查询条件e%im代表意思是_______。
    &;#8226;使用索引可以减少检索时间,根据索引的存储结构不同将其分为两类:_________和_________。
    &;#8226;sql
    server中的变量分为两种,全局变量和局部变量。其中全局变量的名称以_________字符开始,有系统定义和维护。局部变量以_________字符开始,由用户自己定义和赋值。
    &;#8226;实现数据完整性的途径有_______、_______、_______、_______等。
    &;#8226;选择题(10*2分)
    &;#8226;下面仅存在于服务器端的组件是:()
    a、服务管理器b、企业管理器组件c、查询分析器组件d、导入导出组件
    2、下面描述错误的是()。
    &;#8226;每个数据文件中有且只有一个主数据文件。&;#8226;日志文件可以存在于任意文件组中。&;#8226;主数据文件默认为primary文件组。&;#8226;
    文件组是为了更好的实现数据库文件组织。
    3、下面标志符不合法的是:()。
    a、[mydelete]b、_mybasec、$moneyd、trigger1
    4、下面字符串能与通配符表达式[abc]_a进行匹配的是:()。
    a、bcdefb、a_bcdc、abad、a%a
    5、下面是合法的smallint数据类型数据的是:()。
    a、223.5b、32768c、-32767d、58345
    6、关系数据模型_______。
    &;#8226;只能表示实体间的1:1联系
    &;#8226;只能表示实体间的1:n联系
    &;#8226;只能表示实体间的m:n联系
    &;#8226;只能表示实体间的上述3种联系
    &;#8226;数据库概念模式产生于数据库系统设计的_______阶段。
    a、规划b、需求分析c、概念设计d、逻辑设计
    8、客观存在的各种报表、图表和查询格式等原始数据属于_______。
    a、机器世界b、信息世界c、现实世界d、模型世界
    9、sqlserver数据库文件有三类,其中主数据文件的后缀为:
    a、.ndfb、.ldfc、.mdfd、.idf
    10、下列语句中正确的是_______。表score(sti_id,names,math,english,vb)
    &;#8226;selectstu_id,sum(math)fromscore
    &;#8226;selectsum(math),avg(vb)fromscore
    &;#8226;select*,sum(english)fromscore
    &;#8226;delete*fromscore
    三、简答题。(10分)
    1、简述视图的意义和优点?
    2、试述如何有效的保护数据库的安全?
    四、综合应用题。(30分)
    学生选课系统,主要表有:学生基本信息表(、、性别、专业、出生年月等),选课表(、课程号、分数),课程表(课程号、课程名、所属专业、学分)要求:
    1、用e-r图表示上述关系的概念模型。(5分)
    3、写出sql语句。
    1)查询所有选sql课程的学生,和专业。(5分)
    2)删除所有选择数学的同学的选课记录。(5分)
    3)查询有哪些课程没有被任何同学报选。(5分)
    4、创建存储过程。(10分)
    1)、能够查询出选修任何课程的学生信息及相应的分数。
    2)、以表格的形式返回本课程的平均分数。
    答案:
    a卷答案:
    &;#8226;填空题。
    1概念模型2&;#8226;网状模型、关系模型,关系模型3&;#8226;权限验证、混合4&;#8226;脚本5&;#8226;日志文件6&;#8226;
    显示数据对象的相关属性7&;#8226;实体完整性、值域完整性、引用完整性、值域完整性,实体完整性8&;#8226;--,/**/9&;#8226;@@,@
 &n, bsp;  10、簇集索引、非簇集索引11、清空数据库12、数据库备份,事务日志备份,差异备份,文件和文件组备份事务13、对象、语句、隐含14
    、触发器15、max()
    &;#8226;选择题。1~5a、b、c、c、c6~10d、c、b、b、b
    &;#8226;简答题1、(1)分割数据,简化优点(2)简化操作(3)提供自动的安全保护功能(4)为数据库重构提供一定的逻辑独立性。
    2、表、存储过程、触发器、视图、规则、默认值、索引等
    &;#8226;综合题答案略<答案不固定,主要看编程思路>
    b卷答案:
    &;#8226;填空题
    1概念设计阶段2&;#8226;概念模型、结构数据模型3&;#8226;层次模型、网状模型、关系模型、面向对象模型4&;#8226;清空数据库5&;#8226;
    实体完整性、值域完整性、引用完整性、值域完整性、实体完整性6&;#8226;任意字符查询以e开头中间任意字符(串)im结尾的字符串7&;#8226;
    簇集索引、非簇集索引8&;#8226;@@、@9&;#8226;约束默认规则存储过程等
    &;#8226;选择题1~5a、b、c、c、c6~10d、c、b、c、b
    &;#8226;简答题
    答:(一)&;#8226;分割数据,简化优点&;#8226;简化操作&;#8226;提供自动的安全保护功能&;#8226;为数据库重构提供一定的逻辑独立性。
    (二)数据库完整性、视图、存储过程等。
    &;#8226;综合题答案略<答案不固定,主要看编程思路>
    一、本题用到下面三个关系表:
    CARD借书卡。CNO卡号,NAME,CLASS班级
    BOOKS图书。BNO书号,BNAME书名,AUTHOR作者,PRICE单价,QUANTITY库存册数
    BORROW借书记录。CNO借书卡号,BNO书号,RDATE还书日期
    备注:限定每人每种书只能借一本;库存册数随借书、还书而改变。
    要求实现如下15个处理:
    1.写出建立BORROW表的SQL语句,要求定义主码完整性约束和引用完整性约束。
    2.找出借书超过5本的读者,输出借书卡号及所借图书册数。
    3.查询借阅了"水浒"一书的读者,输出及班级。
    4.查询过期未还图书,输出借阅者(卡号)、书号及还书日期。
    5.查询书名包括"网络"关键词的图书,输出书号、书名、作者。
    6.查询现有图书中价格最高的图书,输出书名及作者。
    7.查询当前借了"计算方法"但没有借"计算方法习题集"的读者,输出其借书卡号,并按卡号降序排序输出。
    8.将"C01"班同学所借图书的还期都延长一周。
    9.从BOOKS表中删除当前无人借阅的图书记录。
    10.如果经常按书名查询图书信息,请建立合适的索引。
    11.在BORROW表上建立一个触发器,完成如下功能:如果读者借阅的书名是"数据库技术及应用",就将该读者的借阅记录保存在BORROW_SAVE表中(注ORROW_SAVE表结构同BORROW表)。
    12.建立一个视图,显示"力01"班学生的借书信息(只要求显示和书名)。
    13.查询当前同时借有"计算方法"和"组合数学"两本书的读者,输出其借书卡号,并按卡号升序排序输出。
    14.假定在建BOOKS表时没有定义主码,写出为BOOKS表追加定义主码的语句。
    15.对CARD表做如下修改:
    a.将NAME最大列宽增加到10个字符(假定原为6个字符)。
    b.为该表增加1列NAME(系名),可变长,最大20个字符。
    二、请解释视图、存储过程、触发器、游标、索引的定义、用途、语法。
    
    .写出建立BORROW表的SQL语句,要求定义主码完整性约束和引用完整性约束
    --实现代码:
    CREATETABLEBORROW(
    CNOintFOREIGNKEYREFERENCESCARD(CNO),
    BNOintFOREIGNKEYREFERENCESBOOKS(BNO),
    RDATEdatetime,
    PRIMARYKEY(CNO,BNO))
    2.找出借书超过5本的读者,输出借书卡号及所借图书册数
    --实现代码:
    SELECTCNO,借图书册数=COUNT(*)
    FROMBORROW
    GROUPBYCNO
    HAVINGCOUNT(*)>5
    3.查询借阅了"水浒"一书的读者,输出及班级
    --实现代码:
    SELECT*FROMCARDc
    WHEREEXISTS(
    SELECT*FROMBORROWa,BOOKSb
    WHEREa.BNO=b.BNO
    ANDb.BNAME=N'水浒'
    ANDa.CNO=c.CNO)
    4.查询过期未还图书,输出借阅者(卡号)、书号及还书日期
    --实现代码:
    SELECT*FROMBORROW
    WHERERDATE    5.查询书名包括"网络"关键词的图书,输出书号、书名、作者
    --实现代码:
    SELECTBNO,BNAME,AUTHORFROMBOOKS
    WHEREBNAMELIKEN'%网络%'
    6.查询现有图书中价格最高的图书,输出书名及作者
    --实现代码:
    SELECTBNO,BNAME,AUTHORFROMBOOKS
    WHEREPRICE=(
    SELECTMAX(PRICE)FROMBOOKS)
    7.查询当前借了"计算方法"但没有借"计算方法习题集"的读者,输出其借书卡号,并按卡号降序排序输出
    --实现代码:
    SELECTa.CNO
    FROMBORROWa,BOOKSb
    WHEREa.BNO=b.BNOANDb.BNAME=N'计算方法'
    ANDNOTEXISTS(
    SELECT*FROMBORROWaa,BOOKSbb
    WHEREaa.BNO=bb.BNO
    ANDbb.BNAME=N'计算方法习题集'
    ANDaa.CNO=a.CNO)
    ORDERBYa.CNODESC
    8.将"C01"班同学所借图书的还期都延长一周
    --实现代码:
    UPDATEbSETRDATE=DATEADD(Day,7,b.RDATE)
    FROMCARDa,BORROWb
    WHEREa.CNO=b.CNO
    ANDa.CLASS=N'C01'
    9.从BOOKS表中删除当前无人借阅的图书记录
    --实现代码:
    DELETEAFROMBOOKSa
    WHERENOTEXISTS(
    SELECT*FROMBORROW
    WHEREBNO=a.BNO)
    10.如果经常按书名查询图书信息,请建立合适的索引
    --实现代码:
    CREATECLUSTEREDINDEXIDX_BOOKS_BNAMEONBOOKS(BNAME)
    11.在BORROW表上建立一个触发器,完成如下功能:如果读者借阅的书名是"数据库技术及应用",就将该读者的借阅记录保存在BORROW_SAVE表中(注ORROW_SAVE表结构同BORROW表)
    --实现代码:
    CREATETRIGGERTR_SAVEONBORROW
    FORINSERT,UPDATE
    AS
    IF@@ROWCOUNT>0
    INSERTBORROW_SAVESELECTi.*
    FROMINSERTEDi,BOOKSb
    WHEREi.BNO=b.BNO
    ANDb.BNAME=N'数据库技术及应用'
    12.建立一个视图,显示"力01"班学生的借书信息(只要求显示和书名)
    --实现代码:
    CREATEVIEWV_VIEW
    AS
    SELECTa.NAME,b.BNAME
    FROMBORROWab,CARDa,BOOKSb
    WHEREab.CNO=a.CNO
    ANDab.BNO=b.BNO
    ANDa.CLASS=N'力01'
    13.查询当前同时借有"计算方法"和"组合数学"两本书的读者,输出其借书卡号,并按卡号升序排序输出
    --实现代码:
    SELECTa.CNO
    FROMBORROWa,BOOKSb
    WHEREa.BNO=b.BNO
    ANDb.BNAMEIN(N'计算方法',N'组合数学')
    GROUPBYa.CNO
    HAVINGCOUNT(*)=2
    ORDERBYa.CNODESC
    14.假定在建BOOKS表时没有定义主码,写出为BOOKS表追加定义主码的语句
    --实现代码:
    ALTERTABLEBOOKSADDPRIMARYKEY(BNO)
    15.1将NAME最大列宽增加到10个字符(假定原为6个字符)
    --实现代码:
    ALTERTABLECARDALTERCOLUMNNAMEvarchar(10)
    15.2为该表增加1列NAME(系名),可变长,最大20个字符
    --实现代码:
    ALTERTABLECARDADD系名varchar(20)
    
  • 上一篇资讯: SQL1
  • 下一篇资讯: SQL+Server2000测试题
  • 设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
    版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师