数据库设计说明书(GB8567——88)
1引言
1.1编写目的
数据库的设计是为了以后编码、测试以及维护阶段的后台数据的存储做准备。应用于系统开发前期,为后期数据库设计指引方向。
预期的读者:系统开发人员、系统测试人员和系统维护人员
1.2背景
- 待开发的数据库名称:forture-sheet
- 待开发系统的名称:基于协同的在线表格
- 本项目的任务提出者:老师引导下小组成员共同讨论的结果;
- 开发者:********
- 用户:使用Excel表用户
- 安装软件:WebStorm、MongoDB
1.3定义
数据库:用来记录系统数据的后台应用库
字段:表中各个记录的名字
值:不同字段汇总成的集合
1.4参考资料
. 可行性研究报告、项目开发计划、软件需求分析、概要设计说明书
《软件工程事务》刘学俊 李继芳 刘汉中 编著 浙江大学出版社
数据库系统概论(第四版)王珊,萨师煊编著高等教育出版社
2.1标识符和状态
数据库软件的名称:MongoDB
数据库的名称:forture-sheet
表名 | 标识符或名称 | 描述信息 | 状态 |
forture-sheet表 | 标记点id | 用来记录表格的位置以及相关描述 | 使用 |
2.2使用它的程序
应用程序 | 访问的数据表 | 版本号 |
Sheet1 | forture-sheet表 | 1.0 |
Sheet2 | forture-sheet表 | 1.0 |
Sheet3 | forture-sheet表 | 1.0 |
2.3约定
文卷 | 记录 | 数据项的命名约定 |
forture-sheet表 | forture-sheet | 无 |
2.4专门指导
准备从事MongoDB数据库的生成、从事此数据库的测试、维护人员提供专门的指导。
2.5支持软件
支持软件名称 | 版本号 | 主要功能 |
MongoDB | 6.0.1 | 存储文档并进行远程过程调用 |
React | 17.0.1 | 后端框架,用于构建用户界面的JavaScript库 |
TypeScript | 4.3 | 提供静态类型以在编译时启动类型检查 |
Navicat | 15.0 | 管理员工具 |
3结构设计
3.1概念结构设计
3.2逻辑结构设计
表 forture-sheet的结构
字段名 | 数据类型 | 描述 |
id | String | 表格id |
name | String | 表格名 |
row | Int32 | 行 |
column | Int32 | 列 |
config | Document | 样式 |
pivotTable | Boolean | 表格关联 |
status | Int32 | 状态码 |
select_range | Array | 选区范围 |
zoomRatio | Int32 | 缩放 |
celldata | Array | 表内数据 |
3.3物理结构设计
在 MongoDB 中,数据库由集合组成。一个 MongoDB 实例可承载多个数据库,互相之间彼此独立,在开发过程中,通常将一个应用的所有数据存储到同一个数据库中,MongoDB 将不同数据库存放在不同文件中。
4运用设计
4.1数据字典设计
面向集合存储,易于存储对象类型的数据,模式自由,支持动态查询,支持完全索引,支持复制和故障恢复,使用高效的二进制数据存储,文件存储格式为 BSON ( 一种 JSON 的扩展)等,并且支持分布式。
4.2安全保密设计
通过区分不同的访问者、不同的访问类型和不同的数据对象,进行分别对待而获得的数据库安全保密设计考虑。
访问者 | 权限提供 | 访问类型 |
游客(未认证成功) | 受限操作,只能浏览 | Get |
内部用户 | 修改操作表格内容 | Post |
管理员 | 撤销用户操作 | Post |
数据库由专门数据库管理用员对数据库操作,需要注意以下几项安全问题:
访问安全 、网络安全 、传输安全 、备份安全 、数据安全
设置以下安全规则:
- 每天进行数据备份是保障系统安全的重要手段,保证备份安全
- 系统设置用户的标识以鉴定是否是内部用户,并要求进行身份认证,并将合法用户设置成内部人身份,保证用户身份不被盗用,保证数据安全。
- 系统对不同的数据设置不同的访问级别,限制访问用户可查询的处理数据类别和内容,保证网络安全。
- 系统对不同用户设置不同的权限,区分不同的用户,如区分管理员和游客,保证访问安全。
- 传输皆采用md5 算法传输数据,不采用明文传输,保证传输安全