y********o 发帖数: 2565 | 1 我们做一个web application用来管理一些个projects。用的是SQL Server 2000和.NET
2.0。
这个web application不是很大的,也就10来个项目经理用。
每个财政年度结束的时候要将本年度的project存档,存档以后的project就只读了,不
能修改。
我不懂如何存档比较方便,是用一个table field(比如IsArchived bit)来标记呢,还是
说干脆将要存档的project record move到一个ArchivedProject table呢?或者说这两
着儿都不行,还有比较专业的做法儿呢?麻烦指点一下儿。 |
B*****g 发帖数: 34098 | 2 看你数据大小了。要是就那么几千行,加个flag就行了。要是数据量特别大,最好另建
table
NET
还是
【在 y********o 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 我们做一个web application用来管理一些个projects。用的是SQL Server 2000和.NET : 2.0。 : 这个web application不是很大的,也就10来个项目经理用。 : 每个财政年度结束的时候要将本年度的project存档,存档以后的project就只读了,不 : 能修改。 : 我不懂如何存档比较方便,是用一个table field(比如IsArchived bit)来标记呢,还是 : 说干脆将要存档的project record move到一个ArchivedProject table呢?或者说这两 : 着儿都不行,还有比较专业的做法儿呢?麻烦指点一下儿。
|
y********o 发帖数: 2565 | 3 OK, this is a small web app with small amount of data. So, I guess we'll go
by a flag in the same table. Then, the problem is that we always have to
check that flag to know if it is a current project or an archived one.
【在 B*****g 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 看你数据大小了。要是就那么几千行,加个flag就行了。要是数据量特别大,最好另建 : table : : NET : 还是
|
B*****g 发帖数: 34098 | 4 数据小就没事,加个index就行了,数据大了就慢了。如果要用flag,最好加个trigger
阻止update。要不就在搞一个archieve的view,反正一年才update一次,下次update你
说不定都跳槽了
go
另建
【在 y********o 的大作中提到】![](/moin_static193/solenoid/img/up.png) : OK, this is a small web app with small amount of data. So, I guess we'll go : by a flag in the same table. Then, the problem is that we always have to : check that flag to know if it is a current project or an archived one.
|
w*******e 发帖数: 1622 | 5 since it is small, then check a flag is not a problem, right??
go
【在 y********o 的大作中提到】![](/moin_static193/solenoid/img/up.png) : OK, this is a small web app with small amount of data. So, I guess we'll go : by a flag in the same table. Then, the problem is that we always have to : check that flag to know if it is a current project or an archived one.
|
y********o 发帖数: 2565 | 6 麻烦讲一下为什么要加个trigger阻止update。
trigger
【在 B*****g 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 数据小就没事,加个index就行了,数据大了就慢了。如果要用flag,最好加个trigger : 阻止update。要不就在搞一个archieve的view,反正一年才update一次,下次update你 : 说不定都跳槽了 : : go : 另建
|
y********o 发帖数: 2565 | 7 makes perfect sense.
【在 w*******e 的大作中提到】![](/moin_static193/solenoid/img/up.png) : since it is small, then check a flag is not a problem, right?? : : go
|
B*****g 发帖数: 34098 | 8 以免你写update时忘了把flag放进去
【在 y********o 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 麻烦讲一下为什么要加个trigger阻止update。 : : trigger
|
|
y********o 发帖数: 2565 | 9 哦,就是说,强制性地,每次update某行数据时,必须要update这个flag。
【在 B*****g 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 以免你写update时忘了把flag放进去
|
B*****g 发帖数: 34098 | 10 no, if flag is set to 'Archieved', then abort update.
【在 y********o 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 哦,就是说,强制性地,每次update某行数据时,必须要update这个flag。
|
y********o 发帖数: 2565 | 11 哦,明白了。太好了,我得去研究怎么做这个trigger。
【在 B*****g 的大作中提到】![](/moin_static193/solenoid/img/up.png) : no, if flag is set to 'Archieved', then abort update.
|