一、UDT和UDF的概念
什么是UDT?
在数据库中虽然定义了各种基本的数据类型,但大量的应用往往需要更多特殊的数据类型,因此用户自定义数据类型(User Defined Type,UDT)显得尤为重要。UDT可以使用户不受系统提供的数据类型的限制,而不断增加自己需要的各种数据类型。
什么是UDF?
首先数据库中SQL函数可以大致分为以下几类:内部函数、系统生成的函数、用户定义的函数(UDF),其中用户定义的函数是指由用户通过CREATE FUNCTION显示创建并命名的函数 ,其语义也由用户自己确定。用户自定义的函数可进一步分为以下两类:
(1)有源函数
是指利用一个已有的函数而创建的函数。一个有源函数可以是一个运算符、一个纯量函数或一个表函数。有源函数可以使一个用户自定的类型(UDT)有选择的继承其基类型的语义。
(2)外部函数
是指其函数体是由用户采用某种宿主程序设计语言编写的函数。
二、UDF可以为应用开发带来哪些好处
1、扩展性
使用自定义的数据类型,用户可以无限制地增加新的数据类型以满足应用开发的各种需求。
2、灵活性
通过使用用户自定义函数(UDF)可以为自定义的数据类型定义特殊的语法和行为。
3、一致性
对于某个特定的自定义数据类型,可以确保只有其实例才能使用相关的自定义函数。
4、封装性
自定义的数据类型只能由其函数和操作进行处理,从而确保了应用程序的封装性。
5、易管理
自定义数据类型对数据库系统而言十分容易管理,由于UDT是一种完备的数据类型,具有和其他数据类型相似的内部表示,因此,同时可以建立索引并进行相互比较
6、面向对象的基础
自定义数据类型体现了面向对象技术的主要特征,因此是实现面向对象数据库系统的关键。