最近項目 個人對數據庫動態字段 拓展的解決辦法
在表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