回 帖 发 新 帖 刷新版面

主题:有关数据库表的关系视图设计问题

请教一下
怎样设计数据库中表的关系视图以确保,表C的所以记录总数等于表A和表B的记录之和呢?
也就是C的表记录来源于A和B,并且完整包含A,B的记录。

ps:只需要确保ID类的某一列就可以了,比如A表中的A_Id列和B表中的B_Id列中的数据都能在C表
中的C_Id列中找到.

回复列表 (共4个回复)

沙发

1
这个不需要关系图的
2
应该用触发器实现
3
实际上连触发器也不要,只要建个视图即可
比如
create view c
as
select 字段列表 from a
union all
select 字段列表 from b

板凳

[quote]1
这个不需要关系图的
2
应该用触发器实现
3
实际上连触发器也不要,只要建个视图即可
比如
create view c
as
select 字段列表 from a
union all
select 字段列表 from b[/quote]

我想你误解我的意思了。
我不太懂视图,不过你这样是创建一个数据表吧。
我的要求是我往表A,B或C中添加一条记录时它会检查这个关系确保数据合法。
就像2个表的一对多关系图一样。

3 楼

确实误解了
但你的要求还是没看懂
如果要向A插入一条记录,他的ID必须在C中存在
但在C中这个ID是不可能存在的,因为C中的ID又必须在A中存在,而这个ID还没插入A呢
晕了

4 楼

[quote]确实误解了
但你的要求还是没看懂
如果要向A插入一条记录,他的ID必须在C中存在
但在C中这个ID是不可能存在的,因为C中的ID又必须在A中存在,而这个ID还没插入A呢
晕了[/quote]

就是这个意思。
也就是说当你写插入表的sql语句时必须同时向相关表插入。只插入一个表会报错。
防止不知道规则的人乱插数据。

我来回复

您尚未登录,请登录后再回复。点此登录或注册