26
返返返返返返 返返返返返返返 返返返返返 返返 返返 返返

数据库中的操作

Embed Size (px)

DESCRIPTION

数据库中的操作. 自定义类型 规则 索引 事务. 一、自定义数据类型. 使用企业管理器( Enterprise Manager )创建用户自定义数据类型。 例 : 自定义一个地址数据类型 exec sp_addtype address, ‘ varchar(80) ’ , ‘ not null ’ 其运行结果如下: ( 1 row(s) affected ) type added. 例:删除自定义的生日数据类型. exec sp_droptype birthday 其运行结果如下: ( 1 row(s) affected ) - PowerPoint PPT Presentation

Citation preview

返回本章首页上一页 下一页

数据库中的操作

自定义类型规则索引事务

返回本章首页上一页 下一页

一、自定义数据类型

使用企业管理器( Enterprise Manager )创建用户自定义数据类型。

例 : 自定义一个地址数据类型exec sp_addtype address, ‘varchar(80)’,

‘not null’

其运行结果如下:( 1 row(s) affected )type added.

返回本章首页上一页 下一页

例:删除自定义的生日数据类型

exec sp_droptype birthday

其运行结果如下:( 1 row(s) affected )( 0 row(s) affected )Type has been dropped.

返回本章首页上一页 下一页

二、规则

建立约束和规则都是实现自定义完整性的重要手段,它们的区别在于:

•约束是与表定义存储在一起的,在删除表时,约束也自动删除,而规则是作为一种数据库对象单独存储,可以被多次应用于不同列或用户自定义数据类型上

•每个列或每个用户自定义数据类型只能同时关联一个规则,但是每个列可以具有多个约束

返回本章首页上一页 下一页

1 规则的定义

Create rule 规则对象名As 逻辑表达式

例:定义一个规则对象,限制学号只能取‘ 3100**’

Create rule ru_sno

As

@sno like ‘3100%%’

返回本章首页上一页 下一页

2 规则的使用定义了规则对象后必须将其绑定到列或自定义数

据类型上。Sp_bindrule 规则名 ,‘ 表 . 列’例:将规则 ru_sno 绑定到 student 表中的 sno 字

段上Sp_bindrule ru_sno , ‘student.sno’

取消绑定Sp_unbindrule ‘student.sno’

返回本章首页上一页 下一页

三、索引

数据库中的索引与书籍中的索引类似,在一本书中,利用索引可以快速查找所需信息,无须阅读整本书。在数据库中,索引使数据库程序无须对整个表进行扫描,就可以在其中找到所需数据。书中的索引是一个词语列表,其中注明了包含各个词的页码。而数据库中的索引是某个表中一列或者若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。

返回本章首页上一页 下一页

索引的作用

通过创建唯一索引,可以保证数据记录的唯一性。可以大大加快数据检索速度。可以加速表与表之间的连接,这一点在实现数据的参照完整性方面有特别的意义。在使用 ORDER BY 和 GROUP BY 子句中进行检索数据时,可以显著减少查询中分组和排序的时间。使用索引可以在检索数据的过程中使用优化隐藏器,提高系统性能。

返回本章首页上一页 下一页

聚集索引与非聚集索引

聚集索引对表的物理数据页中的数据按列进行排序,然后再重新存储到磁盘上,即聚集索引与数据是混为一体的,它的叶节点中存储的是实际的数据。

非聚集索引具有完全独立于数据行的结构,使用非聚集索引不用将物理数据页中的数据按列排序。非聚集索引的叶节点存储了组成非聚集索引的关键字值和行定位器。

返回本章首页上一页 下一页

创建索引

SQL Server 2000 创建索引的方法( 1 )利用企业管理器中的索引向导创建索引。( 2 )利用企业管理器直接创建索引。( 3 )利用 Transact-SQL 语句中的 CREATE IN

DEX 命令创建索引。( 4 )利用企业管理器中的索引优化向导创建索

引。

返回本章首页上一页 下一页

1. 利用索引向导创建索引

如图所示

欢迎使用创建索引向导对话框

返回本章首页上一页 下一页

选择数据库和对象对话框

返回本章首页上一页 下一页

显示当前索引信息对话框

返回本章首页上一页 下一页

选择创建索引的列对话框

返回本章首页上一页 下一页

指定索引选项对话框

返回本章首页上一页 下一页

指定索引名称对话框

返回本章首页上一页 下一页

2. 利用企业管理器直接创建索引其具体步骤如下:(1)在企业管理器中,展开指定的服务器和数

据库,选择要创建索引的表,用右键单击该表,从弹出的快捷菜单中选择所有任务项的管理索引选项(如图 5-53 所示),就会出现管理索引对话框,如图 5-54 所示。在该对话框中,可以选择要处理的数据库和表 。

(2)单击“新建”按钮,则出现新建索引对话框,如图 5-55 所示。

(3)选择完成后单击“确定”按钮,即可生成新的索引;单击“取消”按钮,则取消新建索引的操作。

返回本章首页上一页 下一页

选择管理索引选项对话框

返回本章首页上一页 下一页

管理索引对话框

返回本章首页上一页 下一页

新建索引对话框

返回本章首页上一页 下一页

例:为表 employees 创建了一个唯一聚集索引,其程序清单如下:CREATE UNIQUE CLUSTERED INDEX number_ind

ON employees (number)

with

pad_index,

fillfactor=20,

ignore_dup_key,

drop_existing,

statistics_norecompute

返回本章首页上一页 下一页

例:为表 employees 创建了一个复合索引,其程序清单如下:create index employees_cpl_ind

on employees(name,age)

with

pad_index,

fillfactor=50

返回本章首页上一页 下一页

3 查看、修改和删除索引

要查看和修改索引的详细信息,可以在企业管理器中,展开指定的服务器和数据库项,用右键单击要查看的表,从弹出的快捷菜单中选择所有任务子菜单中的“管理索引”选项,则会出现管理索引对话框。选择要查看或者修改的索引,单击“编辑”按钮,就会出现修改索引对话框。在该对话框中,可以修改索引的大部分设置,还可以直接修改其 SQL脚本,只需按下“编辑 SQL…” 按钮,即可出现编辑 SQL脚本对话框,其中可以编辑、测试和运行索引的 SQL脚本。

要删除索引,可以在企业管理器中,从管理索引对话框中或者表的属性对话框中,选择要删除的索引,单击“删除”按钮,即可删除索引。

返回本章首页上一页 下一页

四、事务

所有的 SQL都是内在事务,包括从 create、 insert、 u

pdate、 delete和 grant

Update titles

Set price=price*1.2

SQL Server保证 titles表无论有多大,所有的行要么全部处理,要么一行也不处理。

返回本章首页上一页 下一页

事务处理控制语句

① Begin transaction:开始一个事务 ② commin transaction: 完成一个事务

③ Rollback transaction: 回滚一个事务

返回本章首页上一页 下一页

例:Begin transaction

Insert publishers(pub_id,pub_name,city,state)

Values(‘1111’, ‘joe and mary’, ‘northern plains’, ‘ia’)

Update titles set pub_id=‘1111’ where pub_id=‘1234’

Delete authors where state=‘ca’

Commit transaction

服务器把批处理中的全部三个操作看作一次修改以于批处理而言,没有内在的事务属性