A
allenzen
Unregistered / Unconfirmed
GUEST, unregistred user!
我在做一个我多层系统开发,碰到以下问题,请大家给点意见。
假设有多个表是主从关系。如主表-->子表-->子子表-->子子子表(没办法,非要这样)
在数据库设计时,我就犯了犹豫。因为要涉及远程复制的问题。 当时就想着两种方法:
1)利用INT类型,实现自增长
2)利用GUID类型,实现主键的唯一。(参照李维的做法)
利用GUID虽然有好处(远程复制可解决数据更新冲突),但是这种类型太大(38个字符),在数据量大的
情况下,这是很可怕的。所以我选择了INT类型。
但是在多层开发中,就碰到了问题。
因为ClientDataset中是缓存更新。那么在多级主从关系表中,主键的值就无法确定。
如
Table1 (ID,Date,....)
Table2 (ID,ParentID, PName...)
Table3 (ID,ParentID, Qty.....)
在客户端如果新增一笔数据,Table2 Table3 的ID和ParentID就无法确定。不要告诉我POST之后就A视之为ApplyUpdate
希望各位给点意见!
假设有多个表是主从关系。如主表-->子表-->子子表-->子子子表(没办法,非要这样)
在数据库设计时,我就犯了犹豫。因为要涉及远程复制的问题。 当时就想着两种方法:
1)利用INT类型,实现自增长
2)利用GUID类型,实现主键的唯一。(参照李维的做法)
利用GUID虽然有好处(远程复制可解决数据更新冲突),但是这种类型太大(38个字符),在数据量大的
情况下,这是很可怕的。所以我选择了INT类型。
但是在多层开发中,就碰到了问题。
因为ClientDataset中是缓存更新。那么在多级主从关系表中,主键的值就无法确定。
如
Table1 (ID,Date,....)
Table2 (ID,ParentID, PName...)
Table3 (ID,ParentID, Qty.....)
在客户端如果新增一笔数据,Table2 Table3 的ID和ParentID就无法确定。不要告诉我POST之后就A视之为ApplyUpdate
希望各位给点意见!