sql server 数据库原理及应用怎么复习
答案:1 悬赏:50 手机版
解决时间 2021-01-13 11:56
- 提问者网友:
- 2021-01-12 17:22
sql server 数据库原理及应用怎么复习
最佳答案
- 五星知识达人网友:走死在岁月里
- 2021-01-12 18:08
10. 分E-R图之间的冲突主要有属性冲突、 命名冲突
、结构冲突三种。 11. SQL语言集数据 定义
、数据 查询
、数据 操纵
、 数据_____控制______功能于一体。 12. E-R图的主要元素是______
实体型______、____
属性________、_____
联系_______。 13. 关系系统的完整性控制包括_______实体完整性_____、__参照完整性__________、______用户定义的完整性______。 14. 关系模式R的码都为单属性,则R一定是第
二
_ 范式。 15. 数据库系统一般包括数据库、_____
数据库管理系统______、______
应用系统_____、____
数据库管理员_______与用户。 16. 从关系规范化理论的角度讲,一个只满足1NF的关系可能存在的四方面问题是:数据 冗余度大、_______
插入异常_______、修改异常和删除异常。 17. 如果两个实体之间具有m:n联系,则将它们转换为关系模型的结果是_____3____个表。 18. 数据库设计的一般步骤有:需求分析、概念结构设计
、 逻辑结构设计
、
物理结构设 计
、 数据库的实施
、运行与维护等。 19.语句 select ascii('D'), char(67) 的执行结果是:
____68_____和
___C_____。 20.语句 select lower('Beautiful') , rtrim('我心中的太阳 ') 的执行结果是:
beautiful ___和_
我心中的太阳____。 21.完整性约束包括__
实体___完整性、__
域____完整性、参照完整性和用户定义完整性。 22.在SQL Server 2008中,数据库对象包括_
表__、__视图
__、触发器、过程、列、索引、约束、规则、默认和用户自定义的数据类型等。 23.语句 select day('2004-4-6'), len('我们快放假了.') 的执行结果是:
__6___和
__7___。 24.语句 select round(13.4321,2), round(13.4567,3)的执行结果是:
__13.4300__和
____13.4570_____。<取n位小数、四舍五入> 25.事务(Transaction)可以看成是由对数据库的若干操作组成的一个单元,这些操作要么__
全部完成___,要么_
全部取消______(如果在操作执行过程中不能完成其中任一操作)。 26. SQL Server 2008 采用的身份验证模式有__Windows
身份验证___模式和__
混
合_模式。 27触发器定义在一个表中,当在表中执行
__insert______、
__update___或delete操作时被触发自动执行。 28.SQL Server复制有快照复制、___
事务____复制和__
合并___复制3种类型。
简答题 1. 说明视图与基本表的区别和联系。 答:视图是从一个或几个基本表导出的表,它与基本表不同,它是一个虚表,(2分)数据库中只存放视图的定义,而不存放视图对应的数据,这些数据存放在原来的基本表中,当基本表中的数据发生变化,从视图中查询出的数据也就随之改变(2分)。视图一经定义就可以像基本表一样被查询、删除,也可以在一个视图之上再定义新的视图,但是对视图的更新操作有限制(1分)。 2. 简述事务的特性。 答:事务具有四个特性,即ACID特性:(1分) (1)原子性:事务中包括的所有操作要么都做,要么都不做。(1分) (2)一致性:事务必须使数据库从一个一致性状态变到另一个一致性状态。(1分) (3)隔离性:一个事务内部的操作及使用的数据对并发的其他事务是隔离的。(1分) (4)持续性:事务一旦提交,对数据库的改变是永久的。(1分) 3. 试述关系模型的参照完整性规则。 答:参照完整性规则:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系)(2分),则对于R中每个元组在F上的值必须为:取空值(F的每个属性值均为空值)(1.5分)或者等于S中某个元组的主码值(1.5分)。 4. 简述系统故障时的数据库恢复策略。 答:正像扫描日志文件,找出在故障发生前已经提交的事务,将其事务标识记入REDO队列,同时找出故障发生时尚未完成的事务,将其事务标识记入UNDO队列(2分);对UNDO队列中的各个事务进行撤销处理(1.5分);对REDO队列中的各个事务进行重做处理。(1.5分) 5.在SQL Server 2008中,使用视图的好处是什么? 答: (1) 为用户集中需要的数据,简化了数据的用户操作; (2) 对用户隐藏了数据库设计的复杂性; (3) 简化用户权限的管理; (4) 组织数据导出到其它应用程序; 6. 简述使用游标的步骤。 答: Step1:声明游标:declare 游标名 cursor for select语句; Step2:打开游标:open 游标名; Step3:处理数据: fetch insert delete update语句 Step4:关闭游标:close 游标名; Step5:释放游标:deallocate 游标名; 7.简述SQL Server 2008的安全性管理机制,涉及登录账号、用户、角色以及权限分配。 答:
(1)计算机的连接 (2)SQL Server服务器登录(登录、固定服务器角色) (3)数据库的访问(用户/角色:固定/自定义数据库角色) (4)数据表(视图)的访问(select insert update delete) (5)存储过程/内嵌表值函数的访问(execute/select) (6)数据表(视图)中列(字段)的访问(select update) 8. 事务控制语句的使用方法是什么? 答: begin transaction „„ -- A组语句序列 save transaction 保存点1 „„ -- B组语句序列 if @@error <> 0 rollback transaction 保存点1 --若发生错误,回滚到”保存点1” else commit transaction --若没有错误,先提交A组语句,再提交B组语句。 五、设计题 现有关系数据库如下: 数据库名:学生成绩数据库 学生表(*学号,姓名,性别,民族) 课程表(*课程号,课程名称,任课教师) 成绩表(*学号,*课程号,分数) 用SQL语言实现下列功能的sql语句代码:
1. 创建数据库[学生成绩数据库]代码(2分); create database [学生成绩数据库] go use [学生成绩数据库] go 2. 创建[课程表]代码(2分); 课程表(课号 char(6),名称)
要求使用:主键(课号)、非空(名称) create table课程表( [课程号] char(6) primary key, [课程名称] char(40) not null ) 3. 创建[学生表]代码(2分);
学生表(学号 char(6),姓名,性别,民族)
要求使用:主键(学号)、默认(民族)、非空(民族,姓名)、检查(性别) create table 学生表( [学号] char(6) primary key, [姓名] nchar(4) not null, [性别] nchar(1) check ([性别] in ('男', '女')), [民族] nchar(8) default '汉' not null ) 4. 创建[成绩表]代码(2分);
成绩表(学号,课程号,分数) 要求使用:外键(成绩表.学号,成绩表.课程号)、检查(分数) create table成绩表( [学号] char(6) references 学生表(学号), [课程号] char(6) references 课程表(课号), [成绩] integer check ([成绩] between 0 and 100) )
5. 将下列课程信息添加到课程表中 课号 课程名称 100001 大学语文 100002 大学英语 100003 西班牙语 insert 课程表 values('100001', '大学语文') insert 课程表 values('100002', '大学英语') insert 课程表 values('100003', '西班牙语')
6. 写出创建成绩表视图(学号,姓名,课号,课程名称,成绩)的代码; create view [成绩表视图] as select 成绩表.学号,学生表.姓名,成绩表.课程号,课程表.课程名称,成绩表.成绩 from 成绩表,学生表,课程表 where 成绩表.学号=学生表.学号 and 成绩表
.课号=课程表.课号 7. 写出创建分数存储过程用于计算某门课程成绩最高分、最低分、平均分 create procedure [分数] @课程名 nchar(16) as select 课程名称, 最高分=max(分数)、最低分=min(分数)、平均分=avg(分数) from 成绩表视图 where 课程名称 = @课程名 8. 检索姓李的女同学的信息:姓名、性别、民族。
Select 姓名,性别,民族 From 学生表 Where 姓名 like ‘李%’ and 性别=’女’ 9. 定义一事务向成绩表中插入学号=‘20030021’的多条记录,并检验若该同学
成绩超过4门,则回滚事务,即成绩无效,否则成功提交。 Begin transaction Insert 成绩表 values(‘20030021’,’001’,88); Insert 成绩表 values(‘20030021’,’002’,99); Insert 成绩表 values(‘20030021’,’003’,77); Insert 成绩表 values(‘20030021’,’004’,66); Declare @num int; Set @num=(select count(*) from 成绩表 where 学号=’20030021’); If @num>4 Rollback transaction; Else Commit transaction; Go
、结构冲突三种。 11. SQL语言集数据 定义
、数据 查询
、数据 操纵
、 数据_____控制______功能于一体。 12. E-R图的主要元素是______
实体型______、____
属性________、_____
联系_______。 13. 关系系统的完整性控制包括_______实体完整性_____、__参照完整性__________、______用户定义的完整性______。 14. 关系模式R的码都为单属性,则R一定是第
二
_ 范式。 15. 数据库系统一般包括数据库、_____
数据库管理系统______、______
应用系统_____、____
数据库管理员_______与用户。 16. 从关系规范化理论的角度讲,一个只满足1NF的关系可能存在的四方面问题是:数据 冗余度大、_______
插入异常_______、修改异常和删除异常。 17. 如果两个实体之间具有m:n联系,则将它们转换为关系模型的结果是_____3____个表。 18. 数据库设计的一般步骤有:需求分析、概念结构设计
、 逻辑结构设计
、
物理结构设 计
、 数据库的实施
、运行与维护等。 19.语句 select ascii('D'), char(67) 的执行结果是:
____68_____和
___C_____。 20.语句 select lower('Beautiful') , rtrim('我心中的太阳 ') 的执行结果是:
beautiful ___和_
我心中的太阳____。 21.完整性约束包括__
实体___完整性、__
域____完整性、参照完整性和用户定义完整性。 22.在SQL Server 2008中,数据库对象包括_
表__、__视图
__、触发器、过程、列、索引、约束、规则、默认和用户自定义的数据类型等。 23.语句 select day('2004-4-6'), len('我们快放假了.') 的执行结果是:
__6___和
__7___。 24.语句 select round(13.4321,2), round(13.4567,3)的执行结果是:
__13.4300__和
____13.4570_____。<取n位小数、四舍五入> 25.事务(Transaction)可以看成是由对数据库的若干操作组成的一个单元,这些操作要么__
全部完成___,要么_
全部取消______(如果在操作执行过程中不能完成其中任一操作)。 26. SQL Server 2008 采用的身份验证模式有__Windows
身份验证___模式和__
混
合_模式。 27触发器定义在一个表中,当在表中执行
__insert______、
__update___或delete操作时被触发自动执行。 28.SQL Server复制有快照复制、___
事务____复制和__
合并___复制3种类型。
简答题 1. 说明视图与基本表的区别和联系。 答:视图是从一个或几个基本表导出的表,它与基本表不同,它是一个虚表,(2分)数据库中只存放视图的定义,而不存放视图对应的数据,这些数据存放在原来的基本表中,当基本表中的数据发生变化,从视图中查询出的数据也就随之改变(2分)。视图一经定义就可以像基本表一样被查询、删除,也可以在一个视图之上再定义新的视图,但是对视图的更新操作有限制(1分)。 2. 简述事务的特性。 答:事务具有四个特性,即ACID特性:(1分) (1)原子性:事务中包括的所有操作要么都做,要么都不做。(1分) (2)一致性:事务必须使数据库从一个一致性状态变到另一个一致性状态。(1分) (3)隔离性:一个事务内部的操作及使用的数据对并发的其他事务是隔离的。(1分) (4)持续性:事务一旦提交,对数据库的改变是永久的。(1分) 3. 试述关系模型的参照完整性规则。 答:参照完整性规则:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系)(2分),则对于R中每个元组在F上的值必须为:取空值(F的每个属性值均为空值)(1.5分)或者等于S中某个元组的主码值(1.5分)。 4. 简述系统故障时的数据库恢复策略。 答:正像扫描日志文件,找出在故障发生前已经提交的事务,将其事务标识记入REDO队列,同时找出故障发生时尚未完成的事务,将其事务标识记入UNDO队列(2分);对UNDO队列中的各个事务进行撤销处理(1.5分);对REDO队列中的各个事务进行重做处理。(1.5分) 5.在SQL Server 2008中,使用视图的好处是什么? 答: (1) 为用户集中需要的数据,简化了数据的用户操作; (2) 对用户隐藏了数据库设计的复杂性; (3) 简化用户权限的管理; (4) 组织数据导出到其它应用程序; 6. 简述使用游标的步骤。 答: Step1:声明游标:declare 游标名 cursor for select语句; Step2:打开游标:open 游标名; Step3:处理数据: fetch insert delete update语句 Step4:关闭游标:close 游标名; Step5:释放游标:deallocate 游标名; 7.简述SQL Server 2008的安全性管理机制,涉及登录账号、用户、角色以及权限分配。 答:
(1)计算机的连接 (2)SQL Server服务器登录(登录、固定服务器角色) (3)数据库的访问(用户/角色:固定/自定义数据库角色) (4)数据表(视图)的访问(select insert update delete) (5)存储过程/内嵌表值函数的访问(execute/select) (6)数据表(视图)中列(字段)的访问(select update) 8. 事务控制语句的使用方法是什么? 答: begin transaction „„ -- A组语句序列 save transaction 保存点1 „„ -- B组语句序列 if @@error <> 0 rollback transaction 保存点1 --若发生错误,回滚到”保存点1” else commit transaction --若没有错误,先提交A组语句,再提交B组语句。 五、设计题 现有关系数据库如下: 数据库名:学生成绩数据库 学生表(*学号,姓名,性别,民族) 课程表(*课程号,课程名称,任课教师) 成绩表(*学号,*课程号,分数) 用SQL语言实现下列功能的sql语句代码:
1. 创建数据库[学生成绩数据库]代码(2分); create database [学生成绩数据库] go use [学生成绩数据库] go 2. 创建[课程表]代码(2分); 课程表(课号 char(6),名称)
要求使用:主键(课号)、非空(名称) create table课程表( [课程号] char(6) primary key, [课程名称] char(40) not null ) 3. 创建[学生表]代码(2分);
学生表(学号 char(6),姓名,性别,民族)
要求使用:主键(学号)、默认(民族)、非空(民族,姓名)、检查(性别) create table 学生表( [学号] char(6) primary key, [姓名] nchar(4) not null, [性别] nchar(1) check ([性别] in ('男', '女')), [民族] nchar(8) default '汉' not null ) 4. 创建[成绩表]代码(2分);
成绩表(学号,课程号,分数) 要求使用:外键(成绩表.学号,成绩表.课程号)、检查(分数) create table成绩表( [学号] char(6) references 学生表(学号), [课程号] char(6) references 课程表(课号), [成绩] integer check ([成绩] between 0 and 100) )
5. 将下列课程信息添加到课程表中 课号 课程名称 100001 大学语文 100002 大学英语 100003 西班牙语 insert 课程表 values('100001', '大学语文') insert 课程表 values('100002', '大学英语') insert 课程表 values('100003', '西班牙语')
6. 写出创建成绩表视图(学号,姓名,课号,课程名称,成绩)的代码; create view [成绩表视图] as select 成绩表.学号,学生表.姓名,成绩表.课程号,课程表.课程名称,成绩表.成绩 from 成绩表,学生表,课程表 where 成绩表.学号=学生表.学号 and 成绩表
.课号=课程表.课号 7. 写出创建分数存储过程用于计算某门课程成绩最高分、最低分、平均分 create procedure [分数] @课程名 nchar(16) as select 课程名称, 最高分=max(分数)、最低分=min(分数)、平均分=avg(分数) from 成绩表视图 where 课程名称 = @课程名 8. 检索姓李的女同学的信息:姓名、性别、民族。
Select 姓名,性别,民族 From 学生表 Where 姓名 like ‘李%’ and 性别=’女’ 9. 定义一事务向成绩表中插入学号=‘20030021’的多条记录,并检验若该同学
成绩超过4门,则回滚事务,即成绩无效,否则成功提交。 Begin transaction Insert 成绩表 values(‘20030021’,’001’,88); Insert 成绩表 values(‘20030021’,’002’,99); Insert 成绩表 values(‘20030021’,’003’,77); Insert 成绩表 values(‘20030021’,’004’,66); Declare @num int; Set @num=(select count(*) from 成绩表 where 学号=’20030021’); If @num>4 Rollback transaction; Else Commit transaction; Go
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯