十一、数据库的设计规范

news2024/10/12 9:59:56

文章目录

  • 1. 为什么需要数据库设计
  • 2. 范式
    • 2.1 范式介绍
    • 2.2 范式都包括哪些
    • 2.3 键和相关属性的概念
    • 2.4 第一范式(1st NF)
    • 2.5 第二范式(2nd NF)
    • 2.6 第三范式(3rd NF)
    • 2.7 小结
  • 3. 反范式化
    • 3.1 概述
    • 3.2 应用举例
    • 3.3 反范式的新问题
    • 3.4 反范式的使用场景
      • 3.4.1 增加冗余字段的建议
      • 3.4.2 历史快照、历史数据的需要
  • 4. BCNF(巴斯范式)
  • 5. 第四范式
  • 6. 第五范式、域键范式
  • 7. 实战案例
    • 7.1 迭代1次:考虑1NF
    • 7.2 迭代2次:考虑2NF
    • 7.3 迭代3次:考虑3NF
    • 7.4 反范式化:业务优先原则
  • 8. ER模型
    • 8.1 ER模型包括哪些元素?
    • 8.2 关系的模型
    • 8.3 建模分析
    • 8.4 ER 模型的细化
    • 8.5 ER 模型图转换成数据表
  • 9. 数据表的设计原则
  • 10. 数据库对象编写建议
    • 10.1 关于库
    • 10.2 关于表、列
    • 10.3 关于索引
    • 10.4 SQL编写
    • 11. PowerDesigner的使用

1. 为什么需要数据库设计

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2. 范式

2.1 范式介绍

在这里插入图片描述

2.2 范式都包括哪些

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

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

相关文章

windows系统更新升级node指定版本【避坑篇!!!亲测有效】(附带各版本node下载链接)一定看到最后!不用删旧版!

Node.js 是一个开源、跨平台的 JavaScript 运行时环境,广泛应用于服务器端和网络应用的开发。随着 Node.js 版本的不断更新,我们可能需要升级到特定版本以满足项目需求或修复安全漏洞。又或者是学习开发另外一个新项目,新项目对Node版本要求更…

上交大全华班复现o1旅程式学习下的深思考

因篇幅限制不重复原研究内容,建议访问原技术报告链接精读,这里主要向大伙表示我对上交大本此研究所涉三方面的价值认同及更进一步的延展思考。 价值认同: ① 深刻洞察:系统性研究并阐释旅程式学习; ② 行业促进&…

SQL Injection | MySQL 数据库概述

关注这个漏洞的其他相关笔记:SQL 注入漏洞 - 学习手册-CSDN博客 0x01:MySQL 数据库简介 MySQL 是一个流行的关系型数据库管理系统(RDBMS),它基于 SQL (Structured Query Language)进行操作。My…

Django项目的创建及说明(详细图解版)

Django项目的创建及说明 1、安装Django2、创建项目2.1、利用终端创建项目2.2、利用Pycharm企业版创建项目 3、默认文件介绍 1、安装Django 在终端输入下述命令行。 pip install django安装成功后执行如下命令查看Django是否安装好,若正确显示出Django版本号则安装…

[实时计算flink]应用场景

本文将以部门场景和技术领域场景为例,为您介绍实时计算Flink版的大数据是实时化场景。 背景信息 作为流式计算引擎,Flink可以广泛应用于实时数据处理领域,例如ECS在线服务日志,IoT场景下传感器数据等。同时Flink还能订阅云上数据…

进程的那些事--进程间的通信(重点说明管道和共享内存)

目录 前言 一、初始进程间通信 二、管道 1.匿名管道 2.命名管道 三、共享内存 四、消息队列(了解) 五、信号量(了解) 前言 提示:这里可以添加本文要记录的大概内容: 进程是一个能够独立运行&#…

什么情况下数据库和缓存不一致?

首先,在非并发的场景中,出现不一致的问题大家都能比较容易的理解,因为缓存的操作和数据库的操作是存在一定的时间差的。而生两个操作是没办法保证原子些的,也就是说,是有可能一个操作功,一个操作失败的。所…

C语言-数据结构 折半查找

在折半查找中,刚开始学可能会在下标处产生困惑,例如奇数个长度的数组怎么处理,偶数个长度的数组怎么处理,不需要修改代码吗?并且下标我从1开始算和0开始算影响代码吗?其实都可以用一样的代码,产…

【含文档】基于Springboot+Vue的失物招领系统(含源码+数据库+lw)

1.开发环境 开发系统:Windows10/11 架构模式:MVC/前后端分离 JDK版本: Java JDK1.8 开发工具:IDEA 数据库版本: mysql5.7或8.0 数据库可视化工具: navicat 服务器: SpringBoot自带 apache tomcat 主要技术: Java,Springboot,mybatis,mysql,vue 2.视频演示地址 3.功能 系统定…

如何替换OCP节点(一):使用oat | OceanBase应用实践

前言: OceanBase Cloud Platform(简称OCP),是 OceanBase数据库的专属企业级数据库管理平台。 在实际生产环境中,OCP的安装通常是第一步,先搭建OCP平台,进而依赖OCP来创建、管理和监控我们的生…

docker升级mysql

一、首选备份原数据库所有数据 二、在Docker中查看正在运行的MySQL容器名称,可以使用以下命令: docker ps --filter "namemysql" 三、查看当前docker中正在运行mysql的版本 docker exec -it qgz-mysql mysql -V 可以看到当前运行的版本是8.…

数据传输——差错控制

一、检错纠错 1、通信链路不是完全理想的,在传输的过程中可能会产生比特差错。 2、误码率:传输错误的比特占所传输比特总数的比率。 3、检错:能自动发现差错。 4、纠错:不仅能发现差错而且能自动纠正差错。 5、码字(codeword…

Selenium打开外部应用程序的弹窗处理

问题 selenium自动化操作页面跳转到外部应用程序进行下载等操作,各种窗口处理方式无法解决 原因 该窗口属于浏览器窗口,与访问页面无关(已经脱离页面操作层面) 解决 selenium启动浏览器时,对浏览器进行相关窗口设…

Elasticsearch的安装与配置

注意:elasticsearch 禁止安装在/root路径下! 1、创建用户组 groupadd elastic 2、创建用户 useradd es -d /home/es -g elastic echo es | passwd es --stdin 3、给新创建的用户进行授权 chown -R es:elastic /home/es chmod -R 775 /home/es 4…

sklearn机器学习实战——支持向量机四种核函数分类任务全过程(附完整代码和结果图)

sklearn机器学习实战——支持向量机四种核函数分类任务全过程(附完整代码和结果图) 关于作者 作者:小白熊 作者简介:精通python、matlab、c#语言,擅长机器学习,深度学习,机器视觉,目…

Nginx反向代理配置与负载均衡配置

简介:整理自黑马程序员苍穹外卖的第11节 nginx是什么? nginx的好处 nginx反向代理配置方式 nginx负载均衡的配置方式 nginx负责均衡策略

等保2.0测评 — WebSphere 中间件

查看版本信息: 登录websphere管理平台首页就能看到版本信息 可以进入\usr\IBM\WebSphere\AppServer\bin 下执行./versionInfo.sh查看版本 一、身份鉴别 a)应对登录的用户进行身份标识和鉴别,身份标识具有唯一性,身份鉴别信息具有…

如何使用printf实现整齐美观的输出?

在编程中,尤其是在涉及控制台输出的应用场景中,我们需要让输出的信息更加整齐美观。printf 是 C 语言中用于格式化输出的强大工具之一。通过合理的格式化控制符,我们可以轻松地控制输出的宽度、对齐方式、填充字符等,从而达到整齐…

RiproV9.0主题wordpress主题免扩展可二开PJ版/WordPress博客主题Ripro全解密无后门版本

🔥🎉 全新RiPro9.0开源版发布 —— 探索无限可能🚀🌐 今天,我很高兴能与大家分享一个重磅资源——RiPro9.0开源版!这不是一个普通的版本,而是一个经过精心打磨、全面解密的力作。🔍…

使用KEIL5,不复位MCU,调试到程序运行到卡住之处

文章目录 前言步骤1步骤2步骤3步骤4步骤5 前言 经常有朋友在开发中遇到这样的窘境,当单片机程序运行异常以后,由于调试信息做得并不是很全面,导致相应的问题场景非常难分析。当时的你肯定会叹息道:“要是我一直插着仿真器就好了,…