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

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

在表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

原文地址:https://www.cnblogs.com/llhhll/p/13024187.html