这篇文章谈不上指导性文章,只是分享一下自己对数据库设计方面的一些经验,希望对刚涉及这一工作的朋友提供一些建议,也希望有高手可以对一些错误或不合理的地方有一个指导,以便于我自身提高数据库设计水平。
首先,我想说一下数据库设计工作在一个项目周期中的重要性,我个人认为,只有四个字“极为重要”,一个好的数据库设计可以
很大程度缩短项目开发时间,为客户展示丰富的业务数据,需求变更过程简单快速。如果说在项目组中,项目经理是大脑,开发测试人员是四肢,那么数据库设计人
员就是心脏,心脏不给力,谈不上优秀的项目组。
数据库设计人员应该具备的素质和能力,我认为可以用以下几点概况:“比需求人员更了解需求”、“比开发人员更懂得编码”、
“比销售人员更了解客户”。前面两点大家可能很好理解,但是为什么要“比销售人员更了解客户”,我感觉这一点和前面两点同等重要,因为数据库设计人员要判
断客户中提出需求的人员是否是项目主要干系人,客户是否对业务流程精通,客户性格是否优柔寡断反复无常,最重要一点,客户是不是此系统最终使用人。如果你
判断客户性格是优柔寡断反复无常型,事事汇报,无权决断,那前期数据库设计就要采用单表少字段,多表关联的设计方法,以应付后期大量的需求变更情况(我深
有感触,需求确认单就是一张废纸)。
当设计一个表的时候,需要判断此表一段时间内的数据量,可能是
1
天、
1
个月或
1
年。根据数据量的程度合理的进行表设计。根据数据量和查询的方式来进行索引的建立。设计数据库首先要满足需求,在满足需求
的条件下,关注对性能的影响,最后再不大损耗性能的基础上,尽可能的给开发人员开发时带来方便,一个表多几个冗余字段,我感觉是可以的。尽量让开发人员少
用到多表联查的方式。
一个好的数据库设计,对整个系统的帮助是巨大的,当一个系统需要提高性能进行重构时,才发现,代码写的再好,一个垃圾
SQL
就给废了。一个
SQL
再怎么优化,不如在数据库设计的时候就考虑到。因为我个人认为,在这个世界中,能量是守恒的,做一件事所用到的能量是恒定
的,不能减少,只能转移,放到软件开发上,就是,想完成一个业务流程,所用到的能量是一定的,性能不如意,我们只能将能量转移,根据功能使用频率,将需要
长时间处理的转移到不怎么使用的功能上。每个环节都分担一点,到了需要大数据量查询的时候,性能会提升不少,人机交互体验也会改善很多。
分享到:
相关推荐
### 数据库设计技巧经验浅析 #### 一、引言 数据库设计是软件开发中至关重要的环节,良好的数据库设计不仅能确保数据的有效存储与快速检索,还能为后续的应用扩展打下坚实的基础。根据“3分技术,7分经验”的原则...
数据库设计是软件开发过程中的关键环节,尤其是在大数据和云计算时代,高效、稳定、灵活的数据库设计对于系统的性能、可扩展性和数据安全性具有决定性影响。本文将深入探讨数据库设计的一些重要技巧,帮助程序员提升...
浅谈数据库设计技巧.mht
老程序员工作笔记,五年以上的开发人员在工作中积累的经验,可以帮组很多新手,你值得拥有。
### 数据库设计技巧详解 #### 一、引言与背景 数据库设计是现代软件开发中的核心环节之一。本文从数据结构的重要性入手,探讨了不同类型的程序员在设计数据库时的表现,并提出了针对特定场景的设计技巧。 #### 二...
合理高效的数据库设计可以满足企业多变的业务需求,提高数据处理效率,保障信息安全。本文将围绕数据库设计的核心流程展开讨论,依次阐述各个阶段的重要性和实现方法。 需求分析阶段,作为数据库设计的起始阶段,其...
本文将从多个角度探讨数据库设计的方法和技巧,以期望对数据库设计人员提供指导和帮助。 设计前的准备工作是数据库设计的第一步。这一步骤包括对现有数据库设计环境的研究,了解客户的需求,对数据库运行状况的检查...
【数据库设计技巧】 数据库设计是IT领域中至关重要的一部分,它涉及到如何有效地组织和存储数据,以便于高效地访问和管理。本文将探讨一些数据库设计的关键技巧,尤其关注SQL语句的使用。 首先,数据结构是数据库...
一个良好的数据库设计不仅需要满足数据存储的需求,还要保证数据的完整性和准确性,同时也要兼顾系统的查询速度和执行效率。在设计过程中,应考虑到应用需求和开发团队的技术能力,合理选择开发工具和开发环境。...
首先,数据库设计是优化的基础。数据库的物理设计包括数据对象在存储介质上的布局,如数据块的大小,这直接影响到存储速度。逻辑设计则关注索引、数据库模式和视图等,确保数据流量分配高效。设计阶段应由专业性能...
【标题】:“架构革新高效可控_浅谈数据库服务和架构演讲V7.pdf”主要探讨了数据库服务和架构的演进,以及如何通过技术创新解决开发者在实际工作中遇到的问题。该演讲内容涉及关系型数据库、分析型数据库、图数据库...
【Oracle数据库优化设计】主要涉及到数据库的架构优化、内存管理、表设计和索引优化等方面,以下是详细的阐述: 1. **数据库优化设计**:Oracle数据库的优化设计主要包括对数据的逻辑结构进行合理的规划,例如采用...
在Oracle数据库设计中,表的构建是至关重要的基础工作,对数据库性能的影响深远。良好的表设计能显著提升数据库效率。本文主要针对Oracle初学者,介绍一些实用的设计技巧。 首先,关于列的顺序设计,尤其是允许NULL...
同时,优化工作需要在数据库设计阶段就开始考虑,以最小的代价获得最大的性能收益。在实际工作中,DBA和资深程序员应当利用他们的经验,通过分析SQL语句的执行计划,不断尝试优化方案,最终实现查询效率的最大化。
浅谈基于MySQL数据库结构设计 本文将围绕MySQL数据库结构设计进行讨论,旨在帮助读者更好地理解和应用MySQL数据库。 MySQL是一个开源的关系型数据库管理系统,它使用了一种名为Structured Query Language(SQL)的...
【摘要】中提到的小区物业管理数据库设计是一项利用计算机技术和数据库技术优化小区物业管理的重要工作。随着计算机的普及和数据处理能力的提升,建立这样的系统已成为必需。该系统涵盖了多个功能模块,如停车场管理...