SQL server 2005约束到底应不应该建?

来源:百度知道 编辑:UC知道 时间:2024/06/20 04:45:25
对SQL server 2005知道的不是很深!
最新要设计一个电子商城的数据库,在约束这个问题上出现了问题,有时候,由于约束的存在,造成触发器失效,但是约束又能很好保证数据的完整性,
比如说,在订单表中用户名,references 会员表的用户名,触发器建在用户表中,删除用户,就能删除用户的所有订单,但是约束的存在,触发器就失效了,
请有经验的前辈给设计方法,说一下这种问题,和约束的问题,
简要说一下,在建订单表中有个列 username varchar(30) references user(username),触发器 大意 create trigger
userdelete on user for delete as
begin
declare @x
select @x=username from deleted
delete from 订单表 where username=@x,我写了个大意,这个触发器就有能用了
你看这样类型的设计应该怎么做?

个人认为,如果你的数据库只是做为一个软件系统后台,触发器或是约束建得越少越好,所有的安全性完整性约束在应用系统里做控制,这样可以减轻服务器业务处理的压力
不晓得这种想法对不对

你这个约束的情况也没说清楚,不能肯定就是这个原因造成的。
用约束是为了保证新增、修改数据的有效性
但是你说对于删除也会出问题,你把具体情况描述清楚,才能帮你找到问题的关键解决啊!

应该说明创建了什么约束,最好找出错误提示,比较方便查找原因。

如果是要达到你说的这个要求,在两个表之间建立一个关系,使用级联删除就行了。