【问题标题】:Avoid Comma Separated values in table column Oracle 11g避免在表列 Oracle 11g 中使用逗号分隔值
【发布时间】:2018-10-28 07:04:39
【问题描述】:

我正在开发基于 Spring MVC 的 Web 应用程序。我正在使用Oracle 11g,我需要规范一个表名"Employee" 包含100 列,目前,我在四个不同的表中分解了相同的列。

  1. Emp_Personal_Detail
  2. Emp_Official_Detail
  3. Emp_Location_Detail
  4. Emp_Banking_Detail

现在,这里的转折出现在 Emp_Official_Detail 中。 有列名Function/WingAssigned_Section

Function_Wing 是主表,包含, 行政, 金融, 人力资源, 它。, 汽车, 区域存储 等等

同样, Assigned_Section 是包含值的主表

债券, 身份证件, 合资企业, 公平, 审计, 税收等

对于每个员工,两列都会有一对多的映射。 简单来说,每个员工关联多个Function/Wing,同时每个员工也关联多个Assigned_Section

我现在做了什么,

我只是通过逗号分隔存储值。

例如:

Emp_name: jones
Emp_code: 12321
Function/Wing: 1,2,3
Assigned_section:5,6

但我不想以这种方式管理值。 将来,我需要显示数据以及实现下载excel功能,正如我所经历的那样,逗号分隔值会降低查询性能。

现在我处于开发阶段,我有时间完成工作,所以请建议我,最好的方法或最好的结构是什么,这样可以很容易地有效地获取。

【问题讨论】:

    标签: sql spring-mvc oracle11g


    【解决方案1】:

    您需要另外两个表来解决此问题。

    用于将 Employee 映射到 Function/Wing 映射的第一个表: 结构将是简单的 2 列: 1.员工代码 2.功能/翼

    将员工映射到指定部门的第二个表: 结构将是简单的 2 列: 1.员工代码 2.assigned_section

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-11-01
      • 1970-01-01
      • 2015-04-01
      • 2017-07-04
      • 1970-01-01
      • 2023-03-30
      相关资源
      最近更新 更多