作为一个后端开发者,数据库设计是我们避不开的课题,不管是面试的时候,还是在真实工作的情境下,我们的工作不仅仅是将代码开发出来,根据开发的项目,设计出支撑项目的数据库,也是一个合格的开发者所应该具备的技能之一,这里我将数据库设计分成几个重要的部分,以下是我做数据库设计时的步骤。
数据库设计步骤
需求分析
需求分析相信大家都知道,我们在做开发之前先做需求分析,能让我们的开发更加顺畅,它是我们开发的指南针,好的需求分析能让我们明确开发的需求,避开不需要做的功能需求,减少不必要的时间,而在数据库设计当中,需求分析也同样重要,当然它不需要结成像是需求文档一样的东西,首先要搞清楚为什么要做需求分析。需要存储哪些数据。
数据的特点,其中最重要的就是数据的时效性,在项目不断壮大的情况下,我们存储的数据会越来越多,这些数据是否能够清理,还是应该归档,这都是在确定数据时效性之后才明确的。
数据的生命周期。这个和数据的特点有些类似,像是增长快、量大、但又非必要的数据,我们可以考虑是否选择将这样的数据存入数据库,如果一定要存数据库,也可以提早确定分表的规则或者是清理的规则,如果等到数据变得十分庞大后再去考虑这些问题会影响到业务的正常进行,这些事情在需求分析就能确定下来是最好不过的。
而经过需求分析,我们也有需要搞清楚的事情,这也是需求分析的目的。首先是项目会涉及到的实体,像是在一个电商项目中,商品就是其中一个实体,一般情况下,我们可以将一个实体设计成一个表,当然