【发布时间】:2017-08-16 19:26:33
【问题描述】:
是否可以将数据放在数据库表的不同列中但使用相同的变量?例如,column1 是第 1 天的工作小时数,而 column2 是第 2 天的工作小时数,等等。
【问题讨论】:
-
不要这样做。相反,为 DateTime 添加一个用于存储日期的列,然后为当天工作的小时数添加一个列。或者,开始和结束日期。这与规范化背道而驰,并且会超出表的最大列数(最终)。顺便说一句,我没有 DV 你。
是否可以将数据放在数据库表的不同列中但使用相同的变量?例如,column1 是第 1 天的工作小时数,而 column2 是第 2 天的工作小时数,等等。
【问题讨论】:
尝试规范化数据库,而不是将所有列都放在一个表中。 您可以为所有用户信息(idnum、first_name、last_name、address)和另一个表用于存储工作时间(idnum、日期、时间、超时)。 使用时间列作为 DateTime。
【讨论】:
通过分离关注点来规范化您的表。在您的情况下,即创建三个表;用户、地址和时间。在每个表中指定主键 (PK)。在用户表中使用外键关联两个子表;地址和时间卡。主键是 idnum、addr_id 和 time_id。最后两个 id 也是 users 表中的外键。示例表架构和数据如下所示。希望这会有所帮助。
idnum |名字 |姓氏 |年龄 | addr_id | time_id
addr_id |街道1 |街道2 |城市|状态 |拉链
time_id |时间_in |超时 |日期 | day_of_week
【讨论】: