当前位置: 首页 > news >正文

中州养老:学会设计数据库表

设计数据库表

设计表的第一步是画E-R图:

E-R图也就是实体联系图,提供了表示实体类型,属性和联系的方法,用来描述现实世界的概念模型

假如我们要设计一个图书管理系统,我用要想;

有哪些实体?

每个实体之间的关系是什么?

每个实体自己的属性有哪些?

1.对于数据库表的表名,字段名等命名,需要做到见名知意,具体可以参考阿里Java开发手册

通过网盘分享的文件:Java开发手册-嵩山版.pdf
链接: https://pan.baidu.com/s/1OY27EGtUxPxHsaUyY7zOOw?pwd=gfbr 提取码: gfbr 
--来自百度网盘超级会员v3的分享

2.数据字段的设计

先考虑字段存储长度(即业务需求),再考虑存储空间(char是固定长度的字符串,varchar是可变长度的字符串),在满足业务需求的前提下,尽可能减少资源的浪费,比如手机号长度固定就使用char字符串

3.主键
自增,UUID,雪花算法

主键自增:数据库自动为每条新纪录分配一个递增的数字ID,通常从1开始,每次增加1

UUID:128位的全局唯一标识符,8-4-4-4-12的32个十六进制字符

雪花算法:分布式ID生成算法,1个符号位+41位时间戳+10位工作机器ID+12位序列号

理论上每秒可生成409.6万个ID

表中字段主要包括四大类:

基础字段:主键,创建时间,修改时间,创建人,修改人,备注

业务字段:通过原型图分析

冗余字段:减少连表查询

关联字段:多表管理

作业:自己参考原型图设计表的结构图,查看是否能与数据库表对应上

(1)

比如这张图:

基础字段:id,createTime,updateTime,createBy,UpdateBy,remark(备注)

业务字段:护理计划名称,护理项目名称,期望服务时间,执行周期,执行频次,操作

这样,我们在设计表时,护理项目名称和计划名称通过id连接起来

(2)

除了基础字段,应该有护理等级名称,执行护理计划,护理费用,状态,等级说明

http://www.lqws.cn/news/571033.html

相关文章:

  • WebRTC(十三):信令服务器
  • Spring事件驱动模型核心:ApplicationEventMulticaster初始化全解析
  • 图书管理系统练习项目源码-前后端分离-使用node.js来做后端开发
  • NV064NV065美光固态闪存NV067NV076
  • 申论审题训练
  • DEPTHPRO:一秒内实现清晰的单目度量深度估计
  • 云端可视化耦合电磁场:麦克斯韦方程组的应用-AI云计算数值分析和代码验证
  • Leetcode百题斩-双指针
  • 电容屏触摸不灵敏及跳点问题分析
  • PyEcharts教程(010):天猫订单数据可视化项目
  • ISP Pipeline(9):Noise Filter for Chroma 色度去噪
  • H3C-路由器DHCPV6V4配置标准
  • 如何通过自动化减少重复性工作
  • GitHub vs GitLab 全面对比报告(2025版)
  • Java面试宝典:基础三
  • Vue中keep-alive结合router实现部分页面缓存
  • Spring生态创新应用
  • 【Redis#4】Redis 数据结构 -- String类型
  • 用户行为序列建模(篇七)-【阿里】DIN
  • AlphaFold3安装报错
  • 【系统分析师】2021年真题:论文及解题思路
  • GitLab详细分析
  • ​19.自动补全功能
  • 机器学习7——神经网络上
  • SpringCloud系列(40)--SpringCloud Gateway的Filter的简介及使用
  • 基于YOLO的目标检测图形界面应用(适配于YOLOv5、YOLOv6、YOLOv8、YOLOv9、YOLOv10、YOLOv11、YOLOv12)
  • Spring Cloud 服务追踪实战:使用 Zipkin 构建分布式链路追踪
  • NLP文本增强——随机删除
  • ASP.Net依赖注入!使用Microsoft.Extensions.DependencyInjection配置依赖注入
  • Vue中的v-if与emit事件传递:一个常见陷阱分析