MSSQL表值类型:洞悉数据库内隐藏珍宝(mssql 表值类型)
MSSQL 表值类型,又称内联表值类型,是 MS SQL Server2008新增的一种类型,可以使开发者们方便的在存储过程中将数据集以及数组形式存到数据库中。它能够让表中的数据在保存的时候可以进行重复的关联保存,同时又不影响原有的表结构,这些属性一定程度上提高了数据库存储的可用性和灵活性,而且可以更容易辨认以及强化相关数据之间的关系。
相对于传统的表结构,MSSQL 表值类型具有多维层次的结构,可以在一个元素中容纳多个、甚至是所有的字段,这些字段作为一个整体存在,而且支持结构类型、集合和枚举类型的表现。MSSQL 还支持复合类型数据,那么复合类型数据可以看做是一组以某种方式组合而成的数据,比如说一个商品信息表里,可以用一个复合类型来表示:图片,简介和详情以及价格,这些信息都可以放在一起,而不需要单独创建表,可节省大量的存储空间。
此外,MSSQL 还提供了很多实用的功能让用户能够对复合类型的数据进行提取、组装和处理,例如,使用 query() 功能提取复合类型中的数据,使用 nth_value() 功能在某列中某个位置取值,使用 serialize() 功能将复合类型序列化,以此等等。
简而言之,MSSQL 表值类型可以看作是一个数据库内部的“珍宝”,能够帮助开发者们更好的把握数据库,从而发掘充分运用各种数据。
以下是使用 MS SQL Server 2008 建表表值类型的示例代码:
create table Product
(
ProductId int primary key,
ProductName nvarchar(50) not null,
ImagePath table (ID int primary key identity(1,1), ImagePath nvarchar(250))
)