SQL复习提纲1

上传人:ali****an 文档编号:110990769 上传时间:2019-11-01 格式:DOC 页数:10 大小:83KB
返回 下载 相关 举报
SQL复习提纲1_第1页
第1页 / 共10页
SQL复习提纲1_第2页
第2页 / 共10页
SQL复习提纲1_第3页
第3页 / 共10页
SQL复习提纲1_第4页
第4页 / 共10页
SQL复习提纲1_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《SQL复习提纲1》由会员分享,可在线阅读,更多相关《SQL复习提纲1(10页珍藏版)》请在金锄头文库上搜索。

1、SQL复习提纲(注:对于填空题答案注释部分可根据自己需求有选择性的打印)一、填空题:1、所有SQL Server 2008数据库在默认情况下都包括了一个主数据文件和一个日志文件。2、SQL Server 2008数据库是存储数据的容器,其对象主要包括 表 、视图、 索引、存储过程等。3、SQL Server支持单独使用一种备份方式或组合使用多种备份方式。备份方式包括 完全数据库备份 、数据库和事务日志备份、差异备份和数据库文件或文件组备份。 4、事务是SQL Server中的执行单元,它由一系列T-SQL语句组成。事务的处理必须满足ACID原则,即原子性(Atomicity)、一致性(Cons

2、istency)、隔离性(Isolation)和持久性(Durability)。 5、将Windows NT域Shanghai中的user用户加入到SQL Server中,相应的T-SQL语句为(EXEC sp_grantlogin)。答案释义:EXECEXECUTE执行标量值的用户定义函数、系统过程、用户定义存储过程或扩展存储过程。同时支持 Transact-SQL 批处理内的字符串的执行 若要唤醒调用函数,请使用 EXECUTE stored_procedure 中描述的语法。sp_grantlogin(摘自msdn):Syntaxsp_grantlogin loginame = logi

3、nArgumentsloginame = loginIs the name of the Windows NT user or group to be added. The Windows NT user or group must be qualified with a Windows NT domain name in the form DomainUser, for example LondonJoeb. login is sysname, with no default. 6、当用户对数据库并发访问时,为了确保事务完整性和数据库的一致性,需要使用锁定,它是实现数据库并发控制的主要手段。

4、具体地说,锁可以防止丢失更新, 脏读 ,不可重复读 和幻读。7、SQL Server 2008有两类数据库:系统数据库和用户数据库 。前者存储有关SQL Server的系统信息,是SQL Server管理系统的依据;而后者是用户创建的数据库,两类数据库在结构上相同。8、创建一个混合认证模式下的没有密码和默认数据库的SQL Server登录帐号userlogin,相应的T-SQL语句为(EXEC sp_addlogin userlogin)。答案释义:语法如下:sp_addlogin loginame = login , passwd = password , defdb = database

5、, deflanguage = language , sid = sid , encryptopt = encryption_option ;9、SQL Server有两种类型索引,分别为聚集索引、非聚集索引,每个表只能有一个 聚集索引,可以有多个非聚集索引。 10、创建一个用户自定义数据类型birthday,要求其为samlldate类型,允许为空值,相应的T-SQL语句:(sp_addtypebirthday, smalldate,null)答案释义:语法如下:sp_addtype typename (别名数据类型的名称)= type, phystype(别名数据类型所基于的物理数据类型或

6、 SQL Server 提供的数据类型) = system_data_type , nulltype(指示别名数据类型处理空值的方式) = null_type ; 11、SQL Server 支持标量函数、内嵌表值函数和多语句表值函数 三种用户定义函数。 12、复制是指将从一个数据库将数据和数据库对象复制和分发到另一个数据库,然后使两个数据库之间的信息同步以获得一致性的进程。SQL Server支持三种类型的复制:事务复制、快照复制和合并复制。二、简答题:1、说明事务日志的工作方式和作用。1、答:每个数据库都有事务日志,用以记录所有事务和每个事务对数据库所做的修改。日志能够自动跟踪数据库的变更

7、,在对数据的修改动作发生后,并且在数据写入磁盘之前,SQL Server将把相关的修改过程写入事务日志。记录事务日志的作用:恢复个别的事务,SQL Server启动时恢复所有未完成的事务,将还原的数据库前滚到故障点。2、SQL Server2008的安全模型分为哪三层结构?简要说明每个层次的作用。a.服务器安全管理:实现对SQL Server实例的账户、服务器配置、设备、进程等方面的管理,这部分工作通过固定的服务器角色来实现;b.数据库安全管理:数据库安全管理对实例下的数据库用户、数据库备份、恢复等功能的管理,这部分工作通过固定的数据库角色来实现;c.对象安全管理:数据对象访问权限定义了用户对

8、数据库中数据对象的引用、数据操作语句的许可权限。这部分工作通过定义对象和语句的许可权限来实现。3、数据导入/导出的含义是什么?导入/导出是数据库系统与外部进行数据交换的操作。导入数据是从外部数据源中检索数据,并将数据插入到SQL Server表的过程,即把其他系统的数据引入到SQL Server的数据库中。导出数据是将SQL Server数据库中的数据转换为某些用户指定格式的过程,即把数据从SQL Server数据库中引到其他系统。4、说明事务的概念及其特点。事务是数据处理的逻辑单元,是数据库上一个或多个操作的集合,是一个不可分割的工作单位。使用事务用来保证数据完整性,它有原子性、一致性、隔离

9、性和持久性。5、说明SQL Server数据库文件的类型和作用。(1)主数据文件,是数据库的关键文件,包含了数据库的启动信息,并且存储数据。每个数据库必须有且仅能有一个主文件。(2)辅助数据文件,用于存储未包括在主文件内的其他数据。是可选的。(3)日志文件,用于保存恢复数据库所需的事务日志信息,每个数据库文件至少包含一个日志文件。6、试简要说明索引的优点和缺点。优点:(1)快速存取数据;(2)保证数据记录的唯一性;(3)实现表与表之间的参照完整性;(4)在使用order by,group by子句进行数据检索时,利用索引可以减少排序和分组时间。缺点:(1)创建索引要花费时间和占用存储空间;(2

10、)建立索引加快了数据检索速度,却减慢了数据修改速度(索引需要动态维护)。7、数据完整性有几种类型?各自的实现方法有哪些?数据完整性一般包括三种:域完整性、实体完整性、参照完整性。(1)实现域完整性的方法可通过限制类型(使用数据类型)、定义相应的规则、约束、默认值对象等方法实现。(2)实体完整性可以通过索引、UNIQUE约束、PRIMARY KEY约束或IDENTITY属性来实现。(3)参照完整性:通过定义主键与外键之间或外键与唯一键之间的对应关系实现,确保键值在所有表中一致。8、什么是自动化管理,SQL Server支持自动化管理任务的主要组件有哪些? 自动化管理就是按照计划对可预测的管理职责

11、和服务器事件作出响应。SQL Server支持自动化管理的组件包括:作业、警报和操作员。9、为什么要对数据库实行并发控制?答:数据库的并发控制就是为了控制数据库,防止多用户并发使用数据库时造成数据错误和程序运行错误,保证数据的完整性。10、什么是死锁?如何预防死锁?答:两个事务分别锁定某个资源,而又分别等待对方释放其锁定的资源时,将发生死锁。预防死锁的实质是破坏产生死锁的条件:(1)按同一顺序访问资源(2)避免事务中的用户交互(3)保持事务简短(4)使用低隔离级别。三、基本T-SQL语句(一)数据库ygpx(员工培训)有如下库结构: 1课程表C:字段名类型长度说明描述CIDchar6主键课程号

12、CNamevarchar20not null课程名称CTeachervarchar10not null任课教师Notetextnull备注2学员表S:字段名类型长度说明描述SIDchar8主键学号SNamevarchar12not null学员姓名Departmentvarchar40not null所属单位Agetinyintnot null学员年龄3.学员成绩表SC:字段名类型长度说明描述SIDchar8主键学号CIDfloat6主键课程号Gradefloat8not null成绩(1)创建学员表S,并设置SID为主键。use ygpxcreate table S (SID char(8)

13、 not null primary key, SName varchar(12) not null, Department varchar(40) not null, Age tinyint not null )go(2)查询选修课程超过5门的学员姓名和所属单位。use ygpxselect SName,Department from Swhere SID in (select SID from SC group by SID having count(distinct CID)5)go其中distinct可以省略。(3)将课程表C中课程名称为面向对象程序设计的记录中任课教师姓名改为汪海,备注

14、改为第三学期开课。use ygpxupdate C set CTeacher=汪海,Note=第三学期开课 Where CName=面向对象程序设计go(4)查询每位学员的学号及选修课程平均成绩,并按由高到低的顺序排列。use ygpxselect SID,avg(Grade)from Student_Coursegroup by SIDorder by avg(Grade) descgo(二)、T-SQL语句编程数据库ygpx结构同上。(1)创建一个存储过程up_C,从课程表C查询指定教师所任教的课程名称,若不指定教师姓名则默认查询姓张的教师所要任教的全部课程名称。use ygpxcreate procedure up_C Tname varchar(10)= 张%as select CName from C where CTeacher like Tnamego(2)为学员表S创建一个删除触发器tr_SDel,当删除学员表S中的一个学员资料时,将学员成绩表中相应的学员成绩数据删除掉。use ygpxgocreate trigger tr_

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号