表的设计问题

bingliang008 2009-06-03 05:26:35
有一张表需要记录他的操作,并需要记录每次操作后跟以前的区别。同时这张表可能进行N次操作,并能得到第N次的完成数据。
例如:
表1里有以下内容:
ID TITLE NAME
1 A1 A1
2 B1 B1
3 C1 C1
4 D1 D1
经过第一次修改后,表1的内容为:
ID TITLE NAME
1 A1 A1
2 B1 B1
3 D1 D1
4 E2 E2
经过N次修改后,表1的内容为:
ID TITLE NAME
1 Nn Nn
2 B1 B1
3 Cn Cn
4 E2 D2

1.我需要知道每次我的修改记录
2.第N次的结果是什么(N为任意次数)
3.并能比较着不同时期的得到的表的不同
...全文
62 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
bingliang008 2009-06-08
  • 打赏
  • 举报
回复
outred2000

内容不是一般的多,所以你的方法不行,谢谢回复
outred2000 2009-06-06
  • 打赏
  • 举报
回复
[Quote=引用楼主 bingliang008 的帖子:]
有一张表需要记录他的操作,并需要记录每次操作后跟以前的区别。同时这张表可能进行N次操作,并能得到第N次的完成数据。
例如:
表1里有以下内容:
ID TITLE NAME
1 A1 A1
2 B1 B1
3 C1 C1
4 D1 D1
经过第一次修改后,表1的内容为:
ID TITLE NAME
1 A1 A1
2 B1 B1
3 D1 D1
4 E2 E2
经过N次修改后,表1的内容为:
ID TITLE NAME
1 Nn Nn
2 B1 B1
3…
[/Quote]
如果表的内容不多的话把它横向放可能好一点
ID TITLE NAME time
1 A1,B1,C1,D1 A1,B1,C1,D1 第一次的时间
经过第一次修改后,表1的内容为:
ID TITLE NAME time
1 A1,B1,C1,D1 A1,B1,C1,D1 第一次的时间
2 A1,B1,D1,E2 A1,B1,D1,E2 修改后的时间

lonelyriver 2009-06-05
  • 打赏
  • 举报
回复
丿
sjqzone 2009-06-03
  • 打赏
  • 举报
回复
这就是多表关联了,取出最新的那条记录,设计的比较好。
ACMAIN_CHM 2009-06-03
  • 打赏
  • 举报
回复

[Quote]把每次的得到的表都记录到数据库[/Quote]

这个方法太浪费时间和空间,比如你只修改了一条记录,要把全表的千万条记录都需要复制。效率有些差了。

[Quote]另外就是以第一录入为参照,如果记录下每个操作的步骤,不实际删除修改数据,只是用标签区分[/Quote]
这个倒是比较常见的,比如产品价格的修改,它并不对目前的价格进行修改,而是新建一条相同的,然后把有效期改为今天开始。这样你可以查到所有的历史价格。
WWWWA 2009-06-03
  • 打赏
  • 举报
回复
你要记录每次修改前后字段内容,数据量肯定大
bingliang008 2009-06-03
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 WWWWA 的回复:]
建立另一张表,记录每次修改前后字段内容,并记录修改次数
OR
修改前记录保存,修改后记录也保存,修改次数是一致的
[/Quote]
这些我都有想过,第一种情况是我不知道怎么处理已经删除的数据

第二种是我觉得太麻烦了,数据量太大了
bingliang008 2009-06-03
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ACMAIN_CHM 的回复:]
没什么好办法,
一是在你的应用程序中通过自己的程序来实现。
二是利用触发器


[/Quote]

我是这样想的,把每次的得到的表都记录到数据库,需要修改的时候就把表复制一份,这样就是真正意义的不同表了,也可以对照不同表的记录,但是这样数据量就很大,不便于维护。

另外就是以第一录入为参照,如果记录下每个操作的步骤,不实际删除修改数据,只是用标签区分

以上就你说的通过程序解决的方法,不过我觉得这样很麻烦~~~~~~~~~~

请高人再指点~~~~~~~~~~
WWWWA 2009-06-03
  • 打赏
  • 举报
回复
建立另一张表,记录每次修改前后字段内容,并记录修改次数
OR
修改前记录保存,修改后记录也保存,修改次数是一致的
ACMAIN_CHM 2009-06-03
  • 打赏
  • 举报
回复

没什么好办法,
一是在你的应用程序中通过自己的程序来实现。
二是利用触发器

56,687

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧