网站后端怎么用模板制作-小型网站架构技术细节:前端架构数据库-数据库设计

数据库设计

数据库设计是指根据业务需求构建数据存储模型。 简单来说,数据库设计就是表设计,将需要记录的数据合理地分散在不同的表中。 数据库设计可以直接影响整个网站系统的质量,其重要性不言而喻。

通常,数据库设计在很大程度上取决于特定的业务需求和设计者的偏好。

对于具体的数据库设计网站后端怎么用模板制作,很难区分它是否是最优设计。 因此,虽然最佳数据库设计是一个悬而未决的问题,但没有绝对的标准。 数据库设计只需在一定程度上平衡“数据冗余”和“数据操作性能”即可。

注意:关于数据库设计有很多规范和原则,比如范式等。而且这些规范和原则只能优化现有的数据库设计,而不能指导从头开始的数据库设计,所以这里不再介绍。

对于一个小型网站来说,其数据库的内部结构非常复杂。 复杂的数据库结构会使维护或扩展变得困难。 因此,小型网站的数据库需要解决两个问题来降低复杂度:分离数据库和限制关系层次。 同时,这两个问题的解决方案也可以作为指导数据库设计的思路。

1. 独立的数据库

一个数据库中不可避免的会包含多个表,如果一个数据库中有几十个甚至上百个表,那就会非常混乱。 为此,数据库设计需要将数据库分开,防止一个数据库包含太多表。

数据库的分离需要根据具体业务来确定。 为此,数据库的分离可以参考业务架构。

在2.1.1节“业务架构面临的挑战”中指出,业务架构需要定义功能模块,而这些功能模块大多是相互独立、互不影响的。 在数据库设计时网站后端怎么用模板制作,可以将那些功能模块分离成独立的数据库。数据库分离后,每个数据库的复杂度会增加(表的数量减少),而复杂度较低的数据库会相对难以维护或扩展。

更轻松。 以视频平台为例,按照业务模块分离数据库后,可以独立创建用户库、资源库、发布库、统计库等。 如果前端应用也按照业务模块划分为若干个独立的前端应用,那么某个业务模块的前端应用和数据库就可以看成是一个整体,一个可以按照业务模块垂直分割的整体。业务模块。 如图4.68所示。

网站后端怎么用模板制作-小型网站架构技术细节:前端架构数据库-数据库设计

图4.68 前端应用和数据库按业务模块垂直拆分

在实际的网站系统中,虽然它们是独立的业务模块,但它们在功能上不可避免地存在关联。 例如,“资源”业务模块需要记录该资源所属的用户,“释放”业务模块需要记录使用的资源等。为此,每个数据库都应该提供一个主要属性,可以被其他数据库用来满足业务功能的需要,如图4.69所示。 通常,数据库只向外界提供几个主要属性。

图4.69 数据库提供主要属性供其他数据库使用

网站后端怎么用模板制作-小型网站架构技术细节:前端架构数据库-数据库设计

注:字段是指数据表中的一个或多个数组。 字段可以唯一标识数据表中的一条记录。 每个数据表至少需要设置一个数组作为字段。 字段是指数据表中的数组。 该数组可以与其他数据库关联。 这些字段通常是其他数据表的字段。

数据库分离后,不同数据库中的数据相互隔离,数据不能跨数据库操作。 数据库分离无疑会降低前端应用的复杂度。 在数据库分离之前,通过一条SQL语句就可以实现多表操作。 分离后只能通过多次操作数据或者组合多个socket来实现。

注意:如果同一个MySQL实例运行多个数据库,可以通过“视图”联合查询多个数据库的数据。 如果多个数据库运行在不同的MySQL实例中,也可以通过“数据库同步”将数据同步到同一个MySQL实例,然后通过“视图”联合查询多个数据库的数据,这些方法查询到的数据通常不是实时数据。 在小型网站系统中,不推荐使用这种方法。

数据库分离带来的这些限制是良性的,因为在一条 SQL 语句中实现多个表操作非常耗费性能,并且可能会阻塞其他数据操作(影响并发)。 数据库分离后,这些推荐的“一条SQL语句实现多表操作”将被强制减少,从而减少以后优化数据库操作的工作量。 此外,分离数据库允许开发人员强制执行“模块垂直定义”的原则并保持程序结构整洁。

2.限制关系级别

数据库分离后,可以根据业务模块的子模块来定义单个数据库中的表设计。

但如果只按照子模块来划分表,可能会存在过多的冗余数据。 减少冗余数据的方法就是减少子表的数量。 子表一旦分开,就会有关系级别。 这个级别一般不要超过两级,否则表之间的关系会显得复杂,数据的操作也会显得复杂。

视频平台的“资源”数据库为例。 由于视频资源经常需要转码为“高清”或“流畅”的视频,因此“资源”数据库需要将“转码视频”表和“原始视频”表分开。 如图4.70所示。 其中,“转码视频”表还可以分为子表(如转码模板等),一般不推荐这样做,因为“转码视频”表已经处于第二关系级别。 如果进一步细分,对于表来说,数据库结构就会显得复杂,数据操作也会显得繁琐。

图4.70 将“资源”数据库分为“转码视频”表和“原始视频”表

上面对数据库设计的介绍,只考虑了业务需求。 在小型网站系统中,往往会出现对个别数据的查询或操作比较集中的情况,这部分数据需要进行特殊的处理(合并数据库或拆分表)。 也就是说,小型网站系统的数据库设计不仅要考虑业务需求,还需要权衡使用场景带来的数据运营压力。

3. 数据库管理工具

数据库设计完成后,就可以构建数据库了。 构建数据库其实可以通过SQL语句来实现,而通过SQL语句构建或维护数据库是一件非常麻烦的事情。 因此,在“构建数据库”或“维护数据库”时,通常会使用带有操作界面的数据库管理工具。 以MySQL数据库为例,可以使用Navicat for MySQL作为数据库管理工具,如图4.71所示。

图4.71 NavicatforMySQL操作界面

本文向您讲解一个小型网站架构的技术细节:前端架构数据库——数据库设计。 上一篇文章给大家讲解了一个小型网站架构的技术细节:前端架构数据库——数据库操作框架。 感谢您的支持!

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 网站模板 网站后端怎么用模板制作-小型网站架构技术细节:前端架构数据库-数据库设计 https://www.wkzy.net/game/197505.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务