SQL简答题及其答案★

SQL简答题

1.什么是数据库管理系统?它的主要功能是什么?

答:DBMS是位于用户与操作系统之间的一层数据管理软件,它属于系统软件,它为用户或应用程序提供访问数据库的方法。数据库管理系统是数据库系统的一个重要组成部分,它的功能包括数据定义功能、数据操纵功能、数据库的管理、控制和维护功能。 2.什么是关系?其主要特点是什么?

答:关系模型是由一组关系组成,每个关系的数据结构是一张规范化的二维表,它由行和列组成。关系模型中的关系有如下特点:

(1)关系中的每一属性都是不可再分的基本数据项。 (2)每个属性的名字不能相同。 (3)行和列的顺序无关紧要。

(4)关系中不能存在完全相同的行。

3.SQL Server 2008中有多少种约束?其作用分别是什么?

答:数据库中的约束包括以下五种: (1)主键约束。唯一地标识一行数据。

(2)外键约束。主要用来维护两个表之间的一致性。

(3)检查约束。通过检查输入表列数据的值来维护值域的完整性。

(4)唯一性约束。确保在非主键列中不输入重复的值。

(5)默认约。指在输入操作中没有提供输入值时,系统将自动提供给某列的值。 4. 哪些列适合创建索引?哪些列不适合创建索引?

答:适合创建索引的列:1.主键2.连接中频繁使用的列3.在某一范围内频繁搜索的列和按排序顺序频繁检索的列。

不适合创建索引的列:1.很少或从来不在查询中使用的列。 2.只有两个或很少几个值的列。3.以bit、text、image数据类型定义的列。4.数据行数很少的小表一般也不用创建索引。

5.简述备份数据的重要性。

答:对于一个实际应用的系统来说,数据是至关重要的资源,一旦丢失数据,不仅影响正常的业务活动,严重的会引起全部业务的瘫痪。数据存放在计算机上,即使是最可靠的硬件和软件也会出现系统故障或产品损坏。所以,数据库的安全性是至关重要的,应该在意外发生之前做好充分的准备工作,以便在意外发生之后有相应的措施来快速恢复数据库,并使丢失的数据减少到最少。

操作题 第一部分答案

现有关系数据库如下:

数据库名: teacher

JS (编号,姓名,性别,民族,职称,电话)

KC(课号,课程名称)

RK(教师编号,课号,课时数)

注:JS-----教师表 KC-----课程表 RK--------任课表

写出用SQL语言实现下列功能的sql语句代码:

1、建立teacher数据库。 1、Create database teacher

2、Create table js

(编号Char(5) not null primary key, 姓名Char(8) not null,

性别Char(2) not null check(性别=’ 男’or性别=’ 女’), 民族Char(10) not null, 职称Char(10) null)

3、在“JS”表中增加一条记录:

01004,李明玉, 女,回族,讲师

3、insert js values(‘01004’,’李明玉’, ‘女’,’回族’,’讲师’)

4、将JS表中“李明玉”的名字改为“李明宝”,性别改为“男”。 4、Update js set姓名=’李明宝’, 性别=’男’ where姓名=’李明玉’

5、删除01008号教师的任课记录 5、delete rk where 教师编号=’01008’

6、查询教师的任课情况,结果按教师编号升序排列 6、select * from RK order by 教师编号

7、查询男教授的基本信息,并将结果保存到njs表中

7、select * into njs from JS where 性别=’ 男’ and 职称=’ 教授’

8、查询少数民族女教师的姓名,民族,职称信息

8、select 姓名,民族,职称 from js where民族 ’汉族’

9、查询姓名中有“玉”字的女教师信息

9、select * from js where 姓名 like ‘%玉%’ and 性别=’女’

10、按职称统计教师人数,只显示人数在6人以上的信息。

10、Select 职称,count(职称) as 人数 from js group by 职称 having count(职称)>=6

11、查询任教“数据库”课程的所有教师的姓名,性别,职称,课时数

11、select 姓名,性别,职称,课时数 from js,rk,kc where js. 编号=rk. 教师编号 and

rk. 课号=kc. 课号 and 课程名称='数据库’

12、查询课时数最高的教师任课信息。

12、Select * from rk where 课时数=(select max(课时数) from rk)

13、查询课时数大于平均课时数的教师编号,课程名称及课时数。

13、Select 教师编号,课程名称,课时数 from kc,rk where rk.. 课号=kc. 课号 and 课时数>(select avg(课时数) from rk)

14、删除李明宝教师的任课记录

14、delete rk where 教师编号=(select 编号 from js where 姓名=’李明宝’)

15、创建一个视图JSST,显示姓李的教师的编号,姓名,课程名称,课时数信息。 15、Use teacher

Go

create view JSST as

select 编号,姓名,课程名称,课时数 from from js,rk,kc where js. 编号=rk. 教师编号 and rk. 课号=kc. 课号 and 姓名 like ‘李%’

16、为表kc的“课程名称”字段创建一个非惟一非聚集索引mc_ix。 16、Create nonclustered index mc_ix on kc(课程名称)

17、建立一个存储过程pro_ks,,根据指定的教师编号来查找教师的任课信息,如果找到,删除此教师的任课信息,如果未找到,显示“此教师未上课!”信息。 17、Use teacher

Go

create procedure pro_ks @jsbh char(8) as

If exists(select * from rk where 教师编号=@jsbh) Delete rk where教师编号=@jsbh Else

Print ’此教师未上课!’

18、创建一个触发器check_insert,当向RK表中插入一条记录时,检查该记录的教师编号是否在JS表中存在,检查课号是否在KC表中存在,如果有其中一项不存在,则拒绝插入。 18、CREATE TRIGGER check_insert ON RK

AFTER insert AS

Declare @xh char(10),@kch char(8)

SELECT @xh=教师编号,@kch=课号 FROM inserted

If exists(select * from JS where 编号=@xh) and exists(select * from KC where 课号=@kch) Print '插入成功!' Else begin

Print '不允许插入!' Rollback tran end

19、创建一个名为T_login的登录账户,并指定其登录密码为‘8888’,然后在teacher数据库中添加一个用户,名称为T_user,映射的登录名为T_login。并给该用户授予能够检索teacher数据库中任何表的所有数据。 19、USE TEACHER

GO

exec sp_addlogin 'T_LOGIN ', '888',

exec sp_grantdbaccess ' T_LOGIN ', 'T_USER ' exec sp_addrolemember 'db_datareader', 'T_USER '

SQL简答题

1.什么是数据库管理系统?它的主要功能是什么?

答:DBMS是位于用户与操作系统之间的一层数据管理软件,它属于系统软件,它为用户或应用程序提供访问数据库的方法。数据库管理系统是数据库系统的一个重要组成部分,它的功能包括数据定义功能、数据操纵功能、数据库的管理、控制和维护功能。 2.什么是关系?其主要特点是什么?

答:关系模型是由一组关系组成,每个关系的数据结构是一张规范化的二维表,它由行和列组成。关系模型中的关系有如下特点:

(1)关系中的每一属性都是不可再分的基本数据项。 (2)每个属性的名字不能相同。 (3)行和列的顺序无关紧要。

(4)关系中不能存在完全相同的行。

3.SQL Server 2008中有多少种约束?其作用分别是什么?

答:数据库中的约束包括以下五种: (1)主键约束。唯一地标识一行数据。

(2)外键约束。主要用来维护两个表之间的一致性。

(3)检查约束。通过检查输入表列数据的值来维护值域的完整性。

(4)唯一性约束。确保在非主键列中不输入重复的值。

(5)默认约。指在输入操作中没有提供输入值时,系统将自动提供给某列的值。 4. 哪些列适合创建索引?哪些列不适合创建索引?

答:适合创建索引的列:1.主键2.连接中频繁使用的列3.在某一范围内频繁搜索的列和按排序顺序频繁检索的列。

不适合创建索引的列:1.很少或从来不在查询中使用的列。 2.只有两个或很少几个值的列。3.以bit、text、image数据类型定义的列。4.数据行数很少的小表一般也不用创建索引。

5.简述备份数据的重要性。

答:对于一个实际应用的系统来说,数据是至关重要的资源,一旦丢失数据,不仅影响正常的业务活动,严重的会引起全部业务的瘫痪。数据存放在计算机上,即使是最可靠的硬件和软件也会出现系统故障或产品损坏。所以,数据库的安全性是至关重要的,应该在意外发生之前做好充分的准备工作,以便在意外发生之后有相应的措施来快速恢复数据库,并使丢失的数据减少到最少。

操作题 第一部分答案

现有关系数据库如下:

数据库名: teacher

JS (编号,姓名,性别,民族,职称,电话)

KC(课号,课程名称)

RK(教师编号,课号,课时数)

注:JS-----教师表 KC-----课程表 RK--------任课表

写出用SQL语言实现下列功能的sql语句代码:

1、建立teacher数据库。 1、Create database teacher

2、Create table js

(编号Char(5) not null primary key, 姓名Char(8) not null,

性别Char(2) not null check(性别=’ 男’or性别=’ 女’), 民族Char(10) not null, 职称Char(10) null)

3、在“JS”表中增加一条记录:

01004,李明玉, 女,回族,讲师

3、insert js values(‘01004’,’李明玉’, ‘女’,’回族’,’讲师’)

4、将JS表中“李明玉”的名字改为“李明宝”,性别改为“男”。 4、Update js set姓名=’李明宝’, 性别=’男’ where姓名=’李明玉’

5、删除01008号教师的任课记录 5、delete rk where 教师编号=’01008’

6、查询教师的任课情况,结果按教师编号升序排列 6、select * from RK order by 教师编号

7、查询男教授的基本信息,并将结果保存到njs表中

7、select * into njs from JS where 性别=’ 男’ and 职称=’ 教授’

8、查询少数民族女教师的姓名,民族,职称信息

8、select 姓名,民族,职称 from js where民族 ’汉族’

9、查询姓名中有“玉”字的女教师信息

9、select * from js where 姓名 like ‘%玉%’ and 性别=’女’

10、按职称统计教师人数,只显示人数在6人以上的信息。

10、Select 职称,count(职称) as 人数 from js group by 职称 having count(职称)>=6

11、查询任教“数据库”课程的所有教师的姓名,性别,职称,课时数

11、select 姓名,性别,职称,课时数 from js,rk,kc where js. 编号=rk. 教师编号 and

rk. 课号=kc. 课号 and 课程名称='数据库’

12、查询课时数最高的教师任课信息。

12、Select * from rk where 课时数=(select max(课时数) from rk)

13、查询课时数大于平均课时数的教师编号,课程名称及课时数。

13、Select 教师编号,课程名称,课时数 from kc,rk where rk.. 课号=kc. 课号 and 课时数>(select avg(课时数) from rk)

14、删除李明宝教师的任课记录

14、delete rk where 教师编号=(select 编号 from js where 姓名=’李明宝’)

15、创建一个视图JSST,显示姓李的教师的编号,姓名,课程名称,课时数信息。 15、Use teacher

Go

create view JSST as

select 编号,姓名,课程名称,课时数 from from js,rk,kc where js. 编号=rk. 教师编号 and rk. 课号=kc. 课号 and 姓名 like ‘李%’

16、为表kc的“课程名称”字段创建一个非惟一非聚集索引mc_ix。 16、Create nonclustered index mc_ix on kc(课程名称)

17、建立一个存储过程pro_ks,,根据指定的教师编号来查找教师的任课信息,如果找到,删除此教师的任课信息,如果未找到,显示“此教师未上课!”信息。 17、Use teacher

Go

create procedure pro_ks @jsbh char(8) as

If exists(select * from rk where 教师编号=@jsbh) Delete rk where教师编号=@jsbh Else

Print ’此教师未上课!’

18、创建一个触发器check_insert,当向RK表中插入一条记录时,检查该记录的教师编号是否在JS表中存在,检查课号是否在KC表中存在,如果有其中一项不存在,则拒绝插入。 18、CREATE TRIGGER check_insert ON RK

AFTER insert AS

Declare @xh char(10),@kch char(8)

SELECT @xh=教师编号,@kch=课号 FROM inserted

If exists(select * from JS where 编号=@xh) and exists(select * from KC where 课号=@kch) Print '插入成功!' Else begin

Print '不允许插入!' Rollback tran end

19、创建一个名为T_login的登录账户,并指定其登录密码为‘8888’,然后在teacher数据库中添加一个用户,名称为T_user,映射的登录名为T_login。并给该用户授予能够检索teacher数据库中任何表的所有数据。 19、USE TEACHER

GO

exec sp_addlogin 'T_LOGIN ', '888',

exec sp_grantdbaccess ' T_LOGIN ', 'T_USER ' exec sp_addrolemember 'db_datareader', 'T_USER '


相关文章

  • 数据库和表的使用(3)
  • MODIFY STRUCTURE命令的功能是 A. 修改记录值 B. 修改表结构 C. 修改数据库结构 D. 修改数据库或表结构 解答: B 答题正确 参考答案: B 2. 单选题: (1.0分) 当前盘当前目录下有数据库:大奖赛 dbc, ...查看


  • 自考数据库系统原理试题
  • 07.10 08.1 08.10 09.1 09.10-- 10.1 10.10-- 11.1-- 全国2007年10月高等教育自学考试 数据库系统原理试题 课程代码:04735 一.单项选择题(本大题共15小题,每小题2分,共30分) 在 ...查看


  • 会计从业资格考试培训系统使用手册
  • 会计从业资格考试培训系统用户手册 安徽省会计从业资格无纸化考试 培训系统 用户手册 南京易考无忧科技有限公司 目 录 第一章 培训系统的环境与安装 ---------------------------------------------- ...查看


  • Web程序设计沈士根版课后习题答案
  • Web考试复习资料 第一章 1.填空题 (1).NET Framework主要包括 公共语言运行库(CLR) 和 类库 (2)ASP.NET网站在编译时,首先将语言代码编译成 MSIL,微软中间语言 (3)一台IIS Web服务器IP地址为 ...查看


  • 软件测试人员面试笔试题及答案
  • 软件测试笔试试题 一.单选题 1.关于HTTP协议中状态码的表示,下列说法错误的是(A) A.1**:表示服务器错误 B.2**:表示请求成功地接收 C.3**:表示重定向 D.4**:表示客户端错误 2.在Linux中.要解包bugzil ...查看


  • 计算机数据库历年考试试题
  • 计算机数据库历年考试试题 一. 选择题 1. 数据完整性不包括 a) 主体完整性 b)实体完整性 c)参照完整性 d)自定义完整性 2. 常用的三种结构数据模型不包括 a) 关系模型 b)实体联系模型 c)层次模型 d)网状模型 3. 关系 ...查看


  • 数据库技术与应用答案(詹英)
  • 习题一 一.选择题 1.B 2.A 3.C 二.填空题 1.人工管理方式.文件管理方式.数据库系统管理方式 2.Window 身份验证模式.SQL Server身份验证模式 3..sql 4.Reporting Services 配置.No ...查看


  • 13课后习题答案
  • 第二章习题答案 一.选择题 1.A 2.A 3.A 4.C 5.D 6.A 7.D 8.B 二.判断题 1.对 2.错 3.错 4.对 三.填空题 1.数据结构 数据操作 完整性约束 关系模型 层次模型 网状模型 2.数据结构 数据操作 3 ...查看


  • Access期末考试说明
  • Access期末考试说明 拟定于第十九周周末进行期末考试,具体时间待定,说明如下: 题型及分值: 一.选择题 (50分,每题1分) 二.判断题(10分,每题1分) 三.填空题 (20分,每空2分) 四.简答题 (20分,四个小题) 各章分配 ...查看


热门内容