25、数据库开发:自定义数据类型、文档管理与数据完整性保护

数据库开发:自定义数据类型、文档管理与数据完整性保护

1. 自定义数据类型(UDTs)的挑战

虽然可以使用.NET代码创建自定义数据类型(UDTs),并将其视为SQL Server中的业务对象,但实际上使用UDTs作为业务对象存在一些缺点:
- 索引困难 :对UDT的单个属性进行索引较为困难。例如,员工业务对象可能包含名字、姓氏、员工编号、地址、电话号码等属性。在规范化的表中,每个实体都有自己的列,这些列可以有索引以优化性能。但要将UDT的单个属性的计算列持久化作为索引列,则需要付出更多努力。
- 类型不可更改 :对于两种类型的UDTs,一旦类型被绑定并被任何列使用,就不能更改该类型。这在开发过程中,如果数据类型设计得不够好,可能会成为一个真正的问题。

注意事项

可以使用 ALTER ASSEMBLY 语句更新CLR UDT,而无需先删除它们。如果公共属性发生更改,则使用此UDT的现有列要么必须更新,要么必须在UDT中使用一些特殊的版本控制代码,并将其持久化在序列化数据中,以便知道数据使用的是哪个版本的UDT。

提示

复杂的数据类型用途有限,仅在绝对必要且能带来巨大好处的情况下使用。

2. 数据库对象的文档管理

在数据库建模过程中,创建的描述、注释和各种数据对于帮助开发人员理解表的用途非常有用。在SQL Server 2000中,引入了扩展属性,允许存储有关对象的特定信息。通过创建这些属性,可以构建一个信息库,供应用程序开发人员使用:
-

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值