首页 > 数据库 >团队项目数据库设计心得

团队项目数据库设计心得

时间:2023-11-10 14:47:12浏览次数:52  
标签:存储 需要 一个 数据库 用户 团队 心得 节点

1.分析业务需求

我们的团队项目是图数据库的可视化管理系统,作为一个数据库,提供关于用户对数据库的各种操作,包括增删查改备份还原等,当然作为一个系统,需要注册登录等功能,还得提供管理用户的管理系统。以及各种其他的拓展功能。

2.实体分析

想要设计数据库,首先要知道需要什么实体。

首先应该是根据该系统的基本要求进行分析,作为一个系统,需要登录和注册等功能,并且每个用户的内容应该是不同的,所以需要一个公户表用于存储用户的账号密码以及基本的注册信息,而作为面向数据库的系统,也需要一个数据库的表,存储关于各个数据库的内容。作为一个联网的分布式数据库,还需要记录所有节点的信息,所以需要一个节点表。这三个表是整个数据库最为核心的部分。

其余实体应该根据要拓展的内容以及该三张表进行设计。

由于需要一个社区的功能,就需要一个社区的文章表,评论表,需要一个交友的聊天功能,则需要一个好友表和聊天内容表。需要可以查看日志,则需要一个日志表来存储,想要可视化则需要一个表来存储图的url。

3.关系分析

这一步要明确所有表的主键和外键是什么,哪个表又能作为另一个表的依赖。首先应该每个表的主键是非常好确定的,所有表都有一个唯一索引的id位。而外键无非是根据所属依赖的实体进行分析,例如任何一个数据库都需要一个创建者,那么整个创建者就是某个用户,所以他需要一个用户Id来作为外键,并且一个用户可以拥有多个数据库,每个数据库必须有一个创建者(用户)。

4.通过关系反查

数据库存在节点上,每个数据库可能由多个节点存储,每个节点也可能存储多个数据库,这是个多对多的关系,需要一个新的 数据库-节点表来进行存储,根据这种反查的关系可以找到漏掉的表。

5.通过上述操作得到一个完整的数据库设计:

用户的登录注册通过用户表完成

 管理员表

数据库与节点

包括数据库表,节点表,数据库与节点表,图表,且数据库表以用户id作为外键。

 数据库日志

 

Peg软件日志

 

 实现论坛

包括论坛表和留言表。

交友功能

包括好友表和对话表

 

整体设计结果:

 

标签:存储,需要,一个,数据库,用户,团队,心得,节点
From: https://www.cnblogs.com/yyjnb/p/17824054.html

相关文章

  • windows服务器中Oracle数据库定时备份
    脚本准备remdelete10daysfilesforfiles/p"文件路径"/d-10/c"cmd/cechodeleting@file...&&del/f@path"remexpdpszsetsz_file=备份文件名字%date:~0,4%%date:~5,2%%date:~8,2%expdp数据库用户名/数据库密码@数据库实例名directory=路径对象dumpfile......
  • 【周末闲谈】关于“数据库”你又知道多少?
    个人主页:【......
  • tidb数据库5.4.3和6.5.3版本性能测试对比
    作者:qizhining一、测试需求:基于历史原因,我们的业务数据库一直使用5.4.3,最近由于研发提出需求:需要升级到6.5.3版本,基于版本不同,需要做个压力测试已验证2个版本之间的性能差异。二、测试目的:验证tidb数据库5.4.3和6.5.3版本性能的差异三、测试结果:tidb数据库6.5.3版本比5.4.3总体性......
  • 王慧文病休53天,旗下OneFlow团队重新创业
    王慧文光年之外收购的核心团队OneFlow,近期将重新创业。消息来自Oneflow创始人袁进辉,由团队中的研发工程师姚迟转发在即刻。随后袁进辉也在即刻回应,强调新创业项目瞄准大模型推理成本问题。OneFlow是国内知名开源深度学习框架及开发平台,背后公司一流科技。此前王慧文的光年之外收购......
  • MPU6050使用心得(简单分享一下)
    前言选用MPU6050做倾斜检测功能。前期准备开发板:正点原子STM32F103精英版(STM32F103ZET6)模块:GY-521MPU6050其他:杜邦线若干、烧录线、FlyMcu、Keil5、正点原子开发板配套的套件(TFTLCD)例程、资料下载源自淘宝卖家:https://pan.baidu.com/share/init?surl=dNDqcp76L9QdM7iSZYfz_A密......
  • 手把手教你如何扩展(破解)mybatisplus的sql生成 | 京东云技术团队
    mybatisplus的常用CRUD方法众所周知,mybatisplus提供了强大的代码生成能力,他默认生成的常用的CRUD方法(例如插入、更新、删除、查询等)的定义,能够帮助我们节省很多体力劳动。他的BaseMapper中定义了这些常用的CRUD方法,我们在使用时,继承这个BaseMapper类就默认拥有了这些能力。如果我......
  • 谈谈压测方案的那点事 | 京东物流技术团队
    前言在现阶段大促备战的压测不算是一件新鲜事,已经不存在什么技术瓶颈或者资源问题,每个团队都有很多人能够执行性能测试,在一些团队也已经落地了日常常态化,但压测也没有简单到只在压测平台上设置参数、运行脚本,然后去看压测报告中某个指标是否满足压测目标那么简单,我平时也跟一些同......
  • windows系统上如何给mysql导入数据库和表
    1.连接数据库2.输入密码3.进入数据库4.创建数据库 createdatabase数据库名;5.进入数据库use  数据库名;6.查看当前所在数据库selectdatabase();7.把需要导入的数据库放到没有中文名的路径下面(蜜蜂这里放D盘了),之后使用SOURCE导入SOURCE数据库的位置/需要导入的数据库名称(中间......
  • ODBC 连接 Doris数据库
    前言主要测试通过ODBC方式来连接Doris数据一、环境1、Cntos71、Doris2.0.22、Mysql-connector-odbc-5.3.7二、使用步骤1.安装odbc驱动MysqlODBC驱动下载地址https://downloads.mysql.com/archives/c-odbc/1、下载这里我们下载的是RPM安装包mysql-connector-odbc......
  • Teamcenter 直接从数据库表取数据的注意要点
    1、如果是取某个类型版本的数据,这种涉及到版本的,一定要主要版次的问题。比如说产品表。签出修改签入后,会产生多个版本。解决方法:版本表,还要拼接  PWORKSPACEOBJECT 的 pactive_seq字段来进行校验 2、日期的问题。比如说取时间表任务的开始和结束时间。......