通用基础表逻辑设计(二)——扩展字段

一、扩展字段表

        一个表的字段可能并非一成不变,系统的运行、需求的变化等客观条件可能会需要增加其他字段,如何在不直接修改表设计的前提下满足需求呢?该扩展字段表的思想就是将列设计转化为行设计,字段的增加表现为记录的增加。当然这种方式也不是万能的,对于需要排序、查询和索引的字段最好还是通过添加表字段的方式增加。

字段名称数据类型属性允许空默认值备注
ext_idint (4)PK    AI扩展字段编号
ext_guidchar (36)newid()扩展字段GUID
ext_tablevarchar (50)''扩展字段关联表名
ext_codevarchar (50)''扩展字段编码
ext_namenvarchar (100)''扩展字段名称
ext_descnvarchar (200)''扩展字段描述
ext_orderint (4)0扩展字段序号
ext_necessaryint (4)0扩展字段是否必需
ext_data_lenint (4)0扩展字段数据长度
ext_data_typevarchar (50)''扩展字段数据类型
ext_form_typevarchar (50)''扩展字段表单类型
ext_form_urlvarchar (300)''扩展字段数据来源URL
ext_data_regexvarchar (100)''扩展字段正则表达式
ext_data_tipvarchar (100)''扩展字段提示
ext_stateint (4)1扩展字段状态

表1:base_extension(扩展字段表)

二、扩展字段值表

        上述方式实现的字段的动态增加,那字段的值该如何保存呢?当然通过另一个新表来存储。

字段名称数据类型属性允许空默认值备注
prop_idint (4)PK    AI属性编号
ext_codevarchar (36)''扩展字段编码
ext_guidvarchar (36)''扩展字段GUID(冗余)
ext_tablevarchar (50)''扩展字段表名(冗余)
object_guidvarchar (36)''对象GUID
prop_valuenvarchar (4000)''属性值

表2:base_property(扩展字段值表)

三、综述

        比如一个商家表,设计之初已添加商家编号、商家GUID、商家名称、商家地址、商家电话等字段,后期又需要增加营业时间、所在区域、商家优惠说明等扩展字段,使用上述两个表可以提升系统的可扩展性和可配置性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值