当前位置:首页 > 技术积累 > 正文内容

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

竹林之风6年前 (2017-11-28)技术积累2700

一、扩展字段表

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

字段名称数据类型属性允许空默认值备注
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、商家名称、商家地址、商家电话等字段,后期又需要增加营业时间、所在区域、商家优惠说明等扩展字段,使用上述两个表可以提升系统的可扩展性和可配置性。


扫描二维码推送至手机访问。

版权声明:本文由久爱编程网发布,如需转载请注明出处。

本文链接:http://9icode.com/index.php/post/28.html

标签: 数据库
分享给朋友:

相关文章

实现网页原路返回:从哪个页面跳转过来就返回哪个页面

实现网页原路返回:从哪个页面跳转过来就返回哪个页面

一、需求        导航对于PC网站或WAP网站有着相当重要的作用,它有利于提升用户体验,不至于让用户迷路。而“返回”就是导航的功能之一,主要体现在WAP网...

ASP.NET中报“无法在已发送HTTP标头之后进行重定向”异常问题解决

ASP.NET中报“无法在已发送HTTP标头之后进行重定向”异常问题解决

        ASP.NET中报“无法在已发送HTTP标头之后进行重定向”异常时,其中一个原因是:在已经重定向后又重定向。在ASP.NET中实现重定向有以下几...

ASP.NET中报“无法在已发送HTTP标头之后设置状态”异常问题解决

ASP.NET中报“无法在已发送HTTP标头之后设置状态”异常问题解决

        ASP.NET中报“无法在已发送HTTP标头之后设置状态”异常,是因为设置Response的StatusCode之前,程序已设置响应标头。可从以...

ASP.NET网站自定义错误处理及其它安全相关

ASP.NET网站自定义错误处理及其它安全相关

        ASP.NET网站在运行过程中总是有可能报错,例如404等HTTP错误、500等程序异常。在IIS托管并报错的情况下,网站的默认行为依次是:(1).NET运行时接收并处理的部分显示.N...

ASP.NET MVC WebApi控制器方法使用async假死超时问题

ASP.NET MVC WebApi控制器方法使用async假死超时问题

        在一个ASP.NET MVC WebApi控制器方法中使用async标记为异步方法后,有时会假死超时。根本原因是同步方法和异步方法混合造成的死锁...

使用Nginx实现简单密码认证

使用Nginx实现简单密码认证

        假设一个网站没有实现登录认证功能,我们要临时增加一个简单的账号密码认证,可以使用Nginx来实现该功能。  server&n...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。