文档库

最新最全的文档下载
当前位置:文档库 > 数据库SQL理论复习题答案

数据库SQL理论复习题答案

数据库应用系统设计(SQL)理论复习题
一.单项选择题
1.限制输入到一列或多列值的范围,使用( )约束。
A?CHECK B?PRIMARY KEY C?FOREIGN KEY D?UNIQUE
2.规则对象在使用上与( )约束类似。
A?CHECK B.PRIMARY KEY C?FOREIGN KEY D?UNIQUE
3.选项中删除表的语句是( ).
A?DROP B?ALTER C?UPDATE D?DELETE
4.要修改表的结构,应使用SQL语言的命令( ).
A?UPDATE TABLE B?MODlFY TABLE C?ALTER TABLE D?CHANGE TABLE
5.下列SQL Server的语句中出现语法错误的是( ).
A?DECLARE @Myvar INT B.SELECT * FROM AAA
C?CREATE DATABASE AAA D?DELETE * FROM AAA
6.选项中关于视图的说法错误的是( ).
A?视图是一种虚拟表 B?视图中也保存有数据
C?视图也可由视图派生出来 D?视图的内容来源于一个SQL的SELECT查询
7.若Dl={al,a2,a3},D2={1,2,3},则Dl * D2集合中共有元组( )个。
A?6 B?8 C,9 D?l2
8.以下触发器是对[表1]进行( )操作时触发。
Create Trigger abc on 表l
For insert,Update ,delete
As ……
A?修改、更新、插入 B?插入、索引、删除 C?修改、插入 D.修改、插入、删除
9.选项中查询毕业学校宅称与"清华"有关的记录应该用( )。
A?SELECT * FROM 学习经历 WHERE 毕业学校 LIKE ' *清华*'
B?SELECT * FROM 学习经历 WHERE 毕业学校 = ' %清华%’
C?SELECT * FROM 学刀经历 WHERE 毕业学校 LlKE ' ?清华?’
D?SELECT * FROM 学习经历 WHERE 毕业学校 LIKE ' %清华%’
10.关系数据库中,元组的集合称为关系,能惟一标识元组的属性集的值称为( ).
A?关键字 B?字段 C?索引 D.属性
11.自然联接是构成新关系的有效方法。一般当对关系R和S自然联接时,要求R和S含有一个或者多个共有的( ).
A?记录 B?行 C?属性 D?元组
12.主索引可确保字段中输入值的( )性。
A?多样 B?重复 C?唯一 D?安全
13.下列SQL语句中,( )不是数据定义语句。
A?CREATE TABLE B?DROP VIEW C?CREATE VIEW D?GRANT
14.在SELECT语句中,使用GROUP BY SNO时,SNO必须( ).
A?在WERE中出现 B?在FROM中出现 C?在SELECT中出现 D?在HAVING中出现
二、判断题
1.删除表时,表中的触发器被同时删除。
2.主键字段允许为空。
3.触发器主要是通过表操作事件进行触发而被执行的。
4.在创建表时,不能指定将表放在某个文件上,只能指定将表放在某个文件组上。如果希望将某个表放在特定的文件上,那么必须通过创建文件组来实现。
5.信息和数据是相对的,有时是可以互相转换的。
6?数据库的名称一旦建立就

不能重命名。
7.创建存储过程必须在企业管理器中进行。
三、填空题
1.语句 select upper(beautiful'),ltrim(' 我心中的太阳')的执行结果是:( )和( )。
2.SQL Server数据库的体系结构也是三级模式结构,但术语与传统的关系模式不同,在SQL Server中,( )对应于视图、( )对应于基本表、( )对应于存储文件。
3.SELECT DATEADD(day,l0,'2008-12-22')输出的结果是( ).
4.( )是已经存储在SQL Server服务器中的一组预编译过的Transact-SQL语旬。
5.对视图的数据进行操作时,系统根据视图的定义去操作与视图相关联的( ).
6.SQL Server2O00局部变量名字必须以( )开头,而全局变量名字必须以( )开头。
7.SQL Server中的触发器分为两类。分别是( )和( ).
四、简答题
1.使用游标的基本步骤有几种.
使用游标有四种基本的步骤:声明游标、打开游标、提取数据、关闭游标
2.什么是数据完整性。
数据完整性是指一个数据集合完全、正确和一致的程度。
数据完整性包括三种,分别是是实体完整性、参照完整性以及用户定义的完整性约束

五、设计题
数据如下:
数据库名:医院数据库
医生表(医生编号,医生姓名,医生性别,出生日期,职称)
病人表(病人编号,病人姓名,病人性别,民族,身份证号)
病历表(ID,病人编号,医生编号?病历描述)
请用SQL语言实现下列功能.
1.写出创建上述三表的建库、建表代码.
要求使用:主键(医生表 医生编号,病人表.病人编号)、外键(病历表.医生编号,病历表.病人编号)、非空(职称,医生姓名,病人姓名)、检查(性别),自动编号(ID)。(字段长度根据下面小题设置)
2.写出将下列医生信息添加到医生表的代码。
医生编号 医生姓名 性别 出生日期 职称
1001 陈医生 女 1960-5-10 副主任医师
1002 李医生 女 1970-7-20 副主任医师
1003 张医生 男 1980-9-30 医师
Insert 医生表 (医生编号,医生姓名,性别,出生日期,职称)
Values(………………………………………….)
Go
)
修改 医生编号为1002的医生职称为“主任医师”
Update医生表
Set 职称=’ 主任医师’
Where医生编号=’1002’
go
删除 医生编号为1003的医生信息
Delete 医生表
Where医生编号=’1003’
go
3.写出创建医疗表视图(医生编号,医生姓名,病人姓名,病历描述)的代码
Create view 医疗表视图
AS
Select医生编号,医生姓名,病人姓名,病历描述
From 病历表,病人表,医生表
Where 医生表.医生编号…………………………
4.写出所有病人编号、病人姓名、病历描述以及病人所对应的医生编号的查询语句

5.写出查询有病人的医生信息的语句

6.创建一个默认,并将

其绑定到医生表的职称列上,默认值为"医师”。
Create default abc_default AS ‘医师’