24、数据库设计:从数据模型到实际应用

数据库设计:从数据模型到实际应用

1. 数据模型转化中的复杂情况

在数据库设计里,将数据模型转化为实际设计时,会碰到诸多复杂状况。以部门与员工关系为例,若该关系存在必需子项,就得完成特定表格填写。并且,像插入部门记录、修改员工记录以及删除员工记录等操作,都可能需要触发器来处理。而部门修改操作,因部门有代理键,通常无需额外动作。

另外,一个表格可能参与多个关系,甚至同一两个表格间也可能存在多种关系。每种关系的最小基数不同,有 O - M、M - O、M - M 等类型。部分关系需要触发器,这就意味着每个表格可能有好几组插入、更新和删除触发器。这些触发器不仅编写和测试复杂,执行时不同触发器的动作还可能相互干扰。

2. 最小基数设计总结

不同类型关系的最小基数设计决策和文档创建总结如下:
| 关系类型 | 最小基数 | 设计决策 | 设计文档 |
| — | — | — | — |
| M - O | | - 更新级联或禁止?
- 删除级联或禁止?
- 插入子项时获取父项的策略
- 插入父项时获取子项的策略
- 主键更新级联或禁止?
- 子项外键更新策略
- 子项删除策略 | 引用完整性(RI)操作以及插入子项时获取父项策略的文档 |
| O - M | | 使用特定模板,还需考虑插入首个父/子实例和删除最后一个父/子实例时的触发器冲突处理 | 包含 M - O 决策,以及触发器冲突处理文档 |
| M - M | | 对于强制父项,RI 操作及插入子项时获取父项策略的文档;对于强制子项,使用特定模板,添加触发器冲突处理文档 | 相关策略和冲突处理文档

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值