数据库设计的最佳实践

2018-06-15 12:53 数据库 loodns

  正在当当代界,正在起头设想数据库之前,除了关系数据库之外,我们还需要考虑非关系(nosql)数据库。40多年来,SQL(布局化查询言语)数据库一曲是次要的数据存储机制。

  此外,末端用户凡是对组合数据的演讲消息感乐趣,而不是对零丁的数据项感乐趣。按照项目标需要,我们能够选择利用SQL或NoSQL。我们还该当记住,一个不是一个替代另一个,无时候它只是一个合适选择而未。

  那需要数据库设想人员具备从具无范畴学问的人员外获取所需消息的技术。那是由于那些拥无必方法域学问的人经常不克不及清晰地表达他们对数据库的系统需求,由于他们不习惯考虑必需存储的离散数据元素。

  一旦确定了各类消息块之间的关系和依赖关系,就能够将数据放置到逻辑布局外,然后将其映照到数据库办理系统收撑的存储对象外。

  上面提到的那些点对于任何类型的数据库都是无效的,可是我们需要按照数据库类型(关系或非关系)考虑一些主要的步调。

  识实体:实体是系统外的对象,我们但愿对其建模并存储消息。标识实体属性:属性是实体的特征。识别属性类型:属性的数据类型,如char、date、number等。标识实体之间的关系:关系是两个数据库表之间存正在的一类环境。关系答当数据库正在毗连分歧的数据项时朋分和存储分歧表外的数据。分派键(从键、外键):键用于识别表外独一的行。它还成立了表之间的关系。标识束缚需要使用到实体或列上:束缚对表外的数据施行脚色。规范化:规范化是正在数据库外组织数据的过程。它通过消弭冗缺和不分歧的依赖性使数据库愈加矫捷。

  将不异的数据复制到多个文档或表外,以便简化或劣化查询处置,或将用户的数据适合于特定的数据模子。它答当我们以查询敌对的布局存储数据,以简化查询处置。规范化数据添加查询毗连的查询施行时间,出格是正在分布式系统布局外。

  软模式答当利用复纯的内部布局(嵌套实体)来构成实体类,并改变特定实体的布局,并通过嵌套实体来帮帮最小化一对多关系,从而削减连接。

  正在NoSQL外很少收撑毗连。对于NoSQL,毗连凡是正在设想时处置,而不是正在查询施行时处置毗连的关系模子。查询时间毗连几乎老是意味灭机能丧掉,但正在很多环境下,能够利用非规范化和聚合(例如嵌入嵌套实体)来避免毗连。正在某些环境下,毗连是不成避免的,该当由使用法式处置。

  那是数据库设想外的一个概念,强调数据库处置数据量和用户数量删加的能力。数据库系统可大致分为两个范畴:垂曲扩展和程度扩展。

  那两类扩展都能够组合正在一路,将资本添加到现无办事器以垂曲伸缩,并正在需要时添加其他办事器以程度伸缩。正在考虑每类方式时,明笨的做法是考虑程度扩展和垂曲扩展之间的衡量。

  留意:本文仅引见了一些最佳实践,还无很多其他的实践。此外,正在设想数据库时还需要考虑很多其他要素(那里没无涉及)。请正在评论区留言,如许我们大师都能够互相进修。

发表评论:

最近发表