《数据库(SQLServer)综合复习教案.ppt》由会员分享,可在线阅读,更多相关《数据库(SQLServer)综合复习教案.ppt(67页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、最后一讲最后一讲 复习复习31-1 考试题型考试题型31-2 考试内容复习考试内容复习31-1 考试题型考试题型l单项选择题单项选择题 20分分l判断题判断题 10分分l填空题填空题 30分分l设计题设计题 40分分31-2 考试内容复习考试内容复习l数据库基础知识数据库基础知识lSqlServer2005简介简介l数据库的设计数据库的设计lT-Sql语言语言l数据库数据库l数据表数据表l数据操作数据操作l数据完整性数据完整性l数据查询数据查询l存储过程存储过程l触发器触发器l视图视图一、数据库基础知识一、数据库基础知识l几个重要概念几个重要概念l数据库三要素数据库三要素l数据库分类(关系数据
2、库)数据库分类(关系数据库)l数据库系统三级模式结构数据库系统三级模式结构l数据库的应用数据库的应用返回目录返回目录一、数据库基础知识一、数据库基础知识1.几个重要概念几个重要概念数据(数据(Data)数据库(数据库(DB)p14数据库管理系统(数据库管理系统(DBMS)p16数据库系统(数据库系统(DBS)p15数据库用户(数据库用户(DBA)一、数据库基础知识一、数据库基础知识2.数据库三要素数据库三要素数据结构数据结构数据操作数据操作数据的约束条件数据的约束条件一、数据库基础知识一、数据库基础知识3.数据库分类(关系数据库)数据库分类(关系数据库)层次数据库层次数据库网状数据库网状数据库
3、关系数据库关系数据库 关系:二维表,实体间的联系关系:二维表,实体间的联系 基本概念:元组、属性、关键字、域基本概念:元组、属性、关键字、域一、数据库基础知识一、数据库基础知识4.数据库三级模式结构数据库三级模式结构外模式外模式模式模式内模式内模式一、数据库基础知识一、数据库基础知识5.数据库系统的应用C/SB/S返回返回二、二、SqlServer2005简介简介lSqlServer2005概述概述lSqlServer2005核心管理工具介绍核心管理工具介绍返回目录返回目录二、二、SQL Server 2005简介简介1.SqlServer2005概述概述基于基于C/S体系结构的关系型数据库管
4、理系统,使体系结构的关系型数据库管理系统,使用用Transact-SQL语句在语句在Server和和Client之间传送之间传送请求请求二、二、SQL Server 2005简介简介2.SqlServer2005核心管理工具介绍核心管理工具介绍 SQL Server Management Studio是其核心是其核心的管理工具,可以用来配置数据库系统、建立的管理工具,可以用来配置数据库系统、建立或删除数据库对象、设置或取消用户的访问权或删除数据库对象、设置或取消用户的访问权限等。限等。重要窗口:重要窗口:对象资源管理器窗口对象资源管理器窗口 和和 查询窗口查询窗口返回返回三、数据库的设计三、数
5、据库的设计l数据库设计步骤数据库设计步骤l构建构建E-R模型模型l数据库设计的规范化数据库设计的规范化返回目录返回目录三、数据库的设计三、数据库的设计1.数据库设计步骤数据库设计步骤三、数据库的设计三、数据库的设计2.构建构建E-R模型模型 EntityRelationship 描述实体与实体间的关系 三个基本概念三个基本概念实体实体关系关系属性属性学生学生系部系部管理管理被管理者管理者N1三、数据库设计三、数据库设计3.数据库设计的规范化数据库设计的规范化 数据库设计时存在的问题:数据库设计时存在的问题:数据冗余数据冗余 数据表更新异常(数据不一致)数据表更新异常(数据不一致)2.规范化规范
6、化 第一范式、第二范式、第三范式第一范式、第二范式、第三范式返回返回四、四、T-Sql语言语言lSQL语言简介语言简介lSQL语言特点语言特点lSQL语言内容语言内容l常量、变量常量、变量l函数函数l运算符运算符l流程控制语句流程控制语句返回目录返回目录四、四、T-Sql语言语言1.SQL语言简介语言简介 SQL(Structured Query Language)结构结构化查询语言。化查询语言。2.SQL语言特点语言特点综合统一综合统一高度非过程化高度非过程化语言简洁,易学易用语言简洁,易学易用 核心动词核心动词四、四、T-Sql语言语言3.SQL语言包含语言包含4个部分:个部分:数据定义语
7、言数据定义语言(DDL)例如:例如:CREATE、ALTER、DROP。数据操作语言数据操作语言(DML)例如:例如:INSERT、UPDATE、DELETE。数据查询语言数据查询语言(DQL)例如:例如:SELECT语句。语句。数据控制语言数据控制语言(DCL)例如:例如:GRANT、REVOKE、ROLLBACK。四、四、T-Sql语言语言4.常量和变量常量和变量 常量常量.字符串、日期时间常量用单引号字符串、日期时间常量用单引号 标示;标示;.日期常量的格式日期常量的格式yyyy-mm-dd hh:mm:ss am|pm;.货币常量前缀货币常量前缀$380.2。变量变量 .局部变量局部变
8、量 .全局变量全局变量四、四、T-Sql语言语言变量变量 .局部变量局部变量 由一个由一个符号开始符号开始声明:声明:Declare 局部变量名局部变量名 数据类型数据类型,n 声明时它被初始化为声明时它被初始化为Null赋值:赋值:Set/Select 局部变量名局部变量名=表达式表达式输出:输出:Select 局部变量名局部变量名,n四、四、T-Sql语言语言.全局变量全局变量 名字由名字由符号开始。符号开始。两者的区别?两者的区别?注意:命名规则注意:命名规则 只能以字母、汉字或是只能以字母、汉字或是“_”开头开头 不能与关键字重名不能与关键字重名 不能包含空格,不能包含空格,*,&等特
9、殊符号等特殊符号四、四、T-Sql语言语言5.函数函数日期函数日期函数 系统日期时间系统日期时间 GETDATE()日期日期 加加 DATEADD(格式串格式串,数数值,日期日期)日期日期 差差 DATEDIFF(格式串格式串,日期日期1,日期日期2)四、四、T-Sql语言语言字符串函数字符串函数 ASCII码码 ASCII(字符表达式字符表达式)字符字符 CHAR(数字表达式数字表达式)长长度度 LEN(字符表达式字符表达式)左截取左截取 LEFT(字符表达式字符表达式,整数整数)右截取右截取 RIGHT(字符表达式字符表达式,整数整数)中中间间截取截取 SUBSTRING(字符表达式字符表
10、达式,起始点起始点,n)四、四、T-Sql语言语言数学函数数学函数CEILING(数字表达式数字表达式)取整函数取整函数FLOOR(数字表达式数字表达式)取整函数取整函数ROUND(数字表达式数字表达式,小数位数小数位数)四舍五入四舍五入集合函数(聚合函数)集合函数(聚合函数)名称最大最小求和平均计数函数MAXMINSUMAVGCOUNT四、四、T-Sql语言语言6.运算符运算符算数运算符算数运算符 加加(+)、减、减(-)、乘、乘(*)、除、除(/)和取余和取余(%)赋值运算符赋值运算符 等号等号(=)比较运算符比较运算符 大于大于()、大于等于、大于等于(=)、等于、等于(=)、不等、不等
11、于于()、小于、小于()、小于等于、小于等于(字符串字符串比较比较逻辑逻辑赋值运算符赋值运算符 具体见具体见P184页页四、四、T-Sql语言语言7.流程控制语句流程控制语句Print语句语句 Print 字符串字符串|局部变量局部变量|全局变全局变量量复合语句复合语句 Begin EndIf Else语句语句 If 逻辑表达式逻辑表达式 T-sql语句语句1 Else T-sq语句语句2 注释语句注释语句 /*/和和 返回返回五、数据库五、数据库lSqlServer2005系统数据库系统数据库l数据库文件类型数据库文件类型lT-SQl创建数据库创建数据库lT-SQl修改数据库修改数据库lT-
12、SQl删除数据库删除数据库l数据库的备份和恢复数据库的备份和恢复返回目录返回目录五、数据库五、数据库1.SqlServer2005系统数据库系统数据库Master 记录了记录了SQL Server系统级的信息系统级的信息 Model 是所有数据库的模板是所有数据库的模板 Msdb 被被SQL Server代理用于安排报警、代理用于安排报警、作业调度以及记录操作员等活动作业调度以及记录操作员等活动Tempdb 用于存放所有连接到系统的用户临用于存放所有连接到系统的用户临时表和临时存储过程以及时表和临时存储过程以及SQL Server产生的产生的其他临时性的对象其他临时性的对象五、数据库五、数据库
13、2.数据库文件类型数据库文件类型主文件(主文件(*.mdf)每个数据库都必须有一个每个数据库都必须有一个主文件主文件(有且只有一个有且只有一个)。次要文件(次要文件(*.ndf)一个数据库可以没有也可一个数据库可以没有也可以有多个次要文件。以有多个次要文件。事务日志文件(事务日志文件(*.ldf)包含用于恢复数据库)包含用于恢复数据库的日志信息。每个数据库必须至少有一个日志的日志信息。每个数据库必须至少有一个日志文件。文件。五、数据库五、数据库3.T-SQl创建数据库创建数据库 Create DatabaseCreate Database 数据库名数据库名【On|Log On (Name=逻辑
14、文件名,逻辑文件名,Filename=物理文件名物理文件名,Size=初始文件大小,初始文件大小,Maxsize=文件最大值或标明不受限文件最大值或标明不受限Unlimited,Filegrowth=文件自动增量)文件自动增量)】五、数据库五、数据库4.T-SQl修改数据库修改数据库 Alter Database Add File 增加数据文件增加数据文件 Modify File 修改数据文件修改数据文件 Remove File 删除数据文件删除数据文件 Add Log File 增加日志文件增加日志文件 Modify Log File 修改日志文件修改日志文件 Remove Log File
15、 删除日志文件删除日志文件五、数据库五、数据库5.删除数据库删除数据库 Drop Database 数据库名数据库名,n6.数据库的备份和恢复数据库的备份和恢复 备份:完整备份、差异备份、事务日志备份、备份:完整备份、差异备份、事务日志备份、文件和文件组备份(单独进行)文件和文件组备份(单独进行)恢复模式:简单、完整、大容量日志恢复模式:简单、完整、大容量日志返回返回六、数据表六、数据表T-SQll创建数据表创建数据表l修改数据表修改数据表l删除数据表删除数据表返回目录返回目录六、数据表六、数据表1.创建数据表创建数据表 Create Table Create Table 表名表名 (列名(列
16、名1 数据类型数据类型 列限定列限定,列名列名2 数据类型数据类型 列限定列限定,n)六、数据表六、数据表2.修改数据表修改数据表 Alter Table添加列添加列 Alter Table 表名表名 Add 列名列名 数据类型数据类型 ,n修改列修改列 Alter Table 表名表名 Alter Column 列名列名 数据类型数据类型删除列删除列 Alter Table 表名表名 Drop Column 列名列名,n六、数据表六、数据表3.修改数据表修改数据表 Drop Table 数据表名数据表名,返回返回七、数据操作七、数据操作l插入数据插入数据l修改数据修改数据l删除数据删除数据返
17、回目录返回目录七、数据操作七、数据操作1.插入数据插入数据 insert into 表名表名(列名,列名,)Values(值,(值,)注意注意插入值一定要与数据表定义的数据类型一致,插入值一定要与数据表定义的数据类型一致,采用默认值时写采用默认值时写Default,如果是空值写,如果是空值写Null插入值的数量和顺序与字段名列表中的一致插入值的数量和顺序与字段名列表中的一致七、数据操作七、数据操作2.修改数据修改数据 Update 表名表名 Set 列名列名=新值新值,列名,列名2=新值新值2,n Where 条件条件3.删除数据删除数据 Delete from 表名 Where 条件七、数据
18、操作七、数据操作注意注意更新的值一定要与数据表定义的数据类型一致,更新的值一定要与数据表定义的数据类型一致,采用默认值时写采用默认值时写Default,如果是空值写,如果是空值写Null插入值的数量和顺序与字段名列表中的一致插入值的数量和顺序与字段名列表中的一致返回返回八、数据完整性八、数据完整性l数据完整性的定义数据完整性的定义l数据完整性的分类数据完整性的分类l数据完整性的实施方法数据完整性的实施方法l使用约束实现完整性约束使用约束实现完整性约束返回目录返回目录八、数据完整性八、数据完整性1.数据完整性的定义数据完整性的定义 用于保证数据库中数据的用于保证数据库中数据的正确性正确性、一致性
19、一致性和和可靠性可靠性。2.数据完整性的分类数据完整性的分类实体完整性实体完整性域完整性域完整性参照完整性参照完整性用户定义完整性用户定义完整性八、数据完整性八、数据完整性3.数据完整性的实施方法数据完整性的实施方法声明声明数据完整性数据完整性 在对象定义中来实现,包括各种在对象定义中来实现,包括各种约束、默认、规则。约束、默认、规则。过程过程数据完整性数据完整性 利用脚本语言来实现,包括触发利用脚本语言来实现,包括触发器、存储过程。器、存储过程。八、数据完整性八、数据完整性4.使用约束使用约束NOTNULL(非非空)约束空)约束PRIMARY KEY(主键)约束(主键)约束 DEFAULT(
20、默认)约束(默认)约束 UNIQUE(唯一性)约束(唯一性)约束 CHECK(检查)约束(检查)约束 FOREIGN KEY(外键)约束(外键)约束实体完整性域完整性参照完整性八、数据完整性八、数据完整性l创建【学生信息表】,包括如下列创建【学生信息表】,包括如下列 学号学号 nchar(8)主键主键 姓名姓名 nvarchar(5)不允许为空不允许为空 性别性别 nchar(1)只取只取男男或或女女 民族民族 nvarchar(10)默认默认汉族汉族 身份证号身份证号 nvarchar(20)要求必须唯一要求必须唯一 班级编号班级编号 nchar(6)外键为班级信息表外键为班级信息表编号编号
21、列列 级联更新级联更新Primary KeyNot NullCheck(性别性别=男男 or 性别性别=女女)Default 汉族汉族UniqueReferences 班级信息表班级信息表(编号编号)On Update Cascade返回返回九、数据查询九、数据查询lSelect语句的分类语句的分类lSelect语句的语法格式语句的语法格式返回目录返回目录九、数据查询九、数据查询1.Select 语句的分类语句的分类无源无源查询查询 Select 常量常量|变量变量|函数函数|表达式表达式 as 别名别名,n有源有源查询查询九、数据查询九、数据查询 2.Select语句的语法格式SELECT
22、DISTINCT SELECT DISTINCT 字段列表字段列表 INTO INTO 目标数据表目标数据表 FROM FROM 源数据表源数据表,.n,.nWHERE WHERE 条件表达式条件表达式 GROUP BY GROUP BY 分组表达式分组表达式 HAVING HAVING 搜索表达式搜索表达式ORDER BY ORDER BY 排序表达式排序表达式 ASC|DESC ASC|DESCCOMPUTE COMPUTE 行聚合函数名行聚合函数名(表达式表达式),.n),.n BY BY 表达式表达式,.n ,.n 分组查询统计查询连接查询结果排序结果去掉重复记录结果保存条件查询九、数
23、据查询九、数据查询条件查询条件查询 Select Distinct 字段列表字段列表 From 源数据表源数据表 Where 条件表达式条件表达式汇总查询汇总查询 聚合函数聚合函数查询结果排序查询结果排序 Order By 排序表达式排序表达式 Asc|Desc查询结查询结果保存果保存 Into 目目标标数据表数据表九、数据查询九、数据查询分组查询分组查询 Group By 分组表达式分组表达式 ,.,.n Having 搜索表达式搜索表达式 注意注意:Having子句和子句和Where子句同样是条件语子句同样是条件语句,如果查询条件需要在分组之前被应用,则使句,如果查询条件需要在分组之前被应
24、用,则使用用Where子句。子句。统计查询统计查询 Compute 行聚合函数名行聚合函数名(统计统计表达式表达式),.n),.n BY BY 表达式表达式 ,.n,.n 九、数据查询九、数据查询连接查询连接查询 Select 字段列表字段列表 From 数据表数据表1,.n Where 数据表数据表1.字段字段=数据表数据表2.字段字段子查询子查询 Select 字段字段1,.1,.n From 数据表数据表 Where 条件表达式条件表达式 (Select 字段字段1,.1,.n From 数据表数据表 Where 条件表达式)条件表达式)返回返回十、存储过程十、存储过程l存储过程概念存储
25、过程概念l存储过程分类存储过程分类l创建存储过程创建存储过程l执行存储过程执行存储过程l修改存储过程修改存储过程l删除存储过程删除存储过程返回目录返回目录十、存储过程十、存储过程1.存储过程概念存储过程概念 是存储在是存储在SQLServer服务器中的一组预编译服务器中的一组预编译过的过的T-SQL语句,用来完成某项特定功能。语句,用来完成某项特定功能。2.存储过程分类存储过程分类 系统存储过程和用户定义存储过程系统存储过程和用户定义存储过程十、存储过程十、存储过程3.创建存储过程创建存储过程 Create Procedure Create Procedure 存储过程名存储过程名 参数参数
26、类型类型Output,n As Begin T-sql语句语句 End十、存储过程十、存储过程4.执行存储过程执行存储过程 Execute 存储过程名存储过程名 参数值参数值|变量名变量名 output,n5.修改存储过程修改存储过程 Alter Procedure6.删除存储过程删除存储过程 Drop Procedure 存储过程名存储过程名,n返回返回十一、触发器十一、触发器l触发器概念触发器概念l触发器分类触发器分类l创建触发器创建触发器l修改触发器修改触发器l删除触发器删除触发器返回目录返回目录十一、触发器十一、触发器1.触发器概念触发器概念 是特殊类型的存储过程,它能在任何试图是特殊
27、类型的存储过程,它能在任何试图改变表中由触发器保护的数据时执行。触发器改变表中由触发器保护的数据时执行。触发器主要通过操作事件主要通过操作事件(INSERT、UPDATE、DELETE)进行触发而被自动执行,不能直接进行触发而被自动执行,不能直接调用执行,也不带任何的输入输出参数。调用执行,也不带任何的输入输出参数。十一、触发器十一、触发器2.触发器的分类触发器的分类SQLServer2005包括两大类触发器:包括两大类触发器:DDL触发器触发器 DML触发器触发器按触发的语句:按触发的语句:Insert触发器触发器 Update触发器触发器 Delete触发器触发器按触发的时刻:按触发的时刻
28、:After触发器触发器 Instead Of触发器触发器十一、触发器十一、触发器3.创建触发器创建触发器 触发器运行时自动创建和管理触发器运行时自动创建和管理deleted表和表和inserted表,字段设置与触发器所修改的数据表表,字段设置与触发器所修改的数据表一致。一致。Create Trigger 触发器名触发器名 On 表名表名 For|Insert,Update,Delete As If Update(列名列名1)And|Or Update(列名列名2)T-Sql语句语句十一、触发器十一、触发器4.修改触发器修改触发器 Alter Trigger 触发器名触发器名5.删除触发器删除
29、触发器:Drop Trigger 触发器名触发器名,n返回返回十二、视图十二、视图l视图概念视图概念l创建视图创建视图l修改视图修改视图l删除视图删除视图返回目录返回目录十二、视图十二、视图1.视图的概念视图的概念 由一个或多个数据表由一个或多个数据表(基本表基本表)或视图导出或视图导出的虚拟表或查询表;的虚拟表或查询表;数据库中只存储视图的定义,而不存储视数据库中只存储视图的定义,而不存储视图对应的数据;图对应的数据;虚表,视图可以像基本表一样进行数据操虚表,视图可以像基本表一样进行数据操作:查询、修改、删除和更新数据。作:查询、修改、删除和更新数据。十二、视图十二、视图2.创建视图创建视图 Create View 视图名视图名(列名列名1,n)AS Select查询语句查询语句注意事项注意事项 不能使用不能使用COMPUTE或或COMPUTE BY子句。子句。不能使用不能使用ORDER BY子句。子句。不能使用不能使用INTO子句。子句。不能在不能在临时表临时表上创建视图。上创建视图。十二、视图十二、视图3.修改视图修改视图 Alter View 视图视图名名4.删除视图删除视图:Drop View 视图名视图名,n返回返回
限制150内