请教数据库设计问题

一个百万级的服务器管理系统,分全国、省、地市三级权限,还有厂商和行业纬度,曾经想过用外键关联,但是用户要求删除一个服务器,但要保存它的所有其他业务的历史记录,外键关联的记录就会一并删除。于是想采取服务器编码方式,把信息放在编码里,截取字段关联,但是开发起来很麻烦、效率低、太难扩展了,新手,请教大虾指导!

百万级 不会有性能问题吧.

你在表上加几个字段:

删除标识, 删除时间 (表示: 这个数据被用户删除了, 算是不存在了, 也就是数据还在, 但用户看不到了)

移除标识, 移除时间 (表示: 这个数据过了时效, 等效于是放到数据仓库中了, 用户也看不到了, 只有统计报表才可以用 被移除的数据)

[quote]曾经想过用外键关联[/quote]

[size=medium]千万不要用关联,好慢的

数据库设计的时候,多用存贮过程和视图,这会对速度有很大帮助的
而且要尽量少用关联,关联是数据库和程序部分匹配阻抗最大的部分
说到最后,还是要具体问题具体分析。。。呵呵 :oops:
[/size]

[quote]曾经想过用外键关联[/quote]

[size=medium]千万不要用关联,好慢的

数据库设计的时候,多用存贮过程和视图,这会对速度有很大帮助的
而且要尽量少用关联,关联是数据库和程序部分匹配阻抗最大的部分
说到最后,还是要具体问题具体分析。。。呵呵 :oops:
[/size]

晕。。。重复提交啦 :(

我认为一定要使用主外键关联,否则DBA会把你骂死。

另外,在主外键关联中,可以设置ONUPDATE=NONE的方式去处理,保留原始数据就是了。