|
计算机应用老师辅导笔记:
第一章:
一节:数据库基本概述:
1、 什么是数据库系统?
2、 数据库技术发展:
3、 数据模型:静态(结构)、动态(操作)、条件(约束)
a层次、b网状、c关系
4、 系统体系结构:
第二节:sql语言的概述:
分类:1、DDL语言:数据定义语句(CREATE、ALTER、DROP)
2、 DML语言:数据操纵语言(INSERT、UPDATE、DELETE)
3、 DCL语言:授权或者收回访问权限和事务控制(GRANT、REVOKE、COMMIT、ROLLBACK)
4、 SELECT语言:查询语句(SELECT、FROM、WHERE组成的查询块)
第三节:例子数据库:
1、建数据库表:lizi 、zhigong
2、约束条件:两个:实体完整性、参照完整性
第一章重点:
1、 什么是数据库系统?
2、 数据库系统几部分组成?
此章有论述题,参考习题及模拟题
第二章:SQL Sever简介
操作一遍安装,了解SQL的特点。
SQL四个系统表。
问题:几种版本适合那些客户群体?
实用工具:1、企业管理器
2、查询分析器
第三章:连接数据库服务器
*第一节:用户权限说明
登录帐号:操作系统资源,sa、 guest、administer
用户帐号:数据库资源,dbo(默认)、public(默认)database、owner
角 色:1、固定服务器角色
2固定数据库角色
3、 用户自定义角色
命令:grant授权语句:with grant option(再授权)
revoke收回
哪些可以授权?
1~~3章的重点:
1、 为什么要使用数据库?什么是数据库系统?
2、 数据库的三个模型?
3、 数据库与文件处理的优点比较
4、 常用数据库系统的客户站使用数据、内存、磁盘的关系
5、 关系模型的三个组成部分
6、 常用的4种关系操作
7、 SQL语言分类
8、 SQL主要数据类型,存储的长度,表示的范围
9、 SQL的磁盘结构
10、 部门和职工表的lizi数据库的设计过程
11、 个人版的安装过程
12、 能束在SQL中用SQL语句查询主要系统表4个数据库存在
13、 能否使用服务器停止、暂停和起动?
14、 能使用企业管理器
15、 理解SQL登录、用户、角色以及三者之间的关系
16、 SQL数据的语句权限、数据权限
第四章:建立数据库表
数据库操作:1、create (建立)2、alter(更改)3、drop(删除)
重点和难点为:
1、 数据库结构:A、文件和文件组
B、数据库文件包括:数据文件和日志文件
C、数据库与文件的关系
D、系统数据库:master、tempdb、model、msdb
E、数据库创建:create database lizi
F、表创建:create table
约束条件:唯一性:unique
允许为空:null
主键:primary key
默认值:default
外键:check
第五章:
insert insert into zhigong values(``````````)
update update zhigong
set gz=1.1*gz
where jl
delete delete from zhigong
where gz<500
第六章 查询数据
select <列的输出列表>
from<表名>
[where (条件子句)]
比如:gz>0 and gz<10000
[order by 子句]
[group by 子句]
例如:select * from zhigong
distinct(不需重复)
例如:select distinct zgzw from zhigong
输出列修饰
select zgh as ‘职工号’,zgmc as ‘职工名称’,gz*0.1 as ‘涨幅额度’ from zhigong
order by(排序子句)
select * from zhigong
order by zgh desc
或 order by zgmc,gz desc
top子句:查询前十名
select top 10 zgh
from zhigong
where 子句
select zgmc,zgh
from zhigong
where xb=’男’;
select zgh,zgmc
from zhigong
where gzrq>'1991-10-1'
BETWEEN…AND操作符
select zgh,zgmc,gz
from zhigong
where gz between 2000 AND 2975;
这里需要注意的是 F between a and b 表示的是 F>=a and F<=b,注意与前面一题的区别之处,前一个例子是F>=a and F [ NOT] LIKE ‘模式串’
‘模式串’也可以使用通配符,如下:
- %(百分号):匹配零个或多个字符的序列。
- _(下划线):精确匹配一个字符,在汉化版中也表示一个汉字。
- [](方括号):指定范围 ([a-f]) 或集合 ([abcdef]) 中的任何单个字符。
- [^](方括号):不属于指定范围 ([^a-f]) 或集合 ([^abcdef])任何单个字符。
使用 LIKE 关键字和 [ ] 通配符的例子:
- LIKE ‘5[%]’ 含义是 5%。
- LIKE ‘[a-cde]’ 含义是a,b,c,d,e。
- LIKE ‘[[]’ 含义是[。
- LIKE ‘abc[def]’含义是abcd,abce,abcf。
select zgh,zgmc
from zhigong
where zgmc like ‘%一%’
GROUP BY子句和聚集函数
查询职工所从事的工作职位,执行下列语句:
select gzzw
from zhigong
group by gzzw
查询每一个部门的职工总人数,使用count(*)函数,执行如下SQL语句:
select bmh,count(*)
from zhigong
group by bmh
sum(gz)工资总和
avg(gz)平均工资
max(gz)最大值
min(gz)最小值
HAVING子句
HAVING子句一般是在分组子句GROUP BY之后使用,主要用于选择满足一定条件的分组信息。
例如,查询人数少于4人的部门,执行下列SQL语句:
select bmh,count(*)
from zhigong
group by bmh
having count(*)<4;
简单子查询
例如,查询谁在北京工作,这项查询分为两步来进行:
·第一步,从部门表bumen中查询部门所在地是北京的部门号,执行下列SQL语句:
select bmh
from bumen
where bmszd ='北京';
·第二步,再到职工表zhigong中按照部门号等于10的条件进行查询,执行下列SQL语句:
select zgh,zgmc
from zhigong
where bmh='10';
把这两步合成一步,就是子查询。最后子查询SQL语句如下:
select zgh,zgmc
from zhigong
where bmh=
(select bmh from bumen where bmszd ='北京');
复杂查询
例如,查询名为孙越的职工在哪里工作,操作过程如下:
- 首先要在职工表zhigong中,根据姓名查询得到部门号。
- 再根据部门号到部门表bumen中查询得到部门所在地。
首先在职工表zhigong中,根据姓名查询得到部门号,执行下列SQL语句:
select bmh
from zhigong
where zgmc=’孙越’
查询结果:部门号是30。
再根据部门号到部门表bumen中查询得到部门所在地,执行下列SQL语句:
select bmszd
from bumen
where bmh=’30’
我们可以在一个查询中将两张表连接起来完成这个查询,SQL语句如下:
select zgmc,bmszd
from zhigong,bumen
where zgmc=’孙越’
and zhigong.bmh=bumen.bmh
第七章:常用对象管理
第一节:视图:A、什么是视图
B、类型及特点
C、建立视图(creat view)重要
D、更改、删除、(alther\drop)
第二节:索引:A、概念
B、作用(副作用)重要
C、科学使用索引
第三节:存储过程A、概念(重要)
B、系列存储过程
C、定义、执行自己的存储过程
第四节:触发器:A、概念
B、类型
第一节:视图(视图不存定义,数据要到基表拿数据)
什么是视图:从用户角度来看,一个视图(view)是从某一个特定的角度来查看数据库中的数据。从数据库系统内部来看,一个视图是由SELECT语句组成的查询定义的虚拟表。
建立一个女性信息:create view woman
select * from zhigong
where xb=’女’
特点:1、提供最新的数据
2、具有安全性
3、针对性比较强
DML语句与视图的关系(有个限制)
如果视图具有了下列特征,则不能使用DML语句通过视图操纵数据:
- 定义视图的FROM子句包括多张表,并且视图中的列来自多张表。
- 视图列是从聚集函数中得到的。
- 定义视图的SELECT语句包括了GROUP BY子句或者DISTINCT。
第二节:索引(索引的存储结构是B+树)
定义是重点:什么是索引
索引是辅助数据,它的作用只是帮助用户在数据库中快速地定位要查询的数据行
作用及副作用:1、辅助表
2、帮助于数据的查询工作
3、占存储空间
4、过多的索引不一定好
5、DML的操作非常有害
第三节:存储过程
客户端 数据库服务器
语法检查
SQL 语义检查
优化分析
可执行代码
再返回客户端
特点:1、具有立即防问数据库的能力
2、它是数据库存服务器端的执行代码,在服务器挂靠、操作,减少网络通讯,提高执行效率
3、保证数据库安全、自动完成预先定义的作业
存储过程分为系统存储和自定义
看懂建立存储过程:课件的例子
第四节:触发器()
什么是触发器
触发器是一种特殊类型的存储过程。
当使用DML语句时,SQL Server将自动执行这一特殊类型的存储过程。触发器和其他存储过程一样,可以包含简单的或者复杂的SQL语句。
触发器的特殊性体现在:
- 当对指定数据进行修改时,触发器自动执行,不需要按照名称手工执行。
- 使得触发器执行的操作称为触发事件。
- 触发器的SQL语句称为触发动作。
SQL Server把触发器分为5种类型:
- UPDATE
- INSERT
- DELETE
- INSTEAD OF
- AFTER
第八章:多个用户使用数据库
一、 多个用户同时使用数据库时出现的问题(重要)
脏读数据
当第一个用户修改数据时,第二个用户在第一个用户没有确认修改之前读取了该数据,这时可能会出现脏读现象。
如果第一个用户重新运行了修改,第二个用户检索不到数据库中所修改的数据,有时这种现象也称为丢失修改。
·不可重复读
当某一个用户对某一行数据进行多次读取过程中,另外一个用户对该数据行进行了修改,从第一个用户的角度来看,会发生两次读取数据库中同一个数据会出现不同的值。这就是不可重复读现象。
·发生幻象
当第一个用户检查某张表时,没有发现某个值X,但是在第一个用户还没有完成操作之前,第二个用户插入了该值X,结果,在某一个时刻,第一个用户认为数据库中没有X,而实际情况是数据库中有这个值X。这就是幻象。
二、 事务
1、定义:事务是一系列作为一个逻辑单元来执行的操作集合。事务是数据库维护数据一致性的单位,它将数据库从一致状态转变为新的一致状态。在每一个事务结束之后,数据库管理系统都要检查数据库的一致状态。
2、 事务的特征:原子性、隔离性、一致性、持久性
3、事务日志:是每一个数据库都必须具有的,它用于记录对数据库进行的任何一种类型变动(插入、修改、删除)的所有事务。在发生错误或者系统故障情况下,使用事务日志来恢复数据。
4、 事务模式:自动提交、显式、隐式
5、 事务的封锁:
什么是锁:
锁是一个对象,基本思想是:
- 对要操作的数据对象首先申请加锁。
- 一个事务必须注意到其他事务的封锁,也就是说,在获得锁之后,才可以对数据对象进行操作,否则等待。
- 事务结束时,要释放所有占有的锁。
锁的类型
·共享锁:阻挡其它事务修改当前事物正在读的数据的锁方式。
·排它锁:阻挡其它事务操作所封锁数据对象的锁方式。
·更新锁:用于预先设定对一行或者多行数据进行修改的权利,以便于以后修改时使用。
锁的粒度
·数据库级锁:锁定整个数据库。
·表级锁:锁定一张表。
·页级锁:锁定存储数据的一个页面。
第九章:数据库备份和恢复
备份:1、备份操作
2、备份效果
方法:1、完全备份
2、差异备份:
3、文件组备份
4、日志备份
5、数据文件备份
第十章:常用系统管理工具
一、 数据导出
二、 数据导入
概念:
1、作业:作业是一个只需要定义一次、但可以多次执行的管理任务。作业可以由SQL语句、操作系统命令、可执行程序或者Active脚本组成。
作业有三种执行方式:
- 手工执行
- 周期性自动执行
- 发出警报时执行
2、警报:什么是警报
警报是在服务器上发生的响应事件或者性能状况的动作。在事件发生时,SQL Server代理将事件与所定义的警报列表进行比较,如果定义了该事件的警报,则触发警报。在系统监控发现SQL Server已经达到定义的性能指标值时,则触发性能条件警报。
3、操作员:操作员是作业完成或者事件发生时能够从SQL Server接收通知的人员。使用【企业管理器】可以建立操作员。
4、什么是SQL Server代理
SQL Server代理是用于自动执行管理任务的服务,它能周期性地自动执行某些任务,并且把执行情况及时通知数据库管理员或者指定的操作员。利用SQL Server代理的功能,管理人员不需要手工和连续监控数据库系统的日常处理,以便有更多精力解决更为困难的问题。
1、 概念的理解 重与实践。
2、 视图的定义
3、 视图的作用,建立视图语句、视图与DML的关系,哪些操作不允许见建视图
4、 索引的概念,作用、副 作用、建立索引的语句
5、 存储过程的定义与作用,理解关于存储过程的操作。
6、 触发器的定义、作用,与存储过程的异同
7、 三个异常情况
8、 事务的要领、特征、事务日志、事务的粒度
9、 备份的种类、完全备份和差异备份的关系
10、 为什么建立逻辑备份
11、 事务及导入、导出的概念
12、 SOL Sever代理,概念:作业警报、操作员
|
|