数据库设计与建模

news2025/2/25 8:57:39

数据库设计与建模

    • 1 数据库设计的三范式
    • 2 数据库建模
      • 2.1 建模工具
      • 2.2 使用pd建模

1 数据库设计的三范式

  • 三范式:

    • 1.第一范式(1NF):确保每一列的原子性(做到每列不可拆分)
    • 2.第二范式(2NF):在第一范式的基础上,非主字段必须依赖于主字段(一个表只做一件事)
    • 3.第三范式(3NF):在第二范式的基础上,消除传递依赖
  • 反三范式:

    • 反三范式是基于第三范式所调整的,没有冗余的数据库未必是最好的数据库,有时为了提高运行效率,就必须降低范式标准,适当保留冗余数据。

2 数据库建模

了解了数据的设计思想,那对于数据库表的表设计应该怎么做呢?答案是数据库建模

数据库建模:在设计数据库时,对现实世界进行分析、抽象、并从中找出内在联系,进而确定数据库的结构。它主
要包括两部分内容:确定最基本的数据结构;对约束建模。

2.1 建模工具

对于数据模型的建模,最有名的要数PowerDesigner,PowerDesigner是在中国软件公司中非常有名的,其易用
性、功能、对流行技术框架的支持、以及它的模型库的管理理念,都深受设计师们喜欢。他的优势在于:不用在使
用create table等语句创建表结构,数据库设计人员只关注如何进行数据建模即可,将来的数据库语句,可以自动
生成

2.2 使用pd建模

  1. 选择新建数据库模型 打开PowerDesigner,文件->建立新模型->model types(选择类型)->Physical Data Model(物理模型)

在这里插入图片描述
3. 控制面板
在这里插入图片描述
4. 创建数据库表

点即面板按钮中的创建数据库按钮创建数据库模型

在这里插入图片描述

切换columns标签,可以对表中的所有字段进行配置

在这里插入图片描述

如果基于传统的数据库设计中存在外键则可以使用面版中的Reference配置多个表之间的关联关系,效果如
下图

在这里插入图片描述
4. 导出sql
菜单->数据库(database)->生成数据库表结构(Generate Database)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1027665.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

从一到无穷大 #17 Db2 Event Store,A Purpose-Built IoT Database Engine

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。 本作品 (李兆龙 博文, 由 李兆龙 创作),由 李兆龙 确认,转载请注明版权。 文章目录 引言Architectural overviewData format and meta-dataEnsuring fast ingestionMulti…

【山河送书第十二期】:《巧用ChatGPT快速搞定数据分析》参与活动,送书两本!!

【山河送书第十二期】:《巧用ChatGPT快速搞定数据分析》参与活动,送书两本!! 关键亮点内容简介作者简介购买链接参与方式往期赠书回顾 关键亮点 用ChatGPT颠覆数据分析,1分钟生成数据分析结果! 30多个精心挑…

山洪灾害监测预警系统解决方案

一、方案背景 近几年我国频繁发生山洪灾害现象,造成大量的人员伤亡,使得洪涝灾害死亡总人数呈上升趋势,群死群伤事件时有发生。为了提高山洪灾害监测预警能力,加强灾害发生时的快速反应能力,我司研发出了山洪灾害监测预…

C语言利用联合体判断大小端

#include<stdio.h>#define SIZE(a) (sizeof(a)) union {/* data */short s;char c[SIZE(short)];short b;int d;char f; }un; int main(int argc,char **argv) {un.s 0x0102;if(SIZE(short) 2)//表示short是16位{printf("\n");printf("c[0] %d,c[1…

QT:使用行编辑器、滑动条、滚动条、进度条、定时器

widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QLineEdit> //行编辑器 #include <QSlider> //滑动条 #include <QScrollBar> //滚动条 #include <QProgressBar> //进度条 #include <QTimer> …

机器学习 day33(误差分析、添加数据、迁移学习)

误差分析 我们可以手动查看分类错误的子集样本&#xff08;通常为100个&#xff09;&#xff0c;并统计他们的错误类型在所有错误类型中&#xff0c;选择一种或几种最常见的错误&#xff0c;进行改进。这可以最高效的改进你的模型误差分析的一个限制是&#xff1a;它只能很好…

微服务08-认识和使用SpringAMQP

1.AMQP的认识 1.1 介绍 AMQP是什么&#xff1f;看完你就知道了_hello_读书就是赚钱的博客-CSDN博客_amqp 好处&#xff1a; 什么connection&#xff1a;消息队列的连接、channel&#xff1a;服务发送接收消息的通道、Queue&#xff1a;消息队列——>这些你都不需要自己编写…

Keil 5 或者Keil 4自定义主题颜色100%成功

文章目录 步骤一:代码内容解析&#xff1a;完整文件代码一效果图&#xff1a;黑主题Keil 原主题 步骤一: 找到keil 5或者Keil 4软件安装目录下的UV4文件夹下的global.prop文件&#xff0c;然后用记事本打开该文件&#xff0c;复制下面配置替换到global.prop文件里的所有内容保…

IO口电路种类

文章目录 参考1.高速振荡电路&#xff08;时钟IO引脚&#xff09;2.与 GPIO 功能共享的低速振荡电路&#xff08;子时钟IO&#xff09;3.CMOS 滞后输入引脚4.电源输入保护电路5.A/D 转换器 ref (AVRH)带保护电路的电源输入端6.CMOS 电平输出7.CMOS 电平输出&#xff0c;带有模…

键盘失灵按什么键恢复?详细方法分享!

“我的电脑键盘莫名其妙失灵了&#xff0c;试了好多方法都无法恢复。请问遇到键盘失灵的情况&#xff0c;应该按什么键才能恢复呢&#xff1f;” 键盘是计算机的重要输入设备之一&#xff0c;但有时候它可能会出现失灵的情况&#xff0c;让用户感到困惑和不知所措。但其实&…

软件设计师笔记系列(一)

&#x1f600;前言 在日常生活和工作中&#xff0c;我们依赖于各种各样的计算机系统来完成一系列复杂的任务。计算机系统不仅仅是硬件设备的集合&#xff0c;它还包括一系列用于协调硬件工作的软件和协议。了解计算机系统的基础知识&#xff0c;包括其构造和功能&#xff0c;是…

【已解决】模糊匹配导致一门课存在多个同名教师

[已解决] 模糊匹配导致一门课存在多个同名教师 问题 LEFT JOIN jsxxb ON XSKB.RKJSXM LIKE jsxxb.JZGXM || ‘%’ 思路 利用正则表达式解决 jsxxb.JZGXM 的字段示例如 李志勇,许蕤 需以&#xff0c;作为分割点&#xff0c;只匹配逗号前面的名字&#xff0c;或者是没有逗号&a…

CSS 学习笔记(基础)

用来控制网页表现的语言&#xff0c;CSS&#xff08;Cascading Style Sheet&#xff09;&#xff1a;层叠样式表。然后我们继续看看 W3C 标准&#xff1a; 结构&#xff1a;HTML表现&#xff1a;CSS行为&#xff1a;JavaScript CSS导入方式、选择器&属性 由于网页的框架…

【C++进阶】:哈希

哈希 一.unordered_map二.底层结构1.哈希概念2.解决哈希冲突1.闭散列2.开散列 在C98中&#xff0c;STL提供了底层为红黑树结构的一系列关联式容器&#xff0c;在查询时效率可达到 l o g 2 N log_2N log2​N&#xff0c;即最差情况下需要比较红黑树的高度次&#xff0c;当树中的…

分布式/微服务---第四篇

系列文章目录 文章目录 系列文章目录一、分布式事务解决方案二、如何实现接口的幂等性一、分布式事务解决方案 XA规范:分布式事务规范,定义了分布式事务模型 四个角色:事务管理器(协调者TM)、资源管理器(参与者RM),应用程序AP,通信资源管理器CRM 全局事务:一个横跨多个数…

【数字通信原理】第三章—信源编码理论

文章目录 第三章 信源编码理论1.模拟信号的数字化概论2. 信源编码的基本原理2.1 抽样定理2.1.1 低通抽样定理2.1.2 带通抽样定理 2.2 脉冲振幅调制PAM2.2.1 自然抽样2.2.2 平顶抽样 第三章 信源编码理论 1.模拟信号的数字化概论 2. 信源编码的基本原理 2.1 抽样定理 2.1.1 低…

Win10 家庭版 - 解决应用程序无法启动,因为应用程序的并行配置不正确的问题(System Default Context”的激活上下文生成失败)

Win10 家庭版 - 解决应用程序无法启动&#xff0c;因为应用程序的并行配置不正确的问题&#xff08;System Default Context”的激活上下文生成失败&#xff09; 系统环境遇到问题试过过程解决办法 前天的时候&#xff0c;女盆友公司电脑遇到个问题&#xff1a;几乎所有的 exe …

Nginx 的优化思路有哪些?网站的防盗链如何做?附图文说明和完整代码步骤

Nginx 的优化思路有哪些?网站的防盗链如何做?实际工作中有哪些类似的安全经验?通过代码实践一步一步实现,附图文说明和完整代码步骤 实验拓扑图: 实验步骤 1、在Centos01上安装Nginx,设置网站根目录/www使用域名www.huhu.com访问 2、在Centos02上安装DNS使用域名访问Ce…

python读取.xls文件,绘制钻头外径磨损图

通过xlrd模块读取.xls文件&#xff0c;数据如下&#xff0c;总计162行16列&#xff1a; 读取与作图如下&#xff1a; from xlrd import open_workbook import matplotlib import matplotlib.pyplot as plt # 设置字体为微软雅黑&#xff0c;解决中文显示问题matplotlib.rc(&qu…

vue3项目学习三:配置登陆解决方案

配置登陆解决方案 配置环境变量封装axios封装接口请求模块封装登录请求触发登录动作本地缓存处理方案LocalStorage 登录鉴权退出登录方案主动退出被动退出 配置环境变量 在根目录创建开发模式和生产模式的两种baseURL 输入&#xff1a; ENVdevelopment# base api VUE_APP_BA…