《数据库原理及应用教程(第4版 | 微课版)》第3章:“关系数据库标准语言——SQL”和第7章:“SQL Server 2012高级应用”的学习提纲

前言

《数据库原理及应用教程第4版 | 微课版》第3章“关系数据库标准语言——SQL”和第7章“SQL Server 2012高级应用”的学习提纲。


3.1 SQL的基本概念与特点

概念

  • 内模式——存储文件
  • 模式——基本表
  • 外模式——视图

特点

  • 类似自然语言如英语
  • 一体化的功能集中
  • 非过程化的用户只关心“做什么”无需关心“怎么做”
  • 面向集合的操作对象是关系结果是关系
  • 自含式的可单独使用交互命令
  • 嵌入式的嵌入高级语言中使用
  • 有数据查询、数据定义、数据操纵和数据控制功能

3.2 SQL Server 2012简介——略


3.3 数据库的创建和使用

数据库的文件

  • 数据文件主数据文件次数据文件
  • 日志文件

一个数据库至少有一个数据文件和一个日志文件。
一个数据库只有一个主数据文件可有多个次数据文件。

数据库的文件组主要文件组次要文件组

数据文件有文件组日志文件无文件组。
一个数据文件只能在一个文件组一个文件组只能被一个数据库使用。

SQL语句

  • 增加数据库create database
  • 删除数据库drop database
  • 修改数据库alter database

数据库迁移的方式

  • 分离和加载
  • 生成脚本常用

3.4 数据表的创建和使用

数据定义使用数据定义语言DDL。

数据类型

  • 整数型如int
  • 数值型如numeric
  • 货币型如money
  • 日期型如datetime
  • 字符型如char

“var”表示“变长的”“n”表示“Unicode字符ASCII字符”
char定长的非Unicode字符ASCII字符1个字符1字节
varchar变长的非Unicode字符ASCII字符1个字符1字节
nchar定长的Unicode字符1个字符2字节
nvarchar变长的Unicode字符1个字符2字节

若字符串有非ASCII字符如中文则使用nchar或nvarchar。

  • 二进制数据型如binary
  • 特殊类型如timestamp

数据完整性的机制

  • 约束
  • 默认
  • 规则
  • 触发器
  • 存储过程

约束的类型1

  • 列约束约束1列
  • 表约束约束多列

约束的类型2

  • 空值约束只用于列约束
  • 主键约束
  • 唯一约束

注意主键约束和唯一约束不同

  • 外键约束
  • 检查约束

SQL语句

  • 增加数据表create table
  • 删除数据表drop table
  • 修改数据表alter table

3.5 单关系表的数据查询

无条件查询

select 
from

条件查询

select 
from
where

常用的库函数

  • AVG()
  • SUM()
  • MAX()
  • MIN()
  • COUNT()

分组查询

select 
from
where
group by
having

排序查询

select 
from
where
group by
having
order by

select语句语义层的执行顺序

  1. from
  2. where
  3. group by
  4. having
  5. select
  6. order by

详细内容参见参考资料


3.6 多关系表的连接查询

连接的方法

  • from子句指明连接的表名where子句指明连接的列名和连接条件常用
  • join子句指明连接的表名on子句指明连接的列名和连接条件

join子句指明连接的表名on子句指明连接的列名和连接条件的方法

  • 内连接inner join输出符合条件的结果
  • 左外连接left outer join输出符合条件的结果和左边表不符合条件的结果
  • 右外连接right outer join输出符合条件的结果和右边表不符合条件的结果
  • 全外连接full outer join输出符合条件的结果、左边表不符合条件的结果和右边表不符合条件的结果
  • 交叉连接cross join类似广义笛卡尔积

另外还有一种自连接查询。


3.7 子查询

类型

  • 普通子查询先执行子查询后执行父查询
  • 相关子查询对父查询的每一行执行子查询判断是否满足条件

3.8 其他类型查询

类型

  • 集合运算查询如union
  • 存储结果集到表如select into

3.9 数据表中数据的操纵

数据操纵使用数据操纵语言DML。

SQL语句

  • 增加数据insert into … values
  • 删除数据delete from
  • 修改数据update … set

3.10 视图

SQL语句

  • 增加视图create view
  • 删除视图drop view
  • 修改视图alter view
  • 增加数据insert into … values
  • 删除数据delete from
  • 修改数据update … set
  • 查询数据select

3.11 创建与使用索引

索引的类型

  • 聚集索引
  • 非聚集索引
  • 唯一索引
  • 视图索引
  • 全文索引
  • XML索引

SQL语句

  • 增加索引create
  • 删除索引drop
  • 修改索引alter

SQL功能的总结

  • 数据定义DDLcreatedropalter
  • 数据操纵DMLinsertdeleteupdate
  • 数据查询DQLselect
  • 数据控制DCLgrantrevoke

7.1 Transact-SQL程序设计——略


7.2 存储过程

概念依据时序/流程封装多条SQL语句后方便一次调用/执行。类似函数

优点

  • 模块化的程序设计
  • 高效率地执行
  • 减少网络流量
  • 可以作为安全机制使用

类型

  • 系统存储过程
  • 用户自定义存储过程常用
  • 扩展存储过程

SQL语句

  • 创建存储过程create procedure
  • 删除存储过程drop procedure
  • 修改存储过程alter procedure
  • 执行存储过程exec procedure

7.3 触发器

概念依据时序/流程封装多条SQL语句后方便一次调用/执行。类似回调函数

本质特殊的存储过程

类型

  • 登录触发器
  • DDL触发器
  • DML触发器instead of触发器语句执行前触发after触发器语句执行后触发

SQL语句

  • 增加触发器create trigger
  • 删除触发器drop trigger
  • 修改触发器alter trigger

7.4 备份和还原

备份的类型

  • 数据库完整备份
  • 数据库差异备份还必须用数据库完整备份
  • 事务日志备份还必须用数据库完整备份
  • 文件及文件组备份还必须用事务日志备份

备份并还原的方式

  • 数据库完整备份——简单还原
  • 数据库完整备份 + 数据库差异备份——简单还原
  • 数据库完整备份 + 数据库差异备份 + 事务日志备份——完全还原批日志还原性能更好
  • 文件及文件组备份 + 事务日志备份

数据库完整备份还原完整数据
数据库差异备份还原差异数据
事务日志备份还原到失败点
失败前处于运行状态事务的备份还原到失败时刻


总结

《数据库原理及应用教程第4版 | 微课版》第3章“关系数据库标准语言——SQL”和第7章“SQL Server 2012高级应用”的学习提纲。


参考资料


作者的话

  • 感谢参考资料的作者/博主
  • 作者夜悊
  • 版权所有转载请注明出处谢谢~
  • 如果文章对你有帮助请点个赞或加个粉丝吧你的支持就是作者的动力~
  • 文章在描述时有疑惑的地方请留言定会一一耐心讨论、解答
  • 文章在认识上有错误的地方, 敬请批评指正
  • 望读者们都能有所收获

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

“《数据库原理及应用教程(第4版 | 微课版)》第3章:“关系数据库标准语言——SQL”和第7章:“SQL Server 2012高级应用”的学习提纲” 的相关文章