数据库设计说明书(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 算法传输数据,不采用明文传输,保证传输安全