网站开发创新互联步骤及步骤(一)——数据库原型设计网站前端开发

2023-12-07    分类: 网站建设

本期我们来聊聊创新互联。在开始讨论创新互联之前,我们首先要明确一点。数据库是大部分业务系统的核心,创新互联也是一个非常重要的设计。

不过,这并不代表创新互联是一件很困难的事情。对于我们的技术支持团队,我们一直坚持后端开发者直接设计数据库(无论开发者经验如何),而不是让有经验的开发者做创新互联的工作(有经验的开发者做好审查工作)。

这是因为:

1、创新互联不需要一次性全部设计好。在开发过程中,不可避免地要对数据库进行调整。只要数据库的骨架没有问题(有经验的开发者可以做好),比如添加或删除字段、添加中间表、添加视图等不会造成太大影响。

2、创新互联是一些后端需求(通用业务系统)的改造过程。正如原型是前端部分的需求转化过程一样,后端功能(通用业务系统)的结构可以通过数据库分库分表来粗略描述。创新互联),难免会出现无法区分功能结构的情况,只能根据页面原型猜测需要哪些接口。这种看一个功能,开发一个接口的工作模式,无论代码怎么写,大部分情况下都会出现开发进度不可控、开发冗余接口、接口遗漏等问题。

所以,创新互联是每个后端开发者必须掌握的技能,而创新互联并不难。我们不考虑一下子把创新互联完全拿出来,只需要设计好骨架。是(在设计审查和后续开发期间进行了调整)。

我们推荐的创新互联步骤分为以下3个步骤:

子库(由架构师或技术负责人完成)

子表(由开发者完成)

添加冗余字段、视图(由开发者完成)

1、子库

经常看到有些系统只有一个数据库,而这个数据库里有几十万张表。我相信网站开发,无论E-R图纸多么详细,描述写得多么好,没有人能够弄清楚它们之间的关系。这无疑是系统越来越差的主要原因之一,也是微服务无法发挥应有作用的原因之一(使用同一个数据库,后端服务扩展更多服务器也没用)。

所以分库的目的:

分库的原理很简单。一般来说,每个子系统对应一个数据库。比如用户系统、博客系统、商城系统、流程系统都有自己独立的数据库,系统划分更多是基于业务架构。业务架构设计请参考我们之前的业务架构视频。此外网站开发,对于一些数据密切相关的子系统,例如优惠券和资金系统,最好将它们组合成一个系统。

当然,数据库独立后会出现一些问题。对于大部分场景,通过前端调用多个接口进行集成就足够了网站制作,但是对于一些需要强数据一致性的场景,就会涉及到数据库分布式库。 ,关于数据库分布式事务,下期会详细介绍。

2、子表

子表更多的是根据当前模块的业务功能来确定。以博客系统为例,主要的业务逻辑是用户写博客,管理员审核后,其他用户可以查看网站优化,也可以登录博客。在下方评论以创建相应的四个表。但是,由于审计其实是一种状态,可以用一个字段来记录,所以只需要两张表,一张是博客表,一张是评论表。

定义完主表后,需要查看本系统的所有功能点,看是否需要添加额外的表。如果发现博客系统中有收藏功能,可以考虑添加收藏表。

表划分完成后,还要分析表之间是否存在多对多关系。如果博客有标签分类,那么博客和标签是多对多的关系。

这种多对多关系有两种解决方案:

分表完成后,大致勾勒出一个模块的功能结构。开发过程中,哪些功能是主要的,哪些是次要的也一目了然,让开发计划更加清晰,前后端联调也一目了然。可以分阶段完成。分表后,单个数据库的结构基本清晰,但是对于一些特殊的功能,比如个人中心的评论列表,除了显示评论内容外,还需要显示博客。

3、添加冗余字段和视图

此时需要考虑添加冗余字段,即博客名称也记录在评论表中(已经记录在博客表中)当然冗余字段的更新是比较麻烦,所以冗余字段适合一些更新非常不频繁或者不允许更新的字段。

当然,除了冗余字段,SQL语句也可以用来实现夸张的表查询。对于这种夸张的表查询,我们推荐使用视图。也就是说,视图是保存在数据库中的一条SQL查询语句,一个视图可以简化后端SQL语句的复杂度,也可以通过查看哪些接口使用视图,就可以知道自己进行了跨表查询(方便后续性能调优)。

例如,热门博客需要按受欢迎程度进行排名,而受欢迎程度是通过将收藏、点赞和评论的数量乘以各自的权重来确定的。然后可以做一个视图创建博客热度虚拟表,可以用简单的SQL查询前3的博客(实际项目需要加缓存),也可以用简单的SQL查询某个博客类别下的前3篇博客(实际项目需要添加缓存)。

视图除了上述好处外,还有一个好处:跨数据库查询(虽然可以直接使用SQL语句完成,但是视图可以更规律),如果多个数据库在同一个服务中, view 可以查询数据库(普通SQL语句也可以)。如果数据库在不同的服务(.7以后),也可以通过数据同步来同步要查询的数据,然后通过视图查询数据库。当然,这种方式一般不常用于大型网站,因为如果同步数据库的数据量太大或更新频率高,往往得不偿失。

命名约定

我们推荐的数据库命名约定是数据库的名称与系统名称相同。表名以 t_ 开头,视图以 v_ 开头。如果在表中是唯一的,就用表名_开头,如果是外键就用它原来的名字,视图不改字段名。这样即使没有E-R图,也可以通过字段名来判断表与表的关系。这可能看起来很简单,但它可以防止许多不必要的错误。

总结

创新互联当然还包括索引、具体字段、字段类型和长度等,不过这些问题其实可以在实际开发过程中加入。一开始就考虑这些问题太仔细是浪费时间(甲方或业务部门要求除外)。

以上是我们推荐的创新互联流程。当然,创新互联从来没有绝对的最优解。创新互联是否相对合理,取决于对业务功能的理解和项目经验。

但是不要担心做好它,因为如果你不做它,你永远不会做好它。只要你做几次,被有经验的人审核几次,相信你的创新互联会越来越成熟。

网站标题:网站开发创新互联步骤及步骤(一)——数据库原型设计网站前端开发
当前网址:https://www.cdcxhl.com/news15/299815.html

成都网站建设公司_创新互联,为您提供面包屑导航小程序开发服务器托管网站制作全网营销推广域名注册

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都定制网站网页设计