美文网首页前端开发那些事儿每天学一点Vue3
2021-08-18 1.1 数据库文档(一)

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

作者: 自然框架 | 来源:发表于2021-08-18 18:49 被阅读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了。

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

    未完待续。。。

    相关文章

      网友评论

        本文标题:2021-08-18 1.1 数据库文档(一)

        本文链接:https://www.haomeiwen.com/subject/srpgbltx.html