【MySQL】——概念、逻辑、物理结构设计

💻博主现有专栏:

                C51单片机(STC89C516),c语言,c++,离散数学,算法设计与分析,数据结构,Python,Java基础,MySQL,linux,基于HTML5的网页设计及应用,Rust(官方文档重点总结),jQuery,前端vue.js,Javaweb开发,Python机器学习等
🥏主页链接:

                Y小夜-CSDN博客

目录

🎯概念结构设计

🎃概念模型

🎃 E-R模型

🎃概念结构设计

🎯逻辑结构设计

🎃 E-R图向关系模型的转换

🎃数据模型的优化

🎃设计用户子模式

🎯物理结构设计

🎃数据库物理设计的内容和方法

🎃确定数据库的存储结构


🎯概念结构设计

🎃概念模型

什么是概念结构设计

  • 将需求分析得到的用户需求抽象为信息结构(即概念模型)的过程就是概念结构设计;
  • 概念结构是现实世界的一个真实模型。是各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更加稳定;
  • 概念结构设计是数据库设计的关键。
  • 概念模型的用途概念模型用于信息世界的建模
    • 是现实世界到机器世界的一个中间层次
    • 是数据库设计的有力工具
    • 数据库设计人员和用户之间进行交流的语言
  • 对概念模型的基本要求
    • 较强的语义表达能力
    • 简单、清晰、易于用户理解

概念模型的特点

  • (1)能真实、充分地反映现实世界,是现实世界的一个真实模型。
  • (2)易于理解,从而可以用它和不熟悉计算机的用户交换意见。
  • (3)易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充。
  • (4)易于向关系、网状、层次等各种数据模型转换

🎃 E-R模型

实体之间的联系

(1)两个实体型之间的联系:

  • ①一对一联系(1∶1)
  • ②一对多联系(1∶n)
  • ③多对多联系(m∶n)

E-R图

E-R图提供了表示实体型、属性和联系的方法:

  • 实体型:用矩形表示,矩形框内写明实体名。
  • 属性:用椭圆形表示,并用无向边将其与相应的实体型连接起来。
  • 联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体型连接起来,同时在无向边旁标上联系的类型(1∶1,1∶n或m∶n)。

🎃概念结构设计

 实体与属性的划分原则

  • 为了简化E-R图的处置,现实世界的事物能作为属性对待的,尽量作为属性对待。

两条准则:

  • (1)作为属性,不能再具有需要描述的性质。属性必须是不可分的数据项,不能包含其他属性。
  •  (2)属性不能与其他实体具有联系,即E-R图中所表示的联系是实体之间的联系。

🎯逻辑结构设计

逻辑结构设计的任务

  • 把概念结构设计阶段设计好的基本E-R图转换为与选用的DBMS产品所支持的逻辑结构
  • 目前主要使用关系模型,关系模型的逻辑结构是一组关系模式的集合

🎃 E-R图向关系模型的转换

转换内容

  • E-R图由实体型、实体的属性和实体型之间的联系三个要素组成
  • 关系模型的逻辑结构是一组关系模式的集合
  • 将E-R图转换为关系模型:将实体型、实体的属性和实体型之间的联系转化为关系模式

🎃数据模型的优化

  • 数据库逻辑设计的结果不是唯一的。
  • 得到初步数据模型后,还应该适当地修改、调整数据模型的结构,以进一步提高数据库应用系统的性能,这就是数据模型的优化。
  • 关系数据模型的优化通常以规范化理论为指导。

优化数据模型的方法:

(1)确定数据依赖

        按需求分析阶段所得到的语义,分别写出每个关系模式内部各属性之间的数据依赖以及不同关系模式属性之间数据依赖。

(2)对于各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系。

(3)按照数据依赖的理论对关系模式进行分析,考察是否存在部分函数依赖、传递函数依赖、多值依赖等,确定各关系模式分别属于第几范式。

(4)按照需求分析阶段得到的各种应用对数据处理的要求,分析对于这样的应用环境这些模式是否合适,确定是否要对它们进行合并或分解。      包括水平分解和垂直分解

🎃设计用户子模式

数据库模式——全局模式。

  • 考虑系统全局应用需求,时间效率、空间效率、易维护等。

用户子模式——视图机制

  • 考虑局部应用的特殊需求和用户体验。包括三个方面:
    • 使用更符合用户习惯的别名
    • 针对不同级别的用户定义不同的视图,以保证系统的安全性。
    • 简化用户对系统的使用

🎯物理结构设计

什么是数据库的物理设计

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

🎃数据库物理设计的内容和方法

关系数据库物理设计的内容

  • 为关系模式选择存取方法(建立存取路径)
  • 为关系、索引、日志、备份等数据库文件选择物理存储结构

不同的DBMS产品

  • 物理环境、存取方法和存储结构有 很大差别
  • 能供设计人员使用的设计变量、参数范围很不相同
  • 没有通用的物理设计方法,只能给 出一般的设计内容 和原则。

🎃确定数据库的存储结构

        确定数据的存放位置和存储结构要综合考虑存取时间、存储空间利用率和维护代价3个方面的因素。

影响数据存放位置和存储结构的因素

  • 硬件环境
  • 应用需求
    • 存取时间
    • 存储空间利用率
    • 维护代价

这三个方面常常是相互矛盾的

基本原则

根据应用情况将

  • 易变部分与稳定部分分开存放
  • 经常存取部分与存取频率较低部分分开存放
  • 将日志文件与数据库对象(表、索引等)分开存放

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

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

相关文章

state和store的使用场景

结论 State:局部状态 Store:全局状态(可以使用Context、Redux 具体介绍 状态管理库如Redux通常是通过store来管理全局状态的。为了更好地理解局部状态和全局状态的管理,我们将分别详细解释如何在React中使用它们。 一、局部状…

盘点Elementor的8大缺点 为了安全果断放弃

Elementor作为一款流行的WordPress页面构建器,确实因其易用性和丰富的功能受到许多用户的欢迎。然而,如果它频繁曝出安全问题,并且你认为这些安全问题对你的网站构成严重威胁,那么考虑其他替代方案是明智的。以下是Elementor的一些…

umijs脚手架

node 16.9.1 注意node版本的问题 node 18.20.0 这个问题其实是node与中端连接出错,无法初始化TTY(终端设备),可以用cmd命令行来创建umi项目 nvm管理node https://github.com/coreybutler/nvm-windows/releases 这是nvm-window…

Idea Git中 unversioned files的处理

项目中,使用git commit命令可以查看当前所在的分支,以及当前改动的文件,可以使用快捷键Alt 0打开/关闭;如下图所示, 可以看到分成了两个不同的区域, Changes 表示有改动的文件,包括修改、新增…

mysql对VARCHAR和int的误解

VARCHAR: 你将VARCHAR类型的长度设置为255时,意味着该字段可以存储最多255个字符,不论这些字符是哪种语言的文字 tinyint int等 任何整数,只要类型定了,他表达的最大值和存储所占的空间就是确定的.不会因为你设置的长度不同而改变,所以正常情况下,我们…

Java高级编程技术与算法应用全解析

遗传算法 Java中的遗传算法 遗传算法通过模拟自然选择和遗传机制来寻找最优解。本文将介绍遗传算法的基本概念及其Java实现。 遗传算法的基本概念 遗传算法通过选择、交叉和变异等操作来优化问题。 示例代码:简单的遗传算法 import java.util.ArrayList; impo…

Python基础语法学习(工程向)-Stage1

输出的方式: print(fabscwdasd {num}) print(asbduwiu %d, a) print(asnidoian %d %d %d,a,b,c)不换行 print(asbdiuabw,end )输入 a input(输入) 只能输入字符串形式,如果相当做数字用则将其转化为数字 只有合法的数字才能转化成功 a int(input()…

厂里资讯之异步通知文章上下架

kafka及异步通知文章上下架 1)自媒体文章上下架 需求分析 2)kafka概述 消息中间件对比 特性ActiveMQRabbitMQRocketMQKafka开发语言javaerlangjavascala单机吞吐量万级万级10万级100万级时效性msusmsms级以内可用性高(主从)高(主从&#…

代码随想录算法训练营第41天|● 01背包问题 二维 ● 01背包问题 一维● 416. 分割等和子集

背包问题 二维01 背包 有n件物品和一个最多能背重量为w 的背包。第i件物品的重量是weight[i],得到的价值是value[i] 。每件物品只能用一次,求解将哪些物品装入背包里物品价值总和最大。 对于背包问题,有一种写法, 是使用二维数…

pydictor 字典工具的使用指南

在渗透测试和安全审计过程中,字典攻击是一种常见的密码破解手段。一个强大且灵活的字典生成工具可以显著提高破解效率。本文将详细介绍如何使用 pydictor,这是一个功能丰富的字典生成工具,广泛用于生成定制化的密码字典。 pydictor 简介 py…

Android网络性能监控方案 android线上性能监测

1 Handler消息机制 这里我不会完整的从Handler源码来分析Android的消息体系,而是从Handler自身的特性引申出线上卡顿监控的策略方案。 1.1 方案确认 首先当我们启动一个App的时候,是由AMS通知zygote进程fork出主进程,其中主进程的入口就是Ac…

Mysqld数据库管理

一.Mysqld数据库类型 常用的数据类型 int 整型 无符号[0-4294967296(2的32次方)-1],有符号[-2147483648(2的31次方)-2147483647]float单精度浮点 4字节32位double双精度浮点 8字节64位char固定长度的字符类型…

Matlab基础篇:数据输入输出

前言 数据输入和输出是 Matlab 数据分析和处理的核心部分。良好的数据输入输出能够提高工作效率,并确保数据处理的准确性。本文将详细介绍 Matlab 数据输入输出的各种方法,包括导入和导出数据、数据处理和数据可视化。 一、导入数据 Matlab 提供了多种方…

计算机网络:1概述、2物理层

目录 概述因特网网络、互连网(互联网)与因特网的区别与关系因特网发展的三个阶段因特网服务提供者(Internet Service Provider,ISP)因特网的标准化工作因特网的管理结构 三种交换电路交换分组交换报文交换 计算机网络性…

优化Spring Boot项目启动时间:详解与实践

目录 引言了解Spring Boot框架启动机制常见启动瓶颈分析优化策略 禁用不必要的自动配置使用Profile进行开发和生产环境区分精简依赖延迟加载Bean并行初始化Bean缓存数据源连接优化Spring Data JPA使用Spring Boot DevTools 通过性能测试工具分析和优化实战示例:一个…

Threejs-09、贴图的加载与环境遮蔽强度设置

1、创建文理加载器 let textureLoader new THREE.TextureLoader();2、加载贴图 // 加载文理 let texture textureLoader.load("./img/image.png") // 加载ao贴图 let aoMap textureLoader.load("./img/image.png");3、创建一个平面 let planeGeomet…

element el-select数据量过大 造成页面卡死情况(解决)

template <el-form-item><el-selectv-model"form.nameId"placeholder"姓名"clearablefilterableremotecollapse-tagsreserve-keywordmultiple:loading"loading":remote-method"remoteMethod"style"width: 100%"ch…

常见日志库NLog、log4net、Serilog和Microsoft.Extensions.Logging介绍和区别

在C#中&#xff0c;日志库的选择主要取决于项目的具体需求&#xff0c;包括性能、易用性、可扩展性等因素。以下是关于NLog、log4net、Serilog和Microsoft.Extensions.Logging的基本介绍和使用示例。 包含如何配置输出日志到当前目录下的log.txt文件及控制台的示例&#xff0c;…

springboot整合sentinel接口熔断

背景 请求第三方接口或者慢接口需要增加熔断处理&#xff0c;避免因为慢接口qps过大导致应用大量工作线程陷入阻塞以至于其他正常接口都不可用&#xff0c;最近项目测试环境就因为一个查询的慢接口调用次数过多&#xff0c;导致前端整个首页都无法加载。 依赖下载 springboo…

网络安全(完整)

WAPI鉴别及密钥管理的方式有两种&#xff0c;既基于证书和基于预共享密钥PSK。若采用基于证书的方式&#xff0c;整个国产包括证书鉴别、单播密钥协商与组播密钥通告&#xff1b;若采用预共享密钥方式&#xff0c;整个国产则为单播密钥协商与组播密钥通告蠕虫利用信息系统缺陷&…