【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个方面的因素。

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

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

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

基本原则

根据应用情况将

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

相关推荐

  1. MySQL】——概念逻辑物理结构设计

    2024-06-18 12:04:05       35 阅读
  2. 物理设计概念 -- 物理层次结构

    2024-06-18 12:04:05       34 阅读
  3. 物理设计基础概念 —— Pin

    2024-06-18 12:04:05       20 阅读
  4. mysql索引的概念以及数据结构

    2024-06-18 12:04:05       53 阅读
  5. 介绍一下mysql的存储结构和存储逻辑

    2024-06-18 12:04:05       40 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-18 12:04:05       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-18 12:04:05       106 阅读
  3. 在Django里面运行非项目文件

    2024-06-18 12:04:05       87 阅读
  4. Python语言-面向对象

    2024-06-18 12:04:05       96 阅读

热门阅读

  1. vue跨域问题,请注意你的项目是vue2还是vue3

    2024-06-18 12:04:05       30 阅读
  2. Aeron:Common Errors

    2024-06-18 12:04:05       38 阅读
  3. Nginx 网站服务

    2024-06-18 12:04:05       22 阅读
  4. 整理水土保持设计乙级资质申报材料的全面指南

    2024-06-18 12:04:05       36 阅读
  5. 【康复学习--LeetCode每日一题】2288. 价格减免

    2024-06-18 12:04:05       41 阅读
  6. C语言从头学21——函数

    2024-06-18 12:04:05       35 阅读
  7. 自然语言处理nlp概述

    2024-06-18 12:04:05       41 阅读
  8. 等保测评机构选择与测评委托流程全解析

    2024-06-18 12:04:05       33 阅读