管理数据库其他对象

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第八章 管理数据库其他对象
8.1 8.2 8.3 8.4 用户自定义数据类型 使用默认值 使用规则 用户自定义函数
2013-6-28
第八章 管理数据库其他对象
1
第八章 管理数据库其他对象
本章学习目的: 了解各数据库对象的作用、功能 掌握使用企业管理器和T-SQL语句来创建、 删除数据库对象 灵活运用数据库对象
10
2、使用默认值
二、捆绑默认值 1、使用系统存储过程 EXEC sp_bindefault ‘默认值名称’,’表名 称.字段名称’|[’用户自定义数据类 型’,’futureonly’]
仅在将默认值绑定到用户定义的数据类型时才 使用 ,防止现有的属于此数据类型的列继承新的 默认值。
2013-6-28 第八章 管理数据库其他对象 11
2013-6-28
第八章 管理数据库其他对象
2
1、用户自定义数据类型
概念: 用户能使用的针对特定用途定制的描述性名 称和格式,来扩展SQL Server的基本数据类型。 功能:



如表中不同列经常出现相同的数据类型定义,那么 用户自定义数据类型可以使相似的数据类型标准化, 并避免重复设置的工作量。 如果将默认值或规则捆绑到用户自定义的数据类型 上,那么该默认值和规则就可以约束使用此数据类 型的列。
2013-6-28 第八章 管理数据库其他对象 15
3、使用规则
规则概念: 绑定到字段或用户自定义数据类型并指定字段可接 受哪些数据值的数据库对象。它通常用于执行一 些与CHECK约束相同的功能。 规则与CHECK约束的不同之处:
1、CHECK约束是用CREATE TABLE 语句在建表时指定的, 而规则需要单独作为数据库对象来实现; 2、在一列上只能使用一个规则,但可以使用多个CHECK约 束; 3、一个规则可以应用于多个列上,还可以应用于用户自定义 数据类型上,而CHECK约束只能应用于它所定义的列上。
2013-6-28 第八章 管理数据库其他对象 9
2、使用默认值
例:在学生数据库中创建一个名为age的默 认值,并以‘20’作为其值。 CREATE DEFAULT age AS 20
查看默认值定义文本 EXEC sp_helptext age
2 、使用企业管理器
2013-6-28
第八章 管理数据库其他对象
2、使用默认值
注意事项: 不能将默认值绑定到IDENTITY属性的字 段或已经有DEFAULT约束的字段,也不 能绑定到SQL Server的数据类型上; 在不取消绑定现有默认值的情况下,可以 使用sp_bindefault将新默认值绑定到字 段或用户定义数据类型上,此时原有的默 认值将被新默认值替代掉;
规则不能绑定到系统数据类型上; 规则必须与表字段的数据类型相兼容,不能绑定 到数据类型为TEXT,IMAGE的字段上; 一个新的规则可以直接绑定到字段或用户定义数 据类型上,而不必事先接触原来的规则; 当一个字段上同时绑定有规则和默认值时,默认 值应该满足规则的要求。

2013-6-28
2013-6-28 第八章 管理数据库其他对象 5
1、用户自定义数据类型
三、删除用户自定义数据类型 1、使用企业管理器 2、使用T-SQL语句
EXEC sp_droptype 自定义数据类型名称 [,…n] 例:删除自定义数据类型“地址” Exec sp_droptype 地址 注意:正在被表或数据库使用的用户自定义数据 类型不能被删除。
2、使用默认值
注意事项: 在创建默认值时,只能在当前数据库中 创建默认值的名称; 在单个批处理中,CREATE DEFAULT 语句不能与其他T-SQL语句组合使用; 如果默认值对于它所绑定的字段而言太 长,该值就会被截断; 建立同名的默认值前,必须取消对该默 认值的绑定并删除该默认值
第八章 管理数据库其他对象
20
3、使用规则
删除规则 删除规则之前,与默认值相同,也应先解除规 则与列、用户自定义数据类型的捆绑。 1、使用T-SQL语句 DROP RULE 规则名称[,…n ] 2、在企业管理器中
2013-6-28
第八章 管理数据库其他对象
21
4、用户自定义函数
定义: 由一个或多个T-SQL语句组成的子程序。 用户自定义函数使用
2013-6-28 第八章 管理数据库其他对象 14
2、使用默认值
删除一个或多个当前数据库中的默认值对象: DROP DEFAULT 默认值名称[,…n] 例:解除默认对象”age”与用户自定义数据类型” 年龄”的绑定,并删除默认值对象”age” . EXEC sp_unbindefault 年龄 GO DROP DEFAULT age 2、使用企业管理器 解除捆绑默认值; 删除一个或多个当前数据库中的默认值对象
2013-6-28 第八章 管理数据库其他对象 16
Байду номын сангаас
3、使用规则
创建规则 CREATE RULE 规则名称 AS 条件表达式 注意:表达式可以是WHERE子句中出现的 表达式,用来限制输入值。但它不能包含 列名或其他数据库的对象名。在条件表达 式中包含的一个以@开头的变量,该变量代 表在修改该列的记录时用户输入的数值.

创建:create
function 修改:alter function 删除:drop function
2013-6-28
第八章 管理数据库其他对象
22
2013-6-28 第八章 管理数据库其他对象 13
2、使用默认值
删除默认值 1、使用系统存储过程 解除捆绑默认值: EXEC sp_unbindefault ‘表名称.字段名 称’,|’用户定义数据类型’[futureonly]
用于解除用户定义数据类型默认 值的绑定,现有的属于该数据类型的 列不会失去指定默认值
2013-6-28 第八章 管理数据库其他对象 6
2、使用默认值
概念: 默认值是当前用户向表中添加数据时, 没有明确地给出,而由SQL Server 自动指 派的数据值,它可以是常量、内置函数或表 达式。 使用默认值有两种方法: 1、在创建表或修改表时,定义默认值约束。 2、先定义默认值对象,然后再将该对象绑 定到表相应的字段。
2013-6-28 第八章 管理数据库其他对象 17
3、使用规则
例:在“学生库”中定义一个规则“电话号码”,限制学 生的电话号码必须是10位数。 CREATE RULE 电话号码 AS @vale like ‘[0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9]’ 捆绑和解除规则 1、使用系统存储过程 EXEC sp_bindrule ‘ 规则名称’,’表名.字段名’|’自定 义数据类型’’futureonly’ EXEC sp_unbindrule’表名.字段名’|’自定义数据类 型’, ’futureonly’
第八章 管理数据库其他对象 3
2013-6-28
1、用户自定义数据类型
一、创建用户自定义数据类型 1、使用T-SQL 语句 EXEC sp_addtype 自定义类型名称,系统数据类型名称[, ‘NULL’|‘NOT NULL’]
系统数据类型名称是用户定义数据类型所使用的 由SQL Server 2000提供的数据类型,可以包 括数据的长度、精度等。 注:如果一个系统数据类型名称后面跟着加括号 的参数,则需要对该类型名称加上括号。
2013-6-28
第八章 管理数据库其他对象
12
2、使用默认值
(1)将默认值捆绑带数据库表中的列上 例:在student库的学生表中将默认值 “age”捆绑到年龄列上。 EXEC sp_bindefault ‘age’,‘学生表.年龄’ (2)将默认值捆绑到用户自定义数据类型上 例:将默认值age与用户自定义数据类型” 年龄”绑定 EXEC sp_bindefault age,年龄
2013-6-28 第八章 管理数据库其他对象 18
3、使用规则
例:将规则“电话号码”捆绑到“学生表” 中“电话”列上. USE student GO EXEC sp_ bindrule '电话号码','学生表. 电话'
2013-6-28
第八章 管理数据库其他对象
19
3、使用规则
注意:

2013-6-28 第八章 管理数据库其他对象 7
2、使用默认值
一、创建默认值 1、使用T-SQL语句 CREATE DEFAULT 默认值名 AS 常量表 达式 注意:常量表达式是只包含常量值的表达 式,可以使用常量、内置函数或数学表 达式,但不能包含任何表字段名或其他 的数据库对象名称。
2013-6-28 第八章 管理数据库其他对象 8
2013-6-28 第八章 管理数据库其他对象 4
1、用户自定义数据类型
例:自定义一个名称为“地址”的数据类型,它 所使用的系统数据类型为字符型,长度为40, 而且不允许为空。 EXEC sp_addtype 地址,'char(40)', 'NOT NULL' 2 、使用企业管理器 二、查看用户自定义数据类型 EXEC sp_help object_name 例:查看用户自定义数据类型“电话”的信息。 EXEC sp_help 地址
相关文档
最新文档