如何有效地将mysql表拆分为多个表(按列拆分而不是按行拆分)?

68de4m5k  于 2021-06-25  发布在  Mysql
关注(0)|答案(1)|浏览(365)

例如
旧表:employeeid | employee name | role | departmentid | department name | department address
分成
表1:员工id |员工姓名|角色|部门id
表2:部门ID |部门名称|部门地址
这是将旧数据库中的数据迁移到新数据库中,我希望有一个更好的模式来避免冗余数据我知道为每个表编写insert和select查询的直截了当的方法,但是我可能会错过一些数据。有没有行之有效的方法?

i7uq4tfw

i7uq4tfw1#

工作的基础是 DepartmentID 是唯一的id,可以使用 SELECT DISTINCT 从旧表中获取所有唯一的部门ID,例如。 SELECT DISTINCT DepartmentID FROM Old_Table; mysql文档中提供了有关distinct关键字的更多信息。
你可能会遇到同样的问题 DepartmentID 数据库中可能有不同的部门名称和部门地址值。这是因为您的数据库中有一个可传递的依赖关系;我们通过遵循正规形式来避免的东西。
不幸的是,解决这个问题可能需要手动验证和清理数据,以确保部门名称和部门地址字段的一致性。

相关问题