【MySQL】数据库设计

news2025/1/11 5:21:11

目录

  • 数据库设计
    • 基本任务
  • 软件项目开发周期中数据库设计
  • 数据库设计的基本步骤
    • 解释
    • 需求分析
      • 需求分析的三个步骤:
        • 1.需求调查:
        • 2.分析
          • 数据字典
            • 内容
            • 定义数据的方法
            • 案例
        • 3. 评审
    • 概念结构设计
      • 概念模型
      • 概念结构设计
        • E-R图概念模型
          • 组成元素:
          • 关系解释
          • 案例分析
    • 逻辑结构设计
      • 逻辑结构设计步骤
      • 关系数据库逻辑设计的步骤
      • ER图向关系模型的转换
        • 一个实体转换为一个关系模式
        • 每个联系类型转换为独立的关系模式
        • 关系图
          • 把每一个实体装换为一个关系:
          • 把每一个联系装换为关系模式
          • 画出关系图
    • 物理结构设计
      • 步骤
      • 准备
      • 内容
      • 关系模式存取方法选择
      • 确定数据库的存储结构
        • 确定数据的存放位置
        • 确定系统配置
    • 数据库的实施和维护
      • 实施阶段:
        • 数据库的试运行
          • 数据库性能指标的测量
          • 数据的分期入库
          • 数据库的转储和恢复
      • 运行和维护
        • 数据库的转储和恢复
        • 数据库的安全性、完整性控制
        • 数据库性能的监督、分析和改进
        • 数据库的重组织与重构造
  • 数据库三大范式
    • 第一范式
    • 第二范式
    • 第三范式
    • 案例:规范化的酒店管理系统E-R图

数据库设计

基本任务

根据用户的信息需求、处理需求和数据库的支持环境(包括硬件、操作系统和DBMS),设计出数据库模式(包括外模式、逻辑模式和内模式)及其典型的应用程序

软件项目开发周期中数据库设计

在这里插入图片描述

  1. 需求分析阶段:分析客户的业务和数据处理需求;
  2. 概要设计阶段:设计数据库的E-R模型图,确认需求信息的正确和完整;
  3. 详细设计阶段:应用三大范式审核数据库结构,将E-R图转换为数据库模型图;
  4. 代码编写阶段:物理实现数据库,编码实现应用;
  5. 软件测试阶段:编写测试文档,进行软件测试工作;
  6. 软件维护阶段:安装部署,维护升级等工作;

数据库设计的基本步骤

  1. 需求分析:通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)工作概况,明确用户的各种需求。
  2. 概念结构设计:通过对用户需求进行综合、归纳与抽象,形成一个独立于具体数据库管理系统的概念模型。
  3. 逻辑结构设计:将概念结构转换为某个数据库管理系统所支持的数据模型,并对其进行优化。
  4. 物理结构设计:为逻辑数据结构选取一个最适合应用环境的物理结构,包括存储结构和存取方法。
  5. 数据库实施:根据逻辑设计和物理设计的结果构建数据库,编写与调试应用程序,组织数据入库并进行试运行。
  6. 数据库运行和维护:经过试运行后即可投入正式运行,在运行过程中必须不断对其进行评估、调整与修改。

需求分析和概念设计独立于任何数据库管理系统
逻辑设计和物理设计与选用的数据库管理系统密切相关

解释

设计阶段数据处理
需求分析数据字典、数据项、数据流、数据存储的描述数据流图和判定树、数据字典中处理过程的描述
概念结构设计概念模型(E-R图)、数据字典系统说明书(系统要求、方案、概图、数据流图)
逻辑结构设计某种数据模型(比如关系)系统结构图(模块结构)
物理设计存储安排、方法选择、存取路径建立模块设计
实施阶段编写模式、装入数据、数据库试运行程序编码、编译连接、测试
运行维护性能监测、转储/恢复、数据库重组和重构新旧系统转换、运行、维护

需求分析

需求分析的三个步骤:

1.需求调查:

收集需求信息, 调查清楚用户的实际要求, 与用户达成共识,与该系统有关人员进行交流、座谈,充分了解用户需求,理解数据库需要完成的任务。

  • 需求调查的内容
    • 组织机构的情况: 组成, 职责, 作用, 现状, 问题,哪些业务适合计算机管理, 哪些不适合。
    • 各个部门的业务活动现状(调查的重点): 输入和使用的数据, 加工处理方法, 数据的流程, 输出的数据及格式, 注意收集原始数据资料, 如台帐、单据、发票、收据、统计报表、文档、档案等。
    • 外部要求:调查数据处理的响应时间、频度和如何发生的规则,以及经济效益的要求,安全性和完整性的要求。
    • 协助用户明确对新系统的各种要求(调查的又一个重点): 信息要求, 处理要求, 安全性要求, 完整性要求, 未来规划中对数据的应用需求等。
    • 确定新系统的边界: 哪些由计算机完成, 哪些由人工完成
  • 步骤
    • 调查组织机构情况。
    • 调查各部门的业务活动情况。
    • 协助用户明确对新系统的各种要求,包括信息要求、处理要求、完全性与完整性要求。
    • 确定新系统的边界
  • 方式
    • 跟班作业:通过亲身参加业务工作了解业务活动的情况。
    • 开调查会:通过与用户座谈来了解业务活动情况及用户需求。
    • 请专人介绍。
    • 询问:对某些调查中的问题,可以找专人询问。
    • 设计调查表请用户填写:调查表设计合理,则很有效。
    • 查阅记录:查阅与原系统有关的数据记录。
  • 策略
    • 对高层负责人的调查: 一般采用个别交谈方式, 先给一份详细的调查提纲, 以便有所准备。
    • 对中层管理人员的调查: 可采用开座谈会, 个别交谈, 发调查表, 查阅记录的调查方式。
    • 对基层业务人员的调查: 主要采用发调查表, 个别交谈或跟班作业的调查方式。
2.分析

分析、整理和表达这些需求信息,形成需求说明书(例如,包括DFD和DD等)。

  • 业务流程分析和表示
    • 目的是获得业务流程及业务与数据联系的形式描述。
    • 采用数据流层次结构分析法(SA法)。
    • 分析结果以数据流图(DFD图)表示, 再辅以数据字典(DD)作补充描述。
  • 需求信息的补充描述
    • 数据字典: 主要用于概念结构设计。
    • 业务活动清单: 列出每一部门中最基本的工作任务。
    • 其他需求清单: 如完整性、安全性、一致性要求。
  • 撰写需求分析说明书
    在这里插入图片描述
数据字典

数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。任何字典最主要的用途是供人查阅对不了解的条目的解释,数据字典的作用也正是在软件分析和设计的过程中给人提供数据的描述信息。数据流图和数据字典共同构成系统的逻辑模型

内容

在这里插入图片描述

定义数据的方法

在这里插入图片描述

案例
  • 数据项:数据的最小单位。其具体内容包括:数据项名、含义说明、别名、类型、长度、取值范围、与其他数据项的关系。

    数据项名选课单号
    说明表示每张选课单
    类型CHAR(8)
    长度8
    别名选课号
    取值范围000000001-99999999
  • 数据结构:数据项有意义的集合。内容包括:数据结构名、含义说明,这些内容组成数据项名。

    数据结构名考试课程
    说明作为考场安排的组成部分,说明某门课程哪位老师代,以及所选学生人数。
    组成课程号、教师号、选课人数
  • 数据流:可以是数据项,也可以是数据结构,它表示某一处理过程中数据在系统内传输的路径。内容包括:数据流名、说明、流出过程、流入过程,这些内容组成数据项或数据结构。

    数据流名考场安排
    说明由各课程所选学生数,选定教师、时间、安排考场
    来源考场
    去向教师
    数据结构考场安排(考试课程、考试时间、教学楼、教师编号)
  • 数据存储:处理过程中数据的存放场所,也是数据流的来源和去向之一。可以是手工凭证,手工文档或计算机文件。

    数据存储名课程表
    说明对每门课程的名称、学分、先行课程号和摘要描述。
    输出数据流课程介绍
    数据描述课程号、课程名、学分数、先行课程号、摘要
    数目每年500种
    存取方式随机存取
  • 处理过程:处理过程的处理逻辑通常用判定表或判定树来描述,数据字典只用来描述处理过程的说明性信息。

    处理过程选课
    说明对要选某门课程的每一个学生,根据已选修课程 确定其是否可选该课程。再根据学生选课的人数选择适当的教室,制定选课单。
    输入学生选课、可选课程、已选课程
    输出选课单
    程序提要a. 对所选课程在选课表中查找其是否已选此课程
    b. 若未选过此课程,则在选课表中查找是否已选此课程的先行课程
    c. 若a、b都满足,则在选课表中增加一条选课记录
    d. 处理完全部学生的选课处理后,形成选课单
3. 评审

由主管部门和专家评价、审批。

概念结构设计

将需求分析得到的用户需求抽象为信息结构(即概念模型)的过程。

概念模型

目前应用最普遍的是实体关系(E-R)模型,它将现实世界的信息结构统一用属性、实体以及它们之间的联系来描述。

概念结构设计

实体与属性的划分:为了简化E-R图的处置,现实世界的事物能作为属性对待的,尽量作为属性对待。
两条准则:

  • 作为属性,不能再具有需要描述的性质。属性必须是不可分的数据项,不能包含其他属性。
  • 属性不能与其他实体具有联系,即E-R图中所表示的联系是实体之间的联系。
E-R图概念模型
组成元素:
元素描述表示
实体数客观存在并可以相互区别的事物用矩形框,矩形框内写明实体名
属性数据用椭圆表示,椭圆内写明属性名,用无向边将其与相应的实体连接起来
关系数据用菱形表示,菱形框内写明联系名称,用无向边将其与相应的实体连接起来,同时在无向边旁边标记联系的类型
关系解释
  • 一对一:【例:学生与学号】一对一关系是指对于实体集A与实体集B,A中的每一个实体至多与B中一个实体有关系;反之,在实体集B中的每个实体至多与实体集A中一个实体有关系。
  • 一对多:【例:班级与学生】一对多关系是指实体集A与实体集B中至少有N(N>0)个实体有关系;并且实体集B中每一个实体至多与实体集A中一个实体有关系。
  • 多对多:【例:学生与课程】多对多关系是指实体集A中的每一个实体与实体集B中至少有M(M>0)个实体有关系,并且实体集B中的每一个实体与实体集A中的至少N(N>0)个实体有关系。
案例分析
一个学生可选修多门课,一门课有若干学生选修;
一个教师可讲授多门课,一门课只有一个教师讲授;
一个学生选修一门课,仅有一个成绩。
学生的属性有学号、学生姓名;教师的属性有教师编号,教师姓名;课程的属性有课程号、课程名。

在这里插入图片描述

逻辑结构设计

将概念结构转换成特定DBMS所支持的数据模型的过程。关系数据库逻辑设计的结果是一组关系模式的定义

逻辑结构设计步骤

  1. 将概念结构转换为一般的关系、网状、层次模型;
  2. 将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换;
  3. 对数据模型进行优化。

关系数据库逻辑设计的步骤

  1. 将概念模型(例如基本E-R图)转换为关系模式的集合 — 得到关系数据库模式;
  2. 运用关系数据理论对关系数据库模式进行规范化处理;
  3. 对关系数据库模式进行评价;
  4. 对关系数据库模式进行修正;
  5. 设计关系子模式 — 视图。

ER图向关系模型的转换

一个实体转换为一个关系模式

关系的属性=实体型的属性;关系的码=实体型的码;关系模式的码(用下横线标出) = 实体型的码;
在这里插入图片描述
转换为:学生(学号,姓名,系别)

每个联系类型转换为独立的关系模式

关系模式的属性 = 与该联系相连的各实体型的码+该联系自身的属性;关系模式的码(用下划线标出) = 各实体型的码;

  • 一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并
    • 转换为一个独立的关系模式,原则:关系模式的属性 = 与该联系相连的各实体型的码 + 该联系自身的属性;关系模式的码(用下划线标出) = 各实体型的码;
    • 与某一端实体对应的关系模式合并,原则:合并后关系的属性=加入对应关系的码和联系本身的属性;合并后关系的码不变;
      在这里插入图片描述
  • 一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。
    • 转换为一个独立的关系模式,原则:关系模式的属性 = 与该联系相连的各实体型的码 + 该联系自身的属性;关系模式的码(用下划线标出) = n端实体的码;
    • 与某一端实体对应的关系模式合并,原则:合并后关系的属性=在n端关系中加入1端关系的码和联系本身的属性;合并后关系的码不变;
      在这里插入图片描述
  • 一个m:n联系必须转换为一个独立的关系模式
    • 转换为一个独立的关系模式,原则:关系模式的属性 = 与该联系相连的各实体型的码 + 该联系自身的属性;关系模式的码(用下划线标出) =各实体码的组合
      在这里插入图片描述- 三个或三个以上实体间的一个多元联系转换为一个关系模式,原则:关系模式的属性 = 与该联系相连的各实体型的码 + 该联系自身的属性;关系模式的码(用下划线标出) =各实体码的组合
  • 具有相同码的关系模式可合并。目的:减少系统中的关系个数
    • 将其中一个关系模式的全部属性加入到另一个关系模式中
    • 然后去掉其中的同义属性(可能同名也可能不同名)
    • 适当调整属性的次序
关系图
把每一个实体装换为一个关系:

首先分析各实体的属性,从中确定其主键,然后分别用关系模式表示。

实体:学生	对应的关系:学生(学号,姓名,性别,年龄)
实体:课程	对应的关系:课程(课程号,课程名)
实体:教师	对应的关系:教师(教师号,姓名,性别,职称)
实体:系		对应的关系:系(系名,电话)
把每一个联系装换为关系模式

将4个联系转换为关系模式,其中2个多对多类型的联系转换为独立关系模式,2个一对多的联系也转换为独立的关系模式。

联系:属于	对应的关系:属于(教师号,系名)
联系:讲授	对应的关系:讲授(教师号,课程号)
联系:选修	对应的关系:选修(学号,课程号,成绩)
联系:拥有	对应的关系:拥有(学号,系名)
画出关系图

在这里插入图片描述
在这里插入图片描述

物理结构设计

数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,它依赖于选定的数据库管理系统。
为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构的过程,就是数据库的物理设计。

步骤

  • 确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构;
  • 对物理结构进行评价,评价的重点是时间和空间效率;若评价结果满足原设计要求,则可进入到物理实施阶段。否则,就需要重新设计或修改物理结构,有时甚至要返回逻辑设计阶段修改数据模型。

准备

  • 要充分了解应用环境,详细分析要运行的事务。以获得选择物理数据库设计所需要的参数。分析数据库查询事务需要的信息、数据更新事务需要的信息、每个事务在各关系上运行的频率和性能要求等。
  • 要充分了解所用的 DBMS的内部特征, 特别是系统提供的存取方法和存储结构。

内容

  • 为关系模式选择存取方法,即要确定选择哪些存取方法,建立哪些存取路径。
  • 设计关系(表)、聚簇、索引、日志、备份等数据的物理存储结构。

关系模式存取方法选择

数据库系统是多用户共享的系统,对同一个关系要建立多条存取路径才能满足多用户的多种应用要求

  • B+树索引
  • Hash索引
  • 聚簇索引

确定数据库的存储结构

  • 确定数据库物理结构主要指确定数据的存放位置和存储结构,包括:确定关系、索引、聚簇、日志、备份等的存储安排和存储结构,确定系统配置等
  • 影响数据存放位置和存储结构的因素:硬件环境和应用需求;要综合考虑存取时间、存储空间利用率和维护代价(这三个方面常常是相互矛盾的。比如:消除一切冗余数据虽能够节约存储空间和减少维护代价,但往往会导致检索代价的增加。必须进行权衡,选择一个折中方案。)
确定数据的存放位置

根据应用情况将易变部分与稳定部分分开存放,经常存取部分与存取频率较低部分分开存放。

  • 可以将日志文件与数据库对象(表、索引等)放在不同的磁盘以改进系统的性能。
  • 可以将比较大的表分别放在两个磁盘上,以加快存取速度,这在多用户环境下特别有效。
  • 数据库数据备份、日志文件备份等由于只在故障恢复时才使用,而且数据量很大,可以考虑存放在磁带上。
确定系统配置
  • 系统都为这些变量(同时使用数据库的用户数、同时打开的数据库对象数、内存分配参数、缓冲区分配参数(使用的缓冲区长度、个数)、存储分配参数 、物理块的大小、物理块装填因子、时间片大小、数据库的大小、锁的数目等)赋予了合理的缺省值。在进行物理设计时需要根据应用环境确定这些参数值,以使系统性能最优。
  • 在物理设计时对系统配置变量的调整只是初步的,要根据系统实际运行情况做进一步的调整,以切实改进系统性能。

数据库的实施和维护

实施阶段:

  1. 建立实际的数据库结构。用DDL定义数据库:定义基本表、索引、约束、视图等;

  2. 装入数据,组织数据入库(又称数据库加载),组织数据入库是数据库实施阶段最主要的工作。

    数据装载方法:人工方法;计算机辅助方法
    数据筛选、输入、转换(工具)、校验,确保正确

  3. 编制和调试数据库应用程序。数据库应用程序的设计应该与数据库设计并行进行。数据库结构建立好后,就可以开始编制与调试数据库的应用程序。

数据库的试运行

应用程序调试完成,并且已有一小部分数据入库后,就可以开始对数据库系统进行联合调试,也称数据库的试运行。

  • 功能测试:实际运行应用程序,执行对数据库的各种操作,测试应用程序的各种功能。
  • 性能测试:测量系统的性能指标,分析是否符合设计目标。
数据库性能指标的测量
  • 数据库物理设计阶段在评价数据库结构估算时间、空间指标时,作了许多简化和假设,忽略了许多次要因素,因此结果必然很粗糙。
  • 数据库试运行则是要实际测量系统的各种性能指标(不仅是时间、空间指标),如果结果不符合设计目标,则需要返回物理设计阶段,调整物理结构,修改参数;有时甚至需要返回逻辑设计阶段,调整逻辑结构。
数据的分期入库
  • 重新设计物理结构甚至逻辑结构,会导致数据重新入库

  • 由于数据入库工作量实在太大,所以可以采用分期输入数据的方法

    先输入小批量数据供先期联合调试使用
    待试运行基本合格后再输入大批量数据
    逐步增加数据量,逐步完成运行评价

数据库的转储和恢复
  • 在数据库试运行阶段,系统还不稳定,硬、软件故障随时都可能发生
  • 系统的操作人员对新系统还不熟悉,误操作也不可避免
  • 因此必须做好数据库的转储和恢复工作,尽量减少对数据库的破坏

运行和维护

在数据库运行阶段,对数据库经常性的维护工作主要是由数据库管理员完成的,包括:

数据库的转储和恢复
  • 数据库管理员要针对不同的应用要求制定不同的转储计划,定期对数据库和日志文件进行备份。
  • 一旦发生介质故障,即利用数据库备份及日志文件备份,尽快将数据库恢复到某种一致性状态
数据库的安全性、完整性控制
  • 初始定义
    • 数据库管理员根据用户的实际需要授予不同的操作权限
    • 根据应用环境定义不同的完整性约束条件
  • 修改定义
    • 当应用环境发生变化,对安全性的要求也会发生变化,数据库管理员需要根据实际情况修改原有的安全性控制
    • 由于应用环境发生变化,数据库的完整性约束条件也会变化,也需要数据库管理员不断修正,以满足用户要求
数据库性能的监督、分析和改进

在数据库运行过程中,数据库管理员必须监督系统运行,对监测数据进行分析,找出改进系统性能的方法。

  • 利用监测工具获取系统运行过程中一系列性能参数的值
  • 通过仔细分析这些数据,判断当前系统是否处于最佳运行状态
  • 如果不是,则需要通过调整某些参数来进一步改进数据库性能
数据库的重组织与重构造
  • 重组织
    • 为什么要重组织数据库 数据库运行一段时间后,由于记录的不断增、删、改,会使数据库的物理存储变坏,从而降低数据库存储空间的利用率和数据的存取效率,使数据库的性能下降。
    • 重组织的形式:全部重组织和部分重组织,只对频繁增、删的表进行重组织
    • 重组织的目标:提高系统性能
  • 重构造
    • 为什么要重构造数据库 数据库应用环境发生变化,会导致实体及实体间的联系也发生相应的变化,使原有的数据库设计不能很好地满足新的需求。
    • 重构造的主要工作 根据新环境调整数据库的模式和内模式增加或删除某些数据项、改变数据项的类型、增加或删除某个表、改变数据库的容量、增加或删除某些索引。
    • 重构造数据库的程度是有限的 若应用变化太大,已无法通过重构数据库来满足新的需求,或重构数据库的代价太大, 则表明现有数据库应用系统的生命周期已经结束,应该重新设计新的数据库应用系统了。

数据库三大范式

第一范式

第一范式的目标是确保每列的原子性,如果每列都是不可再分的最小数据单元(也称为最小的原子单元),则满足第一范式(1NF)
在这里插入图片描述

第二范式

如果一个关系满足第一范式,并且每列必须和主键相关,则满足第二范式 。第二范式要求每个表只描述一件事情。
在这里插入图片描述

第三范式

如果一个关系满足第二范式,并且表中各列必须和主键直接相关,不能间接相关,则满足第三范式
在这里插入图片描述

案例:规范化的酒店管理系统E-R图

在这里插入图片描述

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

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

相关文章

网络安全: Kali Linux 进行 SSH 渗透与防御

目录 一、实验 1.环境 2.nmap扫描目标主机 3.Kali Linux 进行 SSH 渗透 3.Kali Linux 进行 SSH 防御 二、问题 1.SSH有哪些安全配置 一、实验 1.环境 (1)主机 表1 主机 系统版本IP备注Kali Linux2022.4 192.168.204.154(动态&…

基于springboot+vue的农商对接系统

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作 ​主要内容:毕业设计(Javaweb项目|小程序|Pyt…

110. 平衡二叉树【简单】

110. 平衡二叉树【简单】 题目描述: 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点的左右两个子树的高度差的绝对值不超过 1 。 示例 1: 输入:r…

Vivado HLS学习笔记

任意精度的数据类型 u 代表 unsigned&#xff0c;fixed代表定点数据&#xff0c;即常数 采用任意精度的数据类型可以使用更少的资源&#xff0c;硬件友好性 数据类型定义在 header file 中 表示任意进制 ap_int<6> a("101010",2); //二进制数据101010 ap_in…

DR模式下部署LVS负载均衡集群的详细原理

目录 一、LVS-DR模式 1、基本原理 2、数据包流向分析 二、LVS-DR中的ARP问题 三、LVS-DR 特点 3.1 DR模式的特点 3.2 LVS-DR的优缺点 四、RS设置lo:0而不设置ens33:0的原因 一、LVS-DR模式 1、基本原理 Director Server作为群集的访问入口&#xff0c;但不作为网关使…

【C++实战项目】Date日期类 --- 运算符重载的深入探索

&#x1f4f7; 江池俊&#xff1a;个人主页 &#x1f525; 个人专栏&#xff1a;✅C那些事儿 ✅Linux技术宝典 &#x1f305; 此去关山万里&#xff0c;定不负云起之望 文章目录 引言一、为什么需要运算符重载&#xff1f;二、日期类的实现1. 基本框架2. 预备工作3. Date 类…

【MySQL】数据库的操作(1)

【MySQL】数据库的操作&#xff08;1&#xff09; 目录 【MySQL】数据库的操作&#xff08;1&#xff09;创建数据库数据库的编码集和校验集查看系统默认字符集以及校验规则查看数据库支持的字符集查看数据库支持的字符集校验规则校验规则对数据库的影响数据库的删除 数据库的备…

预算有限,3D渲染更该升级显卡还是CPU?升级电脑配置推荐!

在当今数字化时代&#xff0c;影视、游戏和效果图设计等领域都需要强大的计算机来支持3D渲染工作。受当前国际和市场环境影响&#xff0c;硬件价格持续上涨&#xff0c;有专家预测这种局面将至少持续半年以上。因此&#xff0c;在预算有限的情况下&#xff0c;很多设计师在电脑…

Spring Cloud Gateway核心之Predicate

路由 Predicate 工厂 Spring Cloud Gateway 将路由作为 Spring WebFluxHandlerMapping基础设施的一部分进行匹配。Spring Cloud Gateway 包含许多内置的路由Predicate 工厂。所有这些谓词都匹配 HTTP 请求的不同属性。多个 Route Predicate Factory 可以组合&#xff0c;并通过…

【VTKExamples::PolyData】第四十八期 ShrinkPolyData

很高兴在雪易的CSDN遇见你 VTK技术爱好者 QQ:870202403 前言 本文分享VTK样例ShrinkPolyData,并解析接口vtkShrinkPolyData,希望对各位小伙伴有所帮助! 感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步! 你的点赞就是我的动力(^U^)ノ~YO 1. ShrinkPol…

基于RFID技术+WMS仓储管理应用设计

一、项目背景 1.1 背景 仓储管理是企业对仓库及其内部物资进行计划、组织、控制和协调的管理过程。它在整个物流和经济活动中扮演着重要的角色&#xff0c;连接着生产者和消费者。 不同规模和产品种类的企业有不同的仓储管理流程和需求&#xff0c;但核心部分都包括仓库作业…

vue+uniapp实现图形验证码功能-插件(附源码)

一、需求背景 vueuniapp实现图形验证码功能-插件&#xff08;附源码&#xff09; 在登录系统时&#xff0c;除了密码登录&#xff0c;还需要提供验证码登录。 涉及验证码&#xff0c;为了安全&#xff0c;一般会加入图形验证码&#xff0c;然后再发短信验证码。 如图&#xff1…

springboot236基于springboot在线课程管理系统的设计与实现

基于SpringBoot在线课程管理系统的设计与实现 摘要 本文首先介绍了在线课程管理系统的现状及开发背景&#xff0c;然后论述了系统的设计目标、系统需求、总体设计方案以及系统的详细设计和实现&#xff0c;最后对在线课程管理系统进行了系统检测并提出了还需要改进的问题。本系…

【QQ案例-QQ框架-静态单元格的使用注意 Objective-C语言】

一、来说一下啊,静态单元格的使用注意 1.静态单元格的使用啊,有一个小的地方,在我们最后一份代码啊,“14-QQ”里面,command + C、command + V、复制一份, 文件名,从“14-QQ副本”,改成“15-静态单元格的注意事项“, 好,然后呢,在这个里边儿,我们点开这个小的项目,…

RWEQ模型高手进阶:土壤风蚀模数估算、制图、归因分析全攻略

土壤侵蚀模型的构建能够更好地探寻侵蚀的原因&#xff0c;以便对土壤侵蚀进行一系列预测工作&#xff0c;减轻其对生态环境的影响。由于侵蚀过程较为复杂&#xff0c;因此建模需要充分考虑各项因素&#xff0c;例如气象、水文、地质环境、土壤条件等。修正的土壤风蚀方程&#…

爬取全国大学排名--数据保存在js文件中的处理办法

网页链接&#xff1a;【软科排名】2023年最新软科中国大学排名|中国最好大学排名 点击xhr后发现数据不存在&#xff0c;在搜索框&#xff08;尽量搜索数字和字母&#xff09;搜索&#xff0c;发现数据在js文件中,这是一个JSONP的格式&#xff0c;相对于json的格式 对js文件进行…

ButterKnife实现之Android注解处理器使用教程

ButterKnife实现之Android注解处理器使用教程 1、新建一个注解 1.1、编译时注解 创建注解所需的元注解Retention包含3个不同的值&#xff0c;RetentionPolicy.SOURCE、RetentionPolicy.CLASS、RetentionPolicy.RUNTIME。这3个值代表注解不同的保留策略。 使用RetentionPolic…

3月6日

英语 微机原理 硬件中断由 硬件产生 软件中断由软件提供 硬件是随机的 软件是已知的 硬件通常使用类型码 软件是不需要的 硬件的NMI 和 INTR 引脚 无条件 简单外设 查询 CPU效率不高 需要外设提供状态口 中断 需要外设向CPU发送中断请求具有发送中断请求的能力 同时要发送类型…

PandasPython 笔记1 3.5

一般这两个东西相互配合使用 pd.Series 若没有给定行和列的话&#xff0c;就会自动给0&#xff0c;1&#xff0c;2&#xff0c;3&#xff0c;4 describe 只能描述数字&#xff0c;不可以描述字符串 ascendingfalse&#xff1a;倒序 一般的截取方式 特定的选取方式 有这三…

Vue-04

Vue 指令 指令补充 指令修饰符&#xff1a;通过"."指明一些指令后缀&#xff0c;不同后缀封装了不同的处理操作 → 简化代码 按键修饰符 keyup.enter → 键盘回车监听 在input中使用keyup.enter&#xff0c;这个时候按enter键也能实现添加&#xff0c;和点击按钮实…