前端开发那些事儿每天学一点Vue3

2021-08-18 1.1 数据库文档(一)

2021-08-18  本文已影响0人  自然框架

开发项目的时候,如果使用了关系型数据库,那么数据库文档就是关键之一,尤其是表的的标识性字段的含义必须写清楚,否则谁知道你的1,2,3是啥意思呀。

那么如何做这个文档呢?设计数据库的专业软件是Power Designer(可能还有其他软件),不过这个太专业了,不太好控制,所以我们可以用常见的 Excel 来写数据库文档。

数据库文档的结构

数据库文档,主要针对的是表、字段的说明,尤其是标记性的字段,一定要注明其含义。
至于表之间的关联关系,我们可以用脑图来表示,这样更简单易懂。

根据表和字段的特点我们可以做这样的设计:

数据库文档

第一行是表名和表的说明,第二行开始是表的字段,用表编号来关联。
这种关联方式并不太好,只是也没想出来更好的方式。

然后记录字段的名称(英文和中文)、类型、大小、默认值、可否为空、说明、外键表和外键的信息。约束、索引等忽略。这样基本够用了。

文档在程序中的体现方式

那么在程序里面如何使用呢?我们可以建立一个object(或者类)来存储这些信息。

方案一:以表为最小单位

const tableInfo = {
  tableId: 200,
  tableName: 'r_role'
  cols: {
    200010: {
      colId: 'roleId',
      colName: '',
      cnName: '',
      colType: '',
      colSize: 4
    }
  } 
}

这样我们就可以以表为最小单位来表示信息了。

分析一下,首先要知道表的ID,才好找的字段的信息,如果只知道字段ID,那么就有点麻烦,虽然可以根据字段ID拆分出来表ID,但是批量查找的话,还得一个一个的拆分,有点麻烦。

方案二:以字段为最小单位

const col = {
  200010: {
    colName: '',
    tableId: 200,
    colName: '',
    cnName: '',
    colType: '',
    colSize: 4
  }
}

这样呢,我们就可以通过字段ID,直接找到字段信息了,然后可以通过表ID,寻找表的信息。

方案对比

两种设计方案,体现了两种思路,第一个是面向对象的思路,表和字段,组成一个整体。
第二个是关系型数据的思路,表是表,字段是字段。

两种设计方案各有优缺点,也就是说,有不同的适用范围。

因为“本体”会存放在关系型数据库里面,所以两种方案都可以支持。

用途

可能你会觉得奇怪,这是折腾啥呢?

其实我们可以通过这种结构实现各种功能!

生成建表的SQL语句

我们可以写个模板,根据这个文档生成建表用的SQL语句。
首先明确数据库的种类,然后根据数据的要求来制定模板,然后带入数据记录。
感谢vue的模板功能。

生成各种SQL语句

添加数据的时候,我们可以生成 insert into 的SQL语句,从而实现添加数据的目的。
这样是不是很方便,不用我们手撸SQL了。

还有其他很多用途,比如角色和权限。

未完待续。。。

上一篇下一篇

猜你喜欢

热点阅读