goudanshi / A-Simple-Tictok-Project

第五届字节青训营大项目
5 stars 1 forks source link

【任务2】补充 #5

Open borntodie-new opened 1 year ago

borntodie-new commented 1 year ago

背景描述】在任何后台系统设计中,数据库表结构设计都是重中之重。表结构设计得合理自洽,会大大提高开发效率和增强系统的扩展性。 【问题描述

  1. 系统采用关系型数据库还是非关系型数据库
  2. 表与表之间的关系是硬关联还是软关联【关系型数据库】
  3. 字段设计索引的使用和约束的使用

环境要求

编程语言】无 【产出标准

  1. 完成项目的表设计
  2. 阅读这三个源码(源码1源码2源码3)中的数据库设计,并比较他们方案的优缺点。

参考文档数据库设计范式 GORM官网

borntodie-new commented 1 year ago
  1. 当数据量比较大的时候,表与表之间的关系建议是软关联。
  2. 不建议使用GORM等ORM工具,这类工具会牺牲我们对数据信息的把握,而且很难应付复杂场景。
  3. 当我们使用关系型数据库的话,需要先明白,关系型数据库是表与表之间的关系,这就表示我们在对数据进行操作的时候需要连表操作,这才符合关系型数据库的设计。虽然GORM等ORM工具也支持连表查询和子查询等操作,但是和真正的SQL语句会有割裂。
  4. 不考虑数据量的时候,执行一条SQL的速度快于执行多条SQL。以GORM中的Preload方法举例,为了预先获得某些数据,GORM会执行多条SQL语句