数据库表结构设计[通俗易懂]

数据库表结构设计[通俗易懂]为什么要学习数据表结构设计实际开发中,需要根据需求,将实际模型转换成物理表结构,这时需要考虑几个问题,表名称如何命名,表中需要哪些字段,各个字段的命名规范,字段的数据类型,字段的长度,和其他表的联系,这些都是需要考虑的。推荐使用的工具PowerDesigner这个工具,可以做UUML图帮助分析数据关系,最重要的是可以把设计好的表结构转换成你使用的数据库的命令语句,方便在数据库中使用…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

为什么要学习数据表结构设计
实际开发中,需要根据需求,将实际模型转换成物理表结构,这时需要考虑几个问题,表名称如何命名,表中需要哪些字段,各个字段的命名规范,字段的数据类型,字段的长度,和其他表的联系,这些都是需要考虑的。


推荐使用的工具
PowerDesigner这个工具,可以做UUML图帮助分析数据关系,最重要的是可以把设计好的表结构转换成你使用的数据库的命令语句,方便在数据库中使用
工具网盘链接:链接:https://pan.baidu.com/s/1gggehLx 密码:d302


常见几个字段的设计
以部门表为例,需要编号,部门名称,部门状态,父部门编号(外键)

  • 表名称:DEPT_P
    dept是部门英文名缩写,重点是加“_P”,P表示权限,也就是这张表会和权限业务相关,建议加上后缀,表明这张表对应的相关业务

  • 编号:dept_id varchar (40)
    编号采用uuid生成,UUID是根据用户网卡mac地址+随机数生成的,是唯一的编号,长度控制在40,这个较大长度,之所以不使用数字自动增长生成编号,是考虑,日后系统扩张,需要集成其他子系统的数据表,唯恐有编号的冲突。

  • 部门状态:state int
    部门状态有 0 和1 两种状态,表示部门启用和停用,类似于假删除操作,先保留数据,以防日后需要再使用到

  • 部门名称:dept_name varchar(40)
    部门名称有可能是英文中文,可以在询问客户的部门名称最大长度的基础乘以3-4倍,就是部门名称的长度


使用PD自动生成数据库命令语句

  • 生成单个表的命令语句

这里写图片描述

  • 生成多个表的命令语句
    这里写图片描述
    这里写图片描述
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/194283.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • RPC接口设计_java rpc项目

    RPC接口设计_java rpc项目写在前边分布式架构是互联网应用的基础架构,很多新人入职以来就开始负责编写和调用阿里的各种远程接口。但如同结婚一般,用对一个正确的接口就如同嫁一个正确的人一样,往往难以那么顺利的实现,或多或少大家都会在这个上边吃亏。每年双十一系统调用复盘的时候,我都会听到以下声音你们调我的接口报错了竟然不会自己重试?我的返回值应该从这里取我返回isSuccess()==true,不代表业务成功,你…

    2022年10月13日
    0
  • PHP面试-复习知识点整理「建议收藏」

    PHP面试-复习知识点整理

    2022年2月10日
    45
  • navicat15 永久激活码-激活码分享2022.02.27「建议收藏」

    (navicat15 永久激活码)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年4月1日
    2.4K
  • BeanUtils.populate方法使用

    BeanUtils.populate方法使用BeanUtils.populate方法使用1.在执行BeanUtils.populate之后,会把map封装成User对象。要注意的是,UserBean类中的字段名必须和html中的name属性值相同,不然在BeanUtils.populate执行之后,User对象的字段中会出现NULL数据Map<String,String[]>map=req.getParameterMap();//创建User对象UserloginUser=newUser

    2022年7月26日
    4
  • 微信小程序实例系列怎么做_小程序制作教程免费

    微信小程序实例系列怎么做_小程序制作教程免费下载微信小程序实现部分高德地图功能的DEMO下载微信小程序实现MUI的部分效果的DEMO下载更多微信小程序实例GITGIT地址https://github.com/Rattenking/WXTUI-DEMOGIT下载gitclonehttps://github.com/Rattenking/WXTUI-DEMO.git常见…

    2025年6月11日
    1
  • java 缓存 工具类

    java 缓存 工具类

    2022年2月23日
    54

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号