数据库设计之外键使用分析
2013-12-04 11:47
316 查看
外键的好处:一、让数据库自己通过外键来保证数据的完整性和一致性二、能够增加ER图的可读性
外键的缺点:一、影响性能(导入导出等操作,在insert, update, delete 数据都会有影响)二、开发和维护不太方便(开发过程中有大量数据出入,如果数据库迁移也是比较麻烦)
总结一、在大型系统中(性能要求不高,安全要求高),使用外键;在大型系统中(性能要求高,安全自己控制),不用外键;小系统随便,最好用外键。二、用外键要适当,不能过分追求。除非是极重要的表,否则不要加外键.越少越好。三、大数据量处理的表一定不要用主外键。四、不用外键而用程序控制数据一致性和完整性时,应该写一层来保证,然后个个应用通过这个层来访问数据库。
外键的缺点:一、影响性能(导入导出等操作,在insert, update, delete 数据都会有影响)二、开发和维护不太方便(开发过程中有大量数据出入,如果数据库迁移也是比较麻烦)
总结一、在大型系统中(性能要求不高,安全要求高),使用外键;在大型系统中(性能要求高,安全自己控制),不用外键;小系统随便,最好用外键。二、用外键要适当,不能过分追求。除非是极重要的表,否则不要加外键.越少越好。三、大数据量处理的表一定不要用主外键。四、不用外键而用程序控制数据一致性和完整性时,应该写一层来保证,然后个个应用通过这个层来访问数据库。
相关文章推荐
- 数据库设计是否使用外键
- 大家设计数据库时是否使用外键
- python django 多级业务树形结构规划及页面渲染 概述: 在项目中,父级到子级结构并不少见,如果仅仅的两层树形结构,我们可以使用数据库的外键设计轻松做到,子级业务表设计一字段外键到父级
- mysql的优化(表的设计,优化步骤,四种索引,分析慢查询,使用索引的深入解析,存储引擎分析,表的分割,数据库配置)
- 设计数据库时使用外键吗?
- 浅析设计数据库时是否使用外键约束
- 设计数据库时是否使用外键
- 大家设计数据库时使用外键吗?
- 设计调查选项处理&Answer实体的分析设计&开发的经验技巧&数据库使用等
- 大家设计数据库时使用外键吗?
- 使用silverlight构建一个工作流设计器(十六)-持久化数据到数据库—数据库结构
- 使用MySQL Workbench进行数据库设计——MySQL Workbench安装方法总结
- 【JAVA】设计模式之状态模式(State模式)的使用分析
- 使用PowerDesigner 设计SQL Server 数据库
- 使用 NoSQL 数据库分析大规模数据
- 如何使用HIstCite分析Web of Science数据库的文献
- 使用DMV和DMF分析数据库性能
- 使用MySQL Workbench进行数据库设计——MySQL Workbench使用方法总结
- 数据库中主键和外键的设计原则
- 如何使用sql查询数据库表结构的设计(sqlserver,oracle)