【数据库系统概论】第7章-数据库设计

文章目录

    • 7.1 数据库设计概述
    • 7.2 需求分析
      • 7.2.1 需求分析的任务
      • 7.2.2 需求分析的难点
      • 7.2.2 需求分析的方法
      • 7.2.3 数据字典
    • 7.3 概念结构设计
      • 7.3.1 概念模型
      • 7.3.2 E-R模型
      • 7.3.3 概念结构设计
    • 7.4 逻辑结构设计
      • 7.4.1 E-R图向关系模型的转换
      • 7.4.2 数据模型的优化
      • 7.4.3 设计用户子模式
      • 小结
    • 7.5 物理结构设计
      • 7.5.3 确定数据库存储结构
      • 7.5.4 评价物理结构
    • 7.6 数据库的运行和维护
    • 小结

7.1 数据库设计概述

  1. 定义
    在这里插入图片描述
  2. 数据库设计的特点
    (1) 三分技术、七分管理、十二分基础数据
    (2)结构(数据)设计和行为(处理)设计密切结合
    在这里插入图片描述
  3. 数据库设计的六个步骤
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  4. 数据库设计中的各级模式
    在这里插入图片描述

7.2 需求分析

在这里插入图片描述

7.2.1 需求分析的任务

在这里插入图片描述

7.2.2 需求分析的难点

在这里插入图片描述

7.2.2 需求分析的方法

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

  • 数据流图

在这里插入图片描述

7.2.3 数据字典

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

7.3 概念结构设计

  1. 定义
    在这里插入图片描述
    在这里插入图片描述

7.3.1 概念模型

在这里插入图片描述

7.3.2 E-R模型

在这里插入图片描述

  1. E-R模型三要素
    实体、属性、联系。(另外,别忘了实体间的映射关系,如下)
  2. 实体间的联系
    在这里插入图片描述
    (1)在这里插入图片描述
    (2)在这里插入图片描述
    (3)在这里插入图片描述
    在这里插入图片描述
  3. E-R图画法
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 练习
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

7.3.3 概念结构设计

现在自己动手设计E-R图,没给你明确属性了。

  1. 设计方法
    需求分析:自顶向下
    概念结构设计:自底向上
    在这里插入图片描述
    在这里插入图片描述
  2. 实体与属性的划分原则
    在这里插入图片描述
    在这里插入图片描述
  3. 设计分E-R图
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  4. E-R图的集成
    在这里插入图片描述
    5.
    在这里插入图片描述
  5. 冲突
    (1)属性冲突
    在这里插入图片描述
    (2)命名冲突
    在这里插入图片描述
    (3)结构冲突
    在这里插入图片描述
  6. 修改和重构
    在这里插入图片描述
    在这里插入图片描述
  7. 冗余
    在这里插入图片描述
    (1)消除冗余的方法
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    触发器的作用体现了:保证数据一致
    在这里插入图片描述
  8. 验证整体概念结构
    在这里插入图片描述
    在这里插入图片描述
  9. 概念结构设计小结
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

7.4 逻辑结构设计

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

  1. 不需要,概念结构设计是现实世界到信息世界的抽象,不涉及具体的实现。
  2. 需要。逻辑结构设计属于信息世界到机器世界的转换,涉及到具体的实现。
  3. 任务:
    把概念设计阶段设计好的基本E-R图转换为与选用数据库管理系统产品所支持的数据模型相符合的逻辑结构。
  4. 步骤
    在这里插入图片描述
    一般的、特定的、优化的

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

  1. 转换什么?
    实体、属性、实体间的联系
  2. 要解决的问题
    在这里插入图片描述
  3. 转换的原则(解决问题1)
    一个实体型转换为一个关系模式,关系的属性就是实体的属性,关系的码就是实体的
    在这里插入图片描述
  4. 实体之间联系的转换?(解决问题2)
    (1)1:1
    在这里插入图片描述
    (2)1:n
    向n端合并,或者新增一个关系模式
    在这里插入图片描述
    或者新增:员工部门(员工,部门)
    (3)m : n
    新增一个表,用双方主码+联系产生的属性
    在这里插入图片描述
    (4)m:n:p
    在这里插入图片描述
    在这里插入图片描述
    (5)具有相同码的关系模式可以合并

在这里插入图片描述

7.4.2 数据模型的优化

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

在这里插入图片描述

  1. 水平分解
    按关系的水平方向分解,即按元组分解。
    在这里插入图片描述
  2. 垂直分解
    在这里插入图片描述
  3. tips

在这里插入图片描述

7.4.3 设计用户子模式

创建视图了,外模式;逻辑结构设计的第二个模式。

  • 定义
    1
  • 授权
    在这里插入图片描述

小结

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

7.5 物理结构设计

  1. 定义
    在这里插入图片描述
  2. 设计步骤
    在这里插入图片描述
    确定结构,评估效率。
  3. 下面是PPT环节
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    1
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 存取方法总结
    索引、聚簇、HASH
    在这里插入图片描述

7.5.3 确定数据库存储结构

在这里插入图片描述

7.5.4 评价物理结构

在这里插入图片描述

7.6 数据库的运行和维护

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

小结

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

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

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

相关文章

【教程】标注工具Labelimg的安装与使用

图片标注主要是为了建立自己的数据集,便于进行更深度的学习训练。本篇文章将对一款十分好用的图片标注工具labelimg进行介绍,重点介绍其安装以及使用的过程。 - 什么是labelimg labelimg 是一个可视化的图像标定工具。它是用Python编写的,并…

HDFS客户端UnknownHostException事故解析

文章目录 前言事故现场问题分析是否是整个域名解析服务当时都出问题了是否是出问题的pods本身的域名解析有问题 异常发生的全部过程域名的解析是什么时候发生的,怎么发生的域名解析的详细流程 重试发生在什么地方为什么重试会无效 Bugfix代码详解关于StandardHostRe…

特殊权限(suid sticky acl mask)

1.suid 1. 普通用户可不可以修改密码? 答:是可以的,可以修改自己的密码 2. /etc/shadow 文件的作用是什么? 答:存储用户密码的文件 3. 普通用户是否可以修改/etc/shadow 文件? 答:不可以&…

STM32+Codesys工业软件PLC解决方案

工业控制系统在现代制造和自动化领域扮演着关键角色, 基于IEC 61131-3 标准的控制器编程开发软件平台CODESYS,适用于多种行业的控制系统的开发,使用户方便快捷地对自动化工程进行编程和配置,完成项目开发、软件测试和应用调试。 本次STM32联合合作伙伴C…

服务器运行状况监控工具

服务器运行状况监视提供了每个服务器状态和性能的广泛概述,通过监控服务器指标,如 CPU 使用率、内存消耗、I/O、磁盘使用率、进程等,服务器运行状况监控可以避免服务器停机。 服务器性能监控指标 服务器是网络中最重要的组件之一&#xff0…

计算机网络复习6

应用层 文章目录 应用层网络应用模型域名系统DNS文件传输协议FTP电子邮件万维网 网络应用模型 客户/服务器模型 客户/服务器(Client/Server,C/S)模型中,有一个总是打开的主机称为服务器,它服务于许多来自其他称为客户机的主机请求…

Java集合/泛型篇----第一篇

系列文章目录 文章目录 系列文章目录前言一、ArrayList和linkedList的区别二、HashMap和HashTable的区别三、Collection包结构,与Collections的区别四、泛型常用特点前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站…

Spring系列学习四、Spring数据访问

Spring数据访问 一、Spring中的JDBC模板介绍1、新建SpringBoot应用2、引入依赖:3、配置数据库连接,注入dbcTemplate对象,执行查询:4,测试验证: 二、整合MyBatis Plus1,在你的项目中添加MyBatis …

从零开始:使用 BIND 构建和管理您的 DNS 服务器

1 前言 在这篇文章中,我将详细介绍如何使用 BIND(Berkeley Internet Name Domain)软件包中的 named 程序来配置和管理一个基本的 DNS 服务器。 从安装 BIND 开始,到设置 DNS 区域文件,再到运行和测试您的服务器&#x…

Oracle 19c OCP 1z0 082考场真题解析第17题

考试科目:1Z0-082 考试题量:90 通过分数:60% 考试时间:150min 本文为云贝教育郭一军guoyJoe原创,请尊重知识产权,转发请注明出处,不接受任何抄袭、演绎和未经注明出处的转载。 17. Which three …

AQS之ReentrantReadWriteLock

AQS之ReentrantReadWriteLock 一. 归纳总结 ReentrantReadWriteLock适合读多写少的场景。是可重入的读写锁实现类。其中, 写锁是独占的,读锁是共享的。 支持锁降级(持有写锁、获取读锁,最后释放写锁的过程) 锁降级可以帮助我们…

oracle-存储结构

文件包括 控制文件.ctl、数据文件.dbf、日志文件.log这三类放在存储上。 参数文件:空间的划分,进程的选用(.ora) oracle启动的时候需要读一下,数据库启动后,参数文件并不关闭,但即使文件丢了&a…

Python生成器 (Generators in Python)

Generators in Python 文章目录 Generators in PythonIntroduction 导言贯穿全文的几句话为什么 Python 有生成器Generator?如何获得生成器Generator?1. 生成器表达式 Generator Expression2. 使用yield定义生成器Generator 更多Generator应用实例表示无…

车牌识别技术,如何用python识别车牌号

目录 一.前言 二.运行环境 三.代码 四.识别效果 五.参考 一.前言 车牌识别技术(License Plate Recognition, LPR)在交通计算机视觉(Computer Vision, CV)领域具有非常重要的研究意义。以下是该技术的一些扩展说明&#xff1…

Day20 222完全二叉树的节点个数 110平衡二叉树 257二叉树的所有路径

222 完全二叉树的结点个数 本题先不把它当成完全二叉树来看,用广度优先和深度优先搜索分别遍历,也能达到目的,只要将之前的代码稍加修改即可。注意后序遍历时的result要加上自身本身的那个结点。 //后序递归遍历 class Solution { public:in…

STL——集合算法

算法简介: set_intersection // 求两个容器的交集set_union // 求两个容器的并集set_difference // 求两个容器的差集 1.set_intersection 函数原型: set_intersection(iterator beg1, iterator end1, iterator beg2, iterator end2, iterator dest);…

【办公技巧】怎么批量提取文件名到excel

Excel是大家经常用来制作表格的文件,比如输入文件名,如果有大量文件需要输入,用张贴复制或者手动输入的方式还是很费时间的,今天和大家分享如何批量提取文件名。 打开需要提取文件名的文件夹,选中所有文件&#xff0c…

iptables 防火墙(二)

目录 1. SNAT 策略及应用 1.1 SNAT策略概述 1. 只开启路由转发,未设置地址转换的情况 2. 开启路由转发,并设置SNAT转换的情况 1.2 SNAT策略的应用 1. 2.1 共享固定IP上网 (1)打开网关的路由转发 (2)…

MongoDB 概念介绍

1、MongoDB 应用场景 传统的关系型数据库,在数据操作的"三高"需求以及应对Web2.0的网站需求面前,显得力不从心。 High performance -对数据库高并发读写的需求。Huge Storage -对海量数据的高效率存储和访问的需求。High Scalability &&…

Java核心知识点1-java和c++区别、隐式和显示类型转换

java和c区别 java通过虚拟机实现跨平台特性,但c依赖于特定的平台。java没有指针,它的引用可以理解为安全指针,而c和c一样具有指针。java支持自动垃圾回收,而c需要手动回收。java不支持多重继承,只能通过实现多个接口来…