`

20个数据库设计浅谈建议

 
阅读更多
1. 使用完整的一致的数据表名称和字段名,如:School, StudentCourse, CourseID

2.数据表名称使用单数,比如使用StudentCourse 而不是StudentCourses,数据表代表实体的一个集合,因此没有必要使用复数名称。

3. 数据表名称不要使用空格,比如StudentCourse 比Student Course更好。

4.数据表名称不要使用不必要的前缀和后缀。比如TblSchool, SchoolTable 都不如School 好。

5.密码必须加密保存,只有需要时在应用程序中解密。

6.为所有数据表都使用整数id作为字段,如果现在不需要id,也许将来会需要,比如关联表或索引等。

7.选择整数类型的字段作为索引,varchar字段索引会引起性能问题。

8.使用bit字段作为布尔值,使用整数Interger或varchar作为布尔值字段会增加不必要的存储消耗,这些布尔字段名称以"Is"开始。

9.提供数据库的授权访问方式,不要将管理员角色给每个人。

10.避免“select *”,如果必须使用,需要确认必要性,使用 “select 字段名"有更好的性能。

11.只有应用系统有一定规模才使用ORM(对象和关系数据库映射)框架如Hibernate iBatis等,这些ORM框架性能需要很详细的配置参数来调校。

12. 将大的很少用使用的表切分成多个表,存储到不同物理存储上,这样能获得好的性能。

13.对于大的 重要的数据库系统,使用失败恢复集群 自动备份 复制等方式。

14.使用约束(外键 或not null)维持数据完整一致性,不要将所有控制器给应用代码。

15.缺乏数据库文档是邪恶的。

16.对于频繁查询使用索引,分析工具可以帮助你决定哪些需要索引。

17.数据库服务器和Web服务器器放在不同的机器上。这样有更好性能。

18.不要在一个频繁查询的表里定义图片和blob数据类型。这些特殊数据需要放在单独不同的表中。

19.规范化(Normalisation)有助于性能提升,非规范化会引起数据冗余,过于规范化会引入太多的表,两者都会导致性能问题。

20.如果需要花费时间进行数据库建模设计,节省设计时间将导致维护时间过长或重新设计时间。20个数据库设计浅谈建议
分享到:
评论

相关推荐

    浅谈如何优化SQL Server数据库.pdf

    在数据库设计的优化方面,索引设计是一个关键因素。索引的创建需要考虑预计的数据量和查询,可能与实际使用有所区别。索引设计需要注意的几个方面包括:根据数据量决定需要增加索引的表;根据使用频率决定需要建立...

    浅谈Oracle数据库SQL调整与优化.pdf

    因此,本文深入探讨了Oracle数据库SQL语句的优化问题,同时分析了索引应用中的常见错误并提出了改进建议。 首先,Oracle数据库的查询过程包括客户端发送SQL语句到服务器端,服务器进程接收并处理SQL语句,涉及查询...

    浅谈Oracle数据库基于索引的SQL语句优化方法.pdf

    作者龚维荣、周顺平、万波在文章中结合自己的实际工作经验,对Oracle数据库基于索引的SQL语句优化方法进行了初步探讨,提出了建立必要索引的建议和方法,并分享了一些简单实用的优化技巧。这些技巧如果能够在数据库...

    浅谈优化SQLServer数据库服务器内存.doc

    ### 优化SQL Server数据库服务器内存配置的关键知识点 #### 一、内存基础概念 - **物理内存**:指安装在计算机内部的实际RAM芯片。 - **虚拟内存**:利用磁盘(通常是硬盘)空间来模拟额外RAM的功能,即通过将内存...

    浅谈基于微信小程序的校园一体化服务平台的设计与开发.pdf

    数据库的使用也应遵循安全规范,确保数据库表的设计安全,避免SQL注入风险,保护数据不被恶意访问和破坏。 综上所述,微信小程序在校园一体化服务平台设计与开发中具有重要的实践意义。它不仅能够满足校园用户的...

    浅谈C语言学习的建议

    ### C语言学习的重要性和建议 #### 一、引言 C语言作为一种结构化的高级编程语言,在计算机科学领域占据着举足轻重的地位。它不仅在系统编程、嵌入式开发等领域有着广泛的应用,而且也是许多其他高级语言的基础。...

    浅谈Python peewee 使用经验

    ### 浅谈Python peewee 使用经验 #### 一、简介 Peewee 是一个简单、轻量级的 Python ORM (对象关系映射) 库,适用于 Python 2.6+ 和 3.2+ 版本。它支持多种数据库系统,包括 SQLite、MySQL 和 PostgreSQL。Peewee ...

    ASP+ACCESS网站安全问题浅谈

    ### ASP+ACCESS网站安全问题浅谈 #### 一、引言 随着互联网技术的发展,越来越多的企业和个人选择使用ASP(Active Server Pages)结合ACCESS数据库来构建网站。ASP是一种由微软开发的服务器端脚本环境,它允许...

    vb学习浅谈(经验)

    ### VB学习浅谈——数据库连接经验分享 #### 一、引言 对于初学者来说,掌握Visual Basic (VB) 的数据库连接技术是非常重要的一步。本文将重点介绍在使用VB进行数据库编程时的一些基本技巧和常见问题解决方案。...

    浅谈ORACLE中基于JAVA的存储查询优化.pdf

    文章中指出了对象关系模型的建立是数据库设计的一个重要环节,并强调了关系数据模型调整和优化对于数据库性能保持和提高的影响。关系模型需要反映现实世界中实体对象之间的关系,并能够适应变化的业务需求。 5. ...

    Web应用系统的缓存技术浅谈

    【缓存技术浅谈】 缓存技术是一种优化性能的关键手段,尤其在Web应用系统中扮演着重要角色。本文将探讨缓存的基本概念、其在Web应用系统中的作用以及各种类型的缓存技术。 缓存,也称作Cache,是高速缓冲存储器,...

    浅谈数据的排序和筛选教学设计说明.doc

    《数据的排序和筛选》教学设计旨在教授高中学生如何在ACCESS数据库中有效地管理和分析数据,这是信息技术选修课程《数据管理技术》的重要组成部分。课程主要围绕数据的排序和筛选两个核心概念展开,旨在帮助学生理解...

    浅谈《C语言程序设计》课程教学改革.pdf

    最后,通过持续的课程建设和教学改革,可以提升学生在数据库系统设计、开发和管理方面的技能,特别是在医疗等特定领域,如中医院校的医学数据资源管理和HIS系统的优化。 总的来说,C语言程序设计课程教学改革关注的...

    浅谈微信小程序第三方开发及应用探析.pdf

    “专业指导”则可能意味着文档中会提供一些专业的建议、技巧或是最佳实践。 由于提供的部分内容非常有限,并且存在识别错误,很难从中获取有用的信息。但是,我们可以推断,内容可能包含了微信小程序开发的关键点,...

    缓存技术浅谈PPT简介

    设计缓存方案时,需要考虑多个因素,如缓存命中率、数据更新策略(如LRU、LFU)、缓存失效策略、缓存一致性以及如何处理缓存穿透和缓存雪崩等问题。此外,缓存大小的设定、缓存的数据结构选择、并发控制等也是重要...

    涂勇策-Android应用开发浅谈

    涂勇策在MDCC 2015中国移动开发者大会上发表的主题演讲“Android应用开发浅谈”,概述了Android开发历程、面临的主要问题及技术方案、新产品开发思路以及技术演进的方向。 首先,涂勇策介绍了自己的背景信息,他是...

    浅谈java!

    - **软件工程原则**:学习软件工程的最佳实践,如设计模式、重构技术等。 - **软技能培养**:培养良好的沟通能力、团队合作精神等软技能。 #### 结语 学习Java是一项长期的过程,需要持之以恒的努力和不断实践的...

    浅谈铁路交通运行 智能化控制系统的设计与实现.pdf

    【铁路交通运行智能化控制系统设计与实现】 随着社会进步和信息技术的发展,铁路交通作为重要的运输方式,其智能化控制系统的构建显得愈发重要。本文聚焦于铁路交通运行的智能化控制系统,旨在探讨如何设计并实现这...

    浅谈计算机程序设计类课程的教学、考核改革与实践.docx

    因此,建议采用更注重实践的考核方式,如设计数据库、编写功能模块、实现系统并撰写开发文档,这既能检验学生的综合能力,也有利于他们在实际操作中提高查阅资料、自学和解决问题的能力。 最后,引入项目驱动的教学...

    浅谈供水企业信息化规划

    设计原则强调向下兼容,信息资源共享,系统安全稳定,经济实用且开放先进,遵循行业标准,确保系统的协作性和独立性。 系统总体逻辑结构分为应用层、服务层和资源层。应用层是用户交互的界面;服务层提供公用组件和...

Global site tag (gtag.js) - Google Analytics