数据库设计的问题!请问是删还是不删? 用户表能有多少记录啊? 大不了几千个吧? 有什么关系呢在用户表中加一个字段比如叫'DELETED',如果用户离开了就把这个字段设成'Y',在查询的时候如果要查现有的用户就SELECT * FROM EMP WHERE DELETED <> 'Y'.这就是所谓的逻辑删除,不建议用物理删除. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 "日积月累,用户表中的记录将太多!"我认为不必担心. 就算你的系统将不修改地在现在的软硬件平台上运行10年, 能因为数据量太大而崩溃吗? 内部的BBS不会有很大的数据量. >>按照:弱水三千的设计(以前也这样设计过)>>那这样又多了判断条件,减慢速度呀!这只是在查询时多了一个AND的判断条件过滤,而且用=或者<>,速度不会降低的. 当然是KingSunSha(弱水三千)的方法,所有大数据库都是这样设计的 USER(公司职员表)和CONTENT(发表的公告文章表)这两个表之间存在参照完整性约束(即平时说的“父子表”),其中USER(公司职员表)是父表,CONTENT(发表的公告文章表)是子表。好了,现在如果要删父表的记录,根据参照完整性的要求,必须删除子表中相应的记录--这满足应用的要求吗?满足,这不妨删除;否则,就别删。当然了,USER(公司职员表)中的记录(每一个职工)的状态不同,因此设置一个属性记录其状态(这儿是“是否在职”),如同KingSunSha(弱水三千)的方法,是常见的,也是必须的,只要你把这个属性看成是职工(user)实体的一个组成部分就行了。数据库设计,首先是完整、一致、安全、并发操作,速度是很后面考虑的事--某些特殊的应用除外。 关于varchar与int的转换 sql:数据递增到一个值,再递减到一个值,循环。如何选取相邻两个最大值或最小值之间数据个数? 这样的语句怎么写?Asp.net(c#)中的sql查询没有结果时返回值0 关于SQL查询分组的问题? 如何在原表上加入合计值? 关于多对多的查询与更新问题 这个字符串模糊查找怎么写 sql 2000如何才能连接到2008上 一个多用户访问的问题 sql数据库端口屏蔽怎么办? 请问SQL Server2000 的数据库能用VC的ODBC访问吗? 高龄菜鸟的深奥问题(关于SQL-Server)
>>那这样又多了判断条件,减慢速度呀!
这只是在查询时多了一个AND的判断条件过滤,而且用=或者<>,速度不会降低的.
好了,现在如果要删父表的记录,根据参照完整性的要求,必须删除子表中相应的记录--这满足应用的要求吗?满足,这不妨删除;否则,就别删。
当然了,USER(公司职员表)中的记录(每一个职工)的状态不同,因此设置一个属性记录其状态(这儿是“是否在职”),如同KingSunSha(弱水三千)的方法,是常见的,也是必须的,只要你把这个属性看成是职工(user)实体的一个组成部分就行了。
数据库设计,首先是完整、一致、安全、并发操作,速度是很后面考虑的事--某些特殊的应用除外。