例如旧表:employeeid | employee name | role | departmentid | department name | department address分成表1:员工id |员工姓名|角色|部门id表2:部门ID |部门名称|部门地址这是将旧数据库中的数据迁移到新数据库中,我希望有一个更好的模式来避免冗余数据我知道为每个表编写insert和select查询的直截了当的方法,但是我可能会错过一些数据。有没有行之有效的方法?
i7uq4tfw1#
工作的基础是 DepartmentID 是唯一的id,可以使用 SELECT DISTINCT 从旧表中获取所有唯一的部门ID,例如。 SELECT DISTINCT DepartmentID FROM Old_Table; mysql文档中提供了有关distinct关键字的更多信息。你可能会遇到同样的问题 DepartmentID 数据库中可能有不同的部门名称和部门地址值。这是因为您的数据库中有一个可传递的依赖关系;我们通过遵循正规形式来避免的东西。不幸的是,解决这个问题可能需要手动验证和清理数据,以确保部门名称和部门地址字段的一致性。
DepartmentID
SELECT DISTINCT
SELECT DISTINCT DepartmentID FROM Old_Table;
1条答案
按热度按时间i7uq4tfw1#
工作的基础是
DepartmentID
是唯一的id,可以使用SELECT DISTINCT
从旧表中获取所有唯一的部门ID,例如。SELECT DISTINCT DepartmentID FROM Old_Table;
mysql文档中提供了有关distinct关键字的更多信息。你可能会遇到同样的问题
DepartmentID
数据库中可能有不同的部门名称和部门地址值。这是因为您的数据库中有一个可传递的依赖关系;我们通过遵循正规形式来避免的东西。不幸的是,解决这个问题可能需要手动验证和清理数据,以确保部门名称和部门地址字段的一致性。