数据库简述

《 SQLServer2005数据库管理与应用指南》

飞狼 李春萌 杨涵 编著

人民邮电出版社

Charger 8 数据库的管理

1. Master数据库以及系统表在系统中的作用(8.4)

Master数据库以及其系统表是整个SQLServer实例的入口。SQLServer实例在启动的时候,要先读取 master数据库中的系统表或者系统视图来识别其他的数据库以及SQLServer实例的系统配置等。其作用相当于Windows操作系统中的注册表。

Master数据库中的sysdatabases表中的信息,存储着整个SQLServer实例的数据库信息,由这个表识别其他数据库,再由用户数据库中类似于sys.filegroups以及sys.database_file的表来识别用户自定义数据库中的内容。就这样一级一级地识别出数据库中的所有对象。

2. 理解Sysobjects系统视图(8.4)

表中的真实数据是存储在数据文件中的,表的定义则存储在主文件组中(表的名称->sys.sysobjects,表的列定义->sys.columns)。故要定义自己的组和文件存放自己定义的表。

Charger 10 实现数据的完整性

1. 使用级联CASCADE  (10.7)

级联的语法:

Foreign key

(column[,.n])

References  referenced_table_name[(ref_column[ ,.. n])]

[on delete cascade]

[on update cascade]

确保主键和外键一致。

Charger 11 视图

1. 什么是视图(11.2)

视图是虚表,存储时只存储视图的定义,而没有存储对应的数据。视图只在刚打开的瞬间,通过定义从基表中搜集数据,并展示给用户。(可见视图并不能提高查询速度??)

2. 索引视图(11.7)

具有惟一的聚集为索引视图。在视图上创建惟一的聚集索引后,结果集随即被具体化,并保存在数据库的物理存储中,在执行时节省了操作开销。

Charger 12 存储过程

1. 什么是存储过程 (12.2)

存储过程是一套预先编译好的Transact-SQL代码,是SQL语句和可选控制语句的集合及一个独立的数据对象。

动态SQL语句

Charger 15 触发器

1. 什么是触发器(15.2)

触发器是一种特殊的存储过程(预先编译好的SQL语句),可看作表定义的一部分,当用户修改表时,触发器会自动执行,但不能被直接调用。

2. DML触发器

针对insertupdatedelete设置的触发器。如果执行触发器过程发生了错误,整个事物会回滚。可分为afterinstead of 触发器。

3. DDL触发器

针对createalterdropDDL语言设置的触发器。只有after触发器。

Charger 16 SQL语句

1. 游标

???(看不懂)

Charger 17 索引

索引包含由表或视图中的一列或多列生成的键。这些键存储在B中,使SQLServer可以快速查找与键值关联的行。

1. 聚簇索引(17.3)

在聚簇索引中,索引树的叶级页包含实际的数据:记录的索引顺序与物理顺序相同。索引的叶节点就是数据节点。每个表只能有一个聚簇索引,因为一个表中的记录只能以一种物理顺序存放。如果表没有聚簇索引,则其数据行存储在一个无序堆中。从建立了聚簇索引的表中取出数据要比建立了非聚簇索引的表快。聚集索引表记录的排列顺序与索引的排列顺序一致,优点是查询速度快,因为一旦具有第一个索引值的纪录被找到,具有连续索引值的记录也一定物理的紧跟其后。聚集索引的缺点是对表进行修改速度较慢,这是为了保持表中的记录的物理顺序与索引的顺序一致,而把记录插入到数据页的相应位置,必须在数据页中进行数据重排,降低了执行速度。

2. 非聚簇索引

在非聚簇索引中,叶级页指向表中的记录:记录的物理顺序与逻辑顺序没有必然的联系。非聚簇索引的叶节点仍然是索引节点,只不过有一个指针指向对应的数据块。非聚簇索引需要大量的硬盘空间和内存。非聚簇索引可以提高从表中 取数据的速度,它也会降低向表中插入和更新数据的速度。

3. 主键索引

在表定义了主键后,相应的会创建一个主键索引。

4. 全文索引

全文索引是基于要索引文本中的各个标记创建倒排、堆积且压缩的索引结构。

注意:不要在一张表上创建大量的索引,索引是一个比较大的对象,会降低查询速度。创建索引时避免包含重复的列。尽量在数值型的列上创建索引,数值的比较、查询速度高于字符串。要经常对索引进行重建。

详见:http://hi.baidu.com/guobeilei/blog/item/51f55afbda311e116c22eb0e.html

Charger 18 

实现同步和并发

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值