数据库表关系之间的一个问题

明月书君 2014-02-02 11:52:00
我用的是 sql server 2008 r2



这样的三张表,我想的是教师和学生的账号都存在 T2 表里,然后那些主键外键关系都在表里了(所有关系都设置级联删除更新)。

但是这样的话我删除账号里的学生账号的时候就不能删除 T3 表里的对应行了,如果我将外键 FK_学生账号连接到 T2 表的主键,并且设置了级联删除更新,保存时系统会提示

可能会导致循环或多重级联路径。请指定 ON DELETE NO ACTION 或 ON UPDATE NO ACTION,或修改其他 FOREIGN KEY 约束。

可是我不想指定别的 ON DELETE NO ACTION 或 ON UPDATE NO ACTION ,如果修改其他外键约束那么删除教师账号 T1 表的相应行也不能删了。

怎么能达到我的目的呢?删除班级可以删除所有该班级的学生,删除账号还可以删除相应表里的相应行。

我刚接触数据库,有很多地方不懂,请各位大神指教,谢谢!
...全文
271 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
發糞塗牆 2014-02-07
  • 打赏
  • 举报
回复
闲人1970 2014-02-07
  • 打赏
  • 举报
回复
将T3和T1级联,将T2和T1级联,用两个级联就可以了
kk_lucky 2014-02-07
  • 打赏
  • 举报
回复
楼上方法可行
唐诗三百首 2014-02-03
  • 打赏
  • 举报
回复
不建议用外键约束和触发器, 可以写为2个TSQL语句,封装为一个事务执行即可.
LongRui888 2014-02-03
  • 打赏
  • 举报
回复
修改一下: alter table t3 add constraint con_ttt foreign key (FK_学生帐号) references t2(用户帐号) on delete cascade on update cascade
LongRui888 2014-02-03
  • 打赏
  • 举报
回复
增加约束: alter table t3 add constraint con_ttt foreign key FK_学生帐号 references t2(用户帐号) on delete cascade on update cascade
LongRui888 2014-02-03
  • 打赏
  • 举报
回复
你把T3的学生帐号中的 FK_学生帐号 -->>>>> T2用户帐号 ,这样就可以了。 这样T3的学生帐号,就是外键了,引用自T2用户帐号了,如果你删除、更新了T2用户帐号,那么T1 和 T3的帐号,就会自动删除、更新了,实现级联删除、级联更新的效果。
shoppo0505 2014-02-03
  • 打赏
  • 举报
回复
这三个表关系不对啊。
应该这样啊。
下载了一大堆的免费文档 我也贡献一个我自己写的PowerDesigner16 5的使用文档 这个是公司领导让我自己写来做使用指导用的 写的仓促 多有不恰当的地方 望大家见谅 1 这个是16 5的版本 2 这个是以oralce11g为模板 3 文档目录如下: PowerDesigner 16 5 指导 1 一 安装 3 二 新建模板步骤 这里以Oracle11g数据库为例 3 1 新建Model 3 2 Modle设置 3 3 模板设置 4 4 右侧工具条 5 5 新建测试包 6 6 配置 6 6 1进入模板 6 6 2新建 6 6 3修改 7 6 4添加注释 7 6 5属性设置 8 6 5 1 8 6 5 2 9 6 5 3 9 6 5 4 9 6 6添加关系 10 6 7关系设置 10 6 8模板保存 12 6 9查看模板 12 三 模板导入脚本 12 1 打开Change Current DRMS 12 2 删除多余双引号 13 3 生成脚本 13 四 配置数据库 15 1 点击Database >Configure Connections 15 2 选择第三个系统数据根源 17 3 选择Oracle in OraDb11g hom1 选择下一步 然后点击完成 17 4 数据源配置 18 5 配置成功 19 五 反向工程生成模板 20 1 按照二 1和二 2生成一个空模板 20 2 选择Database >Update Model from Database 20 3 选择数据源 20 4 数据源配置 21 5 选择反向工程导出对象 22 6 可以看到反向工程自动生成的模板 即代操作工程 23 六 生成HTML文档 24 1 点击Report >Generate Report 24 2 配置完成 点击确认即可 24 3 打开html文档 应该是下图格式 25">下载了一大堆的免费文档 我也贡献一个我自己写的PowerDesigner16 5的使用文档 这个是公司领导让我自己写来做使用指导用的 写的仓促 多有不恰当的地方 望大家见谅 1 这个是16 5的版本 2 这个是以oralce11g为模板 3 文档 [更多]

34,876

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧