数据库动态字段 个人设计的思考

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库动态字段 个人设计的思考相关的知识,希望对你有一定的参考价值。

 

最近项目 个人对数据库动态字段  拓展的解决办法 

在表2中拓展字段默认10个; 表1中添加时候判断只能<=10个; 表1中添加扩展信息跟表2中拓展字段进行关联。用Datable来进行动态展示存储转换。

 

 

1公司基本信息配置表

comapanyId    名称   默认值     关联字段

   001              性别       男        Column1

   001              籍贯       中国      Column2

 

2公司员工配置默认表

companyid    employeeId     employeeName   Column1(拓展字段1)     Column2(拓展字段2)   Column3(拓展字段3)   Column4(拓展字段4)

      001                  101                  张三                            男                              中国

      001                  102                  李四                            女                              中国

 

 

网上总结的一些办法:

1. 表动态添加字段。(排除)

2. 先预留拓展字段,到时再用  进行映射(优点:相较于其他做法,比较稳定,不用行转列,不用解析XML。 缺点:会有大量的空的字段,需要记录映射关系,查询时比较复杂。)

3. 使用 XML 字段保存。(优点:扩展容易,维护容易。缺点:在查询或解析时需要大量的对字符串的处理,性能上有问题。)

4. JSON 格式保存。(同上)

5. 属性字段行存储(键值存储)改列为行 用另外一个表存放定制字段    展示时候  行转列 列转行  (优点:扩展容易,结构简单。 缺点:数据量比较大,查询时可能比较慢。)

SQL Server 动态行转列(参数化表名、分组列、行转列字段、字段值)

  https://www.cnblogs.com/gaizai/p/3753296.html#_labelFour

一些参考文章:

https://blog.csdn.net/kk185800961/article/details/53208667

 

 

以上是关于数据库动态字段 个人设计的思考的主要内容,如果未能解决你的问题,请参考以下文章

设计模式---访问者模式

ASP.NET动态网站课程设计——个人网页

报表功能设计思考-初步尝试-第一次

商城系统中商品模块数据库设计的一些思考

个人理财应用数据库设计

“合购团体票”问题设计与结论思考