【问题标题】:Putting data in different columns in database table [closed]将数据放在数据库表的不同列中[关闭]
【发布时间】:2017-08-16 19:26:33
【问题描述】:

是否可以将数据放在数据库表的不同列中但使用相同的变量?例如,column1 是第 1 天的工作小时数,而 column2 是第 2 天的工作小时数,等等。

【问题讨论】:

  • 不要这样做。相反,为 DateTime 添加一个用于存储日期的列,然后为当天工作的小时数添加一个列。或者,开始和结束日期。这与规范化背道而驰,并且会超出表的最大列数(最终)。顺便说一句,我没有 DV 你。

标签: java sql netbeans


【解决方案1】:

尝试规范化数据库,而不是将所有列都放在一个表中。 您可以为所有用户信息(idnum、first_name、last_name、address)和另一个表用于存储工作时间(idnum、日期、时间、超时)。 使用时间列作为 DateTime。

【讨论】:

    【解决方案2】:

    通过分离关注点来规范化您的表。在您的情况下,即创建三个表;用户、地址和时间。在每个表中指定主键 (PK)。在用户表中使用外键关联两个子表;地址和时间卡。主键是 idnum、addr_id 和 time_id。最后两个 id 也是 users 表中的外键。示例表架构和数据如下所示。希望这会有所帮助。

    用户

    idnum |名字 |姓氏 |年龄 | addr_id | time_id

    123 |詹姆斯 |线| 32 | 22 | 856

    地址

    addr_id |街道1 |街道2 |城市|状态 |拉链

    856 |伍德利大道 6830 号 | 26 月 |范奈斯 |加利福尼亚州 | 91405

    时间卡

    time_id |时间_in |超时 |日期 | day_of_week

    22 |上午 8:00 |下午 5:00 | 2017 年 8 月 16 日 | 3

    【讨论】:

      猜你喜欢
      • 2020-03-19
      • 2014-05-25
      • 2018-01-17
      • 2012-12-27
      • 1970-01-01
      • 2021-11-24
      • 2021-08-18
      • 2012-05-15
      • 1970-01-01
      相关资源
      最近更新 更多