下面给出了20个数据库设计最佳实践,当然,所谓最佳,还是要看它是否适合你的程序。一起来了解了解吧。
-
使用明确、统一的标明和列名,例如 School, SchoolCourse, CourceID。
-
数据表名使用单数而不是复数,例如 StudentCourse,而不是StudentCourses。
-
数据表名不要使用空格。
-
数据表名不要使用不必要的前缀或者后缀,例如使用School,而不是TblSchool,或者SchoolTable等等。
-
数据库中的密码要加密,到应用中再解密。 (其实就是散列存储、单向加密)
-
使用整数作为ID字段,也许现在没有这个必要,但是将来需要,例如关联表,索引等等。
-
使用整数字段做索引,否则会带来很大的性能问题 。
-
使用 bit 作为布尔字段,使用整数或者varcha是浪费。同时,这类字段应该以“Is”开头。
-
要经过认证才能访问数据库,不要给每一个用户管理员权限。
-
尽量避免使用“select *”,而使用“select [required_column_list]”以获得更好的性能。
-
假如程序代码比较复杂,使用ORM框架,例如hibernate,iBatis。ORM框架的性能问题可以通过详细的配置去解决。
-
分割不常使用的数据表到不同的物理存储以获得更好的性能。
-
对于关键数据库,使用安全备份系统,例如集群,同步等等。
-
使用外键,非空等限制来保证数据的完整性,不要把所有的东西都扔给程序。
-
缺乏数据库文档是致命的。你应该为你的数据库设计写文档,包括触发器、存储过程和其他脚本。
-
对于经常使用的查询和大型数据表,要使用索引。数据分析工具可以帮助你决定如何建立索引。
-
数据库服务器和网页服务器应该放在不同的机器上。这回提高安全性,并减轻CPU压力。
-
Image和blob字段不应该定义在常用的数据表中,否则会影响性能。
-
范式(Normalization)要按照要求使用以提高性能。Normalization做的不够会导致数据冗余,而过度Normalization 会导致太多的join和数据表,这两种情况都会影响性能。
-
多花点时间在数据库设计上,否则你将来会付出加倍的时间来偿还。(oschina.net虫虫译)
分享到:
相关推荐
20个数据库设计最佳实践.pdf20个数据库设计最佳实践.pdf20个数据库设计最佳实践.pdf20个数据库设计最佳实践.pdf20个数据库设计最佳实践.pdf20个数据库设计最佳实践.pdf20个数据库设计最佳实践.pdf20个数据库设计最佳...
20个数据库设计最佳实践.docx
数据库设计的 10 个最佳实践!(csdn)————程序
数据库设计的 10 个最佳实践.docx数据库设计的 10 个最佳实践.docx数据库设计的 10 个最佳实践.docx数据库设计的 10 个最佳实践.docx数据库设计的 10 个最佳实践.docx数据库设计的 10 个最佳实践.docx数据库设计的 ...
数据库设计的 10 个最佳实践.pdf数据库设计的 10 个最佳实践.pdf数据库设计的 10 个最佳实践.pdf数据库设计的 10 个最佳实践.pdf数据库设计的 10 个最佳实践.pdf数据库设计的 10 个最佳实践.pdf数据库设计的 10 个...
数据库架构设计最佳实践.pptx
下面给出了20个数据库设计最佳实践,当然,所谓最佳,还是要看它是否适合你的程序。一起来了解了解吧。 1.使用明确、统一的标明和列名,例如 School, SchoolCourse, CourceID。 2.数据表名使用单数而不是复数,例如 ...
互联网数据库架构设计最佳实践.docx
内存数据库原理及最佳实践,讲述内存数据库的原理以及实例
数据架构设计与实践(上避免删库跑路黑天鹅,快狗打车数据库架构最佳实践
数据架构设计与实践(上避免删库跑路黑天鹅,快狗打车数据库架构最佳实践.zip
最佳实践 面向联机事务处理 OLTP 环境的物 理数据库设计 v 版权所有 IBM Corp 2008 2011 目录 图表 8 执行摘要 1 物理数据库设计简介 3 OL TP 工作负载特征 5 物理数据库设计 7 数据建模 9 IBM InfoSphere Data ...
银行分布式数据库设计与运维中的最佳实践.docx
MySQL数据库设计规范,MySQL数据库与oracle、sqlserver等数据库相比,有其内核上的优势与劣势。我们在使用MySQL数据库的时候需要遵循一定规范,扬长避短。本规范旨在帮助或指导RD、QA、OP等技术人员做出适合线上业务...
详细介绍数据库结构设计、范式和反范式设计、物理设计等等 目录: 一、结构优化概述 二、结构设计 三、需求分析及逻辑设计 四、需求分析及逻辑设计—反范式化设计 五、范式化设计和反范式化设计优缺点 六、物理设计...
银行分布式数据库设计与运维中的典型难点-最佳实践.docx
智能云高性能KV数据库设计与实践 百亿级分布式文件系统FastCFS架构与实现 本地服务领域接地气的AI对话机器人 银行核心系统分布式架构转型实践 程序员必须掌握的数据库原理 弹性经济,云上ClickHouse的架构思想 斗鱼...
《数据库系统原理》课程设计—图书馆管理系统 一、课程设计的目的及意义 本课程设计是在学习《数据库原理》课程后,进行的一次全面的综合训练,其目的在于 加深对数据库原理的理解,掌握运用数据库应用系统开发软件...