我正在尝试更新一个有 network_name 的表,比如说LOAD表。表格网络也具有相同的列, network_name 。现在,如果在表格网络上更新了相同的值,我将如何更新表LOAD上的值?
LOAD
network_name | product code |
-------------+--------------+
Talk & Text | aaaaaaaaaaa
Talk & Text | aaaaaaaaaaa
Touch Mobile | aaaaaaaaaaa
网络
network_id |network_name | network code |
-----------+-------------+--------------+
12235 |Talk & Text | aaaaaaaaaaa
23343 |Smart | aaaaaaaaaaa
34343 |Touch Mobile | aaaaaaaaaaa
现在,如果将Talk N Text更改为TalkText,我将如何更新Load表?
答案 0 :(得分:1)
将主要/ ID列添加到“加载”:
load_id | network_name | product_code |
--------+----------------+---------------+
0 | talk & text | aaaaaaaaaaaa |
1 | touch & mobile | aaaaaaaaaaaa |
2 | smart | aaaaaaaaaaaa |
来自NETWORK的参考load_id:
network_id | load_id | network_code |
-----------+----------+---------------+
12235 | 0 | aaaaaaaaaaaa |
23343 | 2 | aaaaaaaaaaaa |
34343 | 1 | aaaaaaaaaaaa |
将所有更新应用于“加载”并使用SQL链接结果。
答案 1 :(得分:0)
在规范化数据库中,network_name实际上并不属于LOAD表,因为它的数据与NETWORK实体相关。
如果LOAD表需要与NETWORK表有关系,那么不要在LOAD表中使用network_name列,而是使用network_id列。
现在,如果network_name发生更改但LOAD和NETWORK表仍然存在关系,则只需更新NETWORK表。
如果要进一步规范化,那么可以在LOAD表中添加load_id列,从LOAD表中删除network_id,然后创建一个新表,该表只包含NETWORK和LOAD之间的关系(即带有network_id的表)和load_id列)但是你是否这样做是由你的问题域决定的。