SQL Server 2005 考试试题
一 单项选择
1 实体完整性要求属性不能取空值,这一点通常通过( B ) A 定义外键来保证 B 定义主键来保证 C 用户定义完整性来保证 D 关系系统自动保证
2 在概念设计阶段可用E-R图,其中矩形表示实体,( D )表示实体联系 A 圆形框 B 椭圆形框 C 箭头 D 菱形框
3 一个教师能开多门课程,一门课程可以由多个老师开设,老师实体与课程实体间是( C ) A 一对一的联系 B 一对多的联系 C 多对多的联系 D 多对一的联系
4 实体间存在多种联系,下面那种数据模型可以描述实体间多对多的联系( C ) A 层次模型 B 网状模型 C 关系模型 D 对象模型
5 ( A )是位于用户和操作系统之间的一层数据管理软件。数据库在建立,使用和维护时由其统一管理,统一控制。
A DBMS(数据库管理系统) B DB(数据库) C DBS(数据库系统) D DBA(数据库管理员)
6 SQL语言允许使用通配符进行字符串匹配的*作,其中‘%’可以表示( C ) A 零个字符 B 1个字符串 C 多个字符串 D 以上都是
7 英文缩写DBA代表( B )
A 数据库管理系统 B 数据库管理员 C 数据定义语言 D 数据库操纵语言
8 以下不是SQL数据定义语言的是( C )
A CREATE B DROP C DELECT D ALTER
9 下列哪一个数据库不是SQL 2005 的系统数据库( C )
A master数据库 B msdb数据库 C pubs数据库 D model数据库
10 如何在已经创建好的表上添加一个外键( A )
A Alter table 表名add foreign key(键名)reference 关联表(关联键名) B Alter table 表名add Primary key(键名)reference 关联表(关联键名) C Alter 表名add foreign key(键名)reference 关联键名)
D Alter 表名add Primary key(键名)reference 关联表(关联键名)
11 要修改表名为Table1的字段Field1长度,原为Char(10)要求用SQL增加长度为char(20),以下语句那个正确( C )
A Alter table Table1 Alter Field1 char(20) B Alter Table1 Alter column Field1 char(20)
1
C Alter table Table1 Alter column Field1 char(20) D Alter column Field1 char(20)
12 下面聚集函数中哪个只能用于计算数值类型的数据( D )
A COUNT( ) B MIN( ) C MAX( ) D SUM( )
13 欲往表中增加一条记录,应该用哪一条SQL语句( B ) A ALTER TABLE B INSERT INTO TABLE C CREATE TABLE D DROP TABLE
14 以下哪一个不是逻辑运算符( D )
A NOT B AND C OR D IN
15 在创建表的过程中,哪个关键字用来定义默认值( D )
A DISTINCT B UNIQUE C CHECK D DEFAULT
三 判断题
1 默认值绑定到列上后,该列上的值将固定不能改变 ( X )
2 一张表允许有多个主键,但只能有一个外键 ( X )
3 可以通过SQL语句修改数据库名称及表的名称 ( √ )
4 聚集函数SUM( )与AVG( )可以用来操作任何类型的数据 ( X )
5 要删除一条记录使用DROP指令( X )
6 在空串处理语句中,IS NULL用来判断属性值是否为空,在此IS是关键字,不是标准的逻辑运算符( √ )
7 在模糊查询中可以使用LIKE结合通配符一块儿实现,其中%代表单个字符 ( X )
8 在查询语句中,若要把记录进行降序排列应使用ORDER BY 字段名 DESC ( √ )
9 在创建表的过程中,如果一属性是DATETIME类型需要指定长度 ( X )
10 在关系数据库的设计过程中,允许在设计后对表结构进行修改 ( √ )
五 基本操作
现在要为学校建立一个数据库,设学校的环境如下: 学生表STUDENT(学号,姓名,性别,生源地,出生日期) 班级表CLASS(班号,专业名,系号,入学年份)
2
系DEPARTMENT(系号,系名)
使用SQL语句完成一下功能:
1 建立数据库名为SCHOOL并激活当前新建的数据库
CREATE DATABASE SCHOOL ON PRIMARY ( NAME = SCHOOL,
FILENAME = 'D:\\SCHOOL.mdf', SIZE = 5MB, MAXSIZE = 20MB, FILEGROWTH = 1MB) LOG ON
( NAME= SCHOOL_log,
FILENAME = 'D:\\SCHOOL_log.ldf', SIZE = 2MB, MAXSIZE = 20MB, FILEGROWTH = 10%) GO
use SCHOOL
2 建表:在定义中声明
1)每个表要有主键
2)学生的性别只能取‘男’或者‘女’
3)学生姓名不能为空
4)表CLASS中建立外键系名,关联表DEPARTMENT中的系名5)系代号不能重复且不能为空
(1)学生表STUDENT(学号,姓名,性别,生源地,出生日期)
create table student -- 学生表定义 (
学号 char(10) primary key , -- 主键为学号 姓名 varchar(20) not null , -- 姓名不能为空值 性别 char(4) default '男' , -- 性别默认为男性 生源地 varchar(12) , --生源地 出生日期 datetime ,
check((性别= '男') or (性别= '女')) -- 性别必须为男性或女性 )
(2)班级表CLASS(班号,专业名,系名,入学年份)
--班级表CLASS(班号,专业名,系名,入学年份)
3
create table class -- 班级表定义 (
班号 char(4) primary key not null, -- 定义班号不能为空值 专业名 char(20) , -- 定义专业名 系号 char(4) , -- 定义学分 入学年份 datetime ,-- 入学年份
foreign key(系号) references department(系号), )
(3)系DEPARTMENT(系号,系名)
create table department -- 系表定义 (
系号 char(4) primary key not null ,--系代号不能为空 系名 char(8) ,--系名
unique(系号) ,-- 系号是唯一的,即系号不能重复 )
3 插入如下数据
CALSS(101,软件,02,2003;
102,微电子,02,2004)
STUDENT(8101,张三,男,101,山东,1984;
8102,钱四,女,121,济南,1984; 8103,王玲,女,131,福建,1985;
8105,李飞,男,102,河北,1985)
DEPARTMENT(02,计算机;
03,数学; 04,化学)
insert into class values('101','软件','02','2003-09-01') insert into class values('102','微电子','02','2004-09-01')
insert into student values('8101','张三','男','山东','1984-01-01') insert into student values('8102','钱四','女','济南','1984-01-01') insert into student values('8103','王玲','女','福建','1985-01-01') insert into student values('8105','李飞','男','河北','1985-01-01')
insert into department values('02','计算机') insert into department values('03','数学') insert into department values('04','化学')
4 完成以下的查询功能
(1)通过对学生信息表的查询,查询出所有学生的学号,姓名和性别
4
select 学号,姓名,性别 from student
(2)通过对学生信息表的查询,查询来自福建的学生的记录
select * from student where 生源地= '福建'
(3)在查询语句中,查询出学生姓名并计算出学生的年龄大小
select 姓名, datediff(yy, 出生日期, getdate()) from student
(4)用模糊查询出姓钱的女生记录
select * from student
where 姓名like '钱%'
(5)在查询语句中使用聚合函数计算出所有学生总数起别名为学生人数
select count(*) as '学生人数' from student
(6)查询所有班级的信息,并用班级号进行降序排序
select * from class order by 班号desc
(7)更新学号为8103的这位学生的姓名为张玲
update student set 姓名= '张玲' where 学号= '8103'
(8)查找出学号在8101到8103的学生信息
select * from student
where 学号between '8101' and '8103'
(9)删除姓名为李飞的学生记录
delete from student where 姓名= '李飞'
(10)删除数据表STUDENT drop table student
5
搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新幼儿教育练习答案 全文阅读和word下载服务。
相关推荐: