东华理工大学国际学院 2008 — 2009 学年第 二 学期试卷
课程: 数据库原理及应用 闭卷 年级及专业:07级专科
题号 | 一 | 二 | 三 | 四 | 五 | 六 | 七 | 八 | 九 | 总分 |
分数 | ||||||||||
得分 | ||||||||||
评卷人 | ||||||||||
一、 单项选择题(每题2分,共30分)
1.在SQL SERVER 中,数据存储在下列哪个数据库对象当中?( B )
A.触发器 B. 表 C.存储过程 D.函数
2.数据页的大小是多少?( C )
A.1024KB B. 4KB C.8KB D.1KB
3.要对一个表示日期的数据列进行约束,使其数据在一个规定的范围内,那么应当使用那种约束?( D )
A.NULL约束 B. 主键约束 C.唯一值约束 D.CHECK约束
4.使用SA登录,属于哪种身份验证方法?( B )
A.windows集成身份验证 B. SQL SERVER身份验证
C.passport身份验证 D.表单身份验证
5.在SQL SERVER 2005 中,引入schema的作用是什么?( C )
A.代替数据库所有者 B. 为数据库对象赋权限
C.对数据库对象进行分组,以便更好地进行管理 D.没有用
6.哪个固定数据库角的成员可以执行数据库的所有配置和维护活动?( C )
A.db_denydatareader B. db_denydatawriter
C.db_owner D.db_securityadmin
7.要查课程名cname中,含汉字“管理”课程名,不正确的条件表达式是( A或B )
A.cname like ‘%[管理]%‘ B.cname like ‘%管]%‘
C.cname like ‘%[管]理%‘ D.cname like ‘%[管][理]%‘
8.与条件表达式num not between 0 and 100等价的条件表达式是( C )
A.num>=0 and num<100 B.num<0 or num<=100
C.num<0 or num>100 D.num<0 and num>100
9.一个多源表视图的定义语句中,其子查询语句必定是( B )语句。
A.一个简单查询 B.一个多表连接查询
C.一个无条件查询 D.有表和视图的查询
10.单源表视图的定义语句中,其子查询语句必定是( C )语句。
A.一个简单查询 B.一个连接查询
C.一个单表查询 D.任意查询
11.要使用sa帐户登陆SQL SERVER,安全验证模式应用( C )
A.仅windows B.SQL SERVER身份验证
C.混合身份验证模式 D.以上都不对
12.解除绑定规则的系统存储过程是( A )
A.sp_unbindrule B.sp_bindrule
C.sp_unbinddefault D.sp_procedure
13.创建自定义数据类型时要执行的系统存储过程是( D )
A.sp_bindrule B.p_bindtype
C.sp_adddatetype D.sp_addtype
14.删除自定义数据类型的正确语句是( C )
A.EXEC DROP 类型名 B.sp_droptype 类型名
C.EXEC sp_droptype 类型名 D.EXEC sp_addtype 类型名
15.选项( B )是对存储过程的正确描述。
A.定义了一个有相关列和行的集合
B.当用户修改数据时一种特殊形式的存储过程被自动执行
C.存储过程中局部变量的最大数目仅受可用内存的限制
D.在存储过程中不能引用临时表
二.填空题(每空1分,共20分)
1.数据管理技术经历了 人工管理 、 文件管理 和 数据库管理 三个阶段。
2.所谓数据完整性的约束条件共有三类,它们分别是: 实体 完整性、 参照
完整性和 用户自定义 完整性。
3.SQL SERVER四个系统数据库分别是 master 、 tempdb 、 msdb 和 model 。
4.命令方式操作数据库通常用到的工具是 查询分析器 ;界面方式创建数据库用到的工具是 企业管理器 。
5.SQL SERVER的数据备份类型有四种,分别是 完整备份 、 差异备份 、 日志备份 和 文件/文件组备份 。
6.DTS是指 数据转换服务 。
7.在进行数据导出时,操作员必须拥有对数据源表的 select 或读取 权限。
8.T-SQL提供了33个全局变量。全局变量必须以 @@ 开头,例如 @@error 。
三.简答题:(共50分)
1.创建数据库super_market,存储超市日常商品销售信息。(8分)
要求:
(1)数据文件market_data初始大小10M,增长方式10%,无上限
数据库原理及应用期末考试题(2)日志文件_log 初始大小5M,增长方式1M,上限100M
Create database super_market
On primary
(name=’market_data’,
Filename=’d:\market_data.mdf’, (路径文件名可以任意)
Size=10,
Filegrowth=10%,
Maxsize=unlimited)
Log on
(name=’market_log’,
Filename=’d:\market_log.ldf’, (路径文件名可以任意)
Size=5,
Filegrowth=1,
Maxsize=100)
2.已有数据表
商品(商品号,商品名,单价,种类,库存数量)
客户表(身份证号,姓名,住址,电话号码)
客户帐号(帐号,身份证号,开户日期)
创建数据表
购物清单(帐号,商品号,购买价格,数量,金额,购买日期)
要求:充分考虑各种约束
Create table 购物清单
( 帐号 char(10) foreign key references客户帐号(帐号),
商品号 char(20) foreign key references 商品(帐号),
购买价格 money,
数量 int,
购买日期 datetime,
Primary key (帐号,购买日期)
)
3.创建存储过程PROC1,实现“购买”,参数为“帐号”、“商品号”、“数量”,购物清单中其他值自动生成,同时商品库存数量减少。(10分)
Create proc proc1
@帐号 char(10), @商品号 char(20), @数量 int
as
declare @price money, @jine money
set @price=select 单价 from 商品 where 商品号=@商品号
set @jine=@price*@数量
insert into 购买清单 values( @帐号,@商品号,@price,@数量,@jine, getdate())
4.创建函数FUNCTION1,求某个月的销售额(8分)
Create function function1 ( @month int)
Returns money
as
declare @xiaoshoue money
set @xiaoshoue=( select sum(金额) from 销售清单
where month(购买日期)=@month)
return @xiaoshoue
5.创建触发器TRIGGER1,不允许修改购物清单信息(8分)
Create trigger trigger1
On 购买清单
Instead of update
as
rollback
6.查询9月份“蔬菜”类商品的销售总额(8分)
Select sum(金额) as 销售总额 from 销售清单 x ,商品 y
Where x.商品号=y.商品号 and month(购买日期)=9 and 种类=‘蔬菜’
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论