1.分析业务需求
我们的团队项目是图数据库的可视化管理系统,作为一个数据库,提供关于用户对数据库的各种操作,包括增删查改备份还原等,当然作为一个系统,需要注册登录等功能,还得提供管理用户的管理系统。以及各种其他的拓展功能。
2.实体分析
想要设计数据库,首先要知道需要什么实体。
首先应该是根据该系统的基本要求进行分析,作为一个系统,需要登录和注册等功能,并且每个用户的内容应该是不同的,所以需要一个公户表用于存储用户的账号密码以及基本的注册信息,而作为面向数据库的系统,也需要一个数据库的表,存储关于各个数据库的内容。作为一个联网的分布式数据库,还需要记录所有节点的信息,所以需要一个节点表。这三个表是整个数据库最为核心的部分。
其余实体应该根据要拓展的内容以及该三张表进行设计。
由于需要一个社区的功能,就需要一个社区的文章表,评论表,需要一个交友的聊天功能,则需要一个好友表和聊天内容表。需要可以查看日志,则需要一个日志表来存储,想要可视化则需要一个表来存储图的url。
3.关系分析
这一步要明确所有表的主键和外键是什么,哪个表又能作为另一个表的依赖。首先应该每个表的主键是非常好确定的,所有表都有一个唯一索引的id位。而外键无非是根据所属依赖的实体进行分析,例如任何一个数据库都需要一个创建者,那么整个创建者就是某个用户,所以他需要一个用户Id来作为外键,并且一个用户可以拥有多个数据库,每个数据库必须有一个创建者(用户)。
4.通过关系反查
数据库存在节点上,每个数据库可能由多个节点存储,每个节点也可能存储多个数据库,这是个多对多的关系,需要一个新的 数据库-节点表来进行存储,根据这种反查的关系可以找到漏掉的表。
5.通过上述操作得到一个完整的数据库设计:
用户的登录注册通过用户表完成
管理员表
数据库与节点
包括数据库表,节点表,数据库与节点表,图表,且数据库表以用户id作为外键。
数据库日志
Peg软件日志
实现论坛
包括论坛表和留言表。
交友功能
包括好友表和对话表
整体设计结果:
标签:存储,需要,一个,数据库,用户,团队,心得,节点 From: https://www.cnblogs.com/yyjnb/p/17824054.html