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

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

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

一、扩展字段表

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

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


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

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

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

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

相关文章

可迁移数据库的基本命名和实施规范

可迁移数据库的基本命名和实施规范

前言        数据库管理系统(DBMS)是各类信息系统的核心组成部分,常用的关系数据库系统(RDBMS)有SQLite、SQL Server、MySQL、...

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...

从被扫描记录看网站安全应该注意的一些细节

从被扫描记录看网站安全应该注意的一些细节

1、尽可能地隐藏服务器真实IP,减少攻击目标。例如使用负载均衡、网关等作为门户,由负载均衡或网关转发到后端服务器。2、服务器必须开放的服务(除HTTP、HTTPS等为公众开放的服务外),尽可能改为其它较大的不常用的端口号,这样攻击者需要扫描...

ASP.NET Core网站报“An assembly specified in the application dependencies manifest was not found”异常解决

ASP.NET Core网站报“An assembly specified in the application dependencies manifest was not found”异常解决

        ASP.NET Core网站报“An assembly specified in the application dependencies ma...

发表评论

访客

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