IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 数据库--关系数据库中的E-R图相关知识(二) -> 正文阅读

[大数据]数据库--关系数据库中的E-R图相关知识(二)

前言

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

在数据库设计过程中,需求分析和概念设计可以独立于任何数据库管理系统进行,逻辑设计和物理设计与选用的DBMS密切相关。

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


一、基础知识点

有些基础概念是苦涩难懂的,但是你要尽量耐下心来过一遍,了解其中的含义,再结合相关练习题进行理解。

1. 实体间联系

(1)两个实体间的联系

  1. 一对一联系(1:1)
    在这里插入图片描述
    在这里插入图片描述

  2. 一对多联系(1:n)
    在这里插入图片描述
    在这里插入图片描述

  3. 多对多联系(m:n)
    在这里插入图片描述
    在这里插入图片描述

  • 两个实体之间的三类联系
    在这里插入图片描述

(2)两个以上实体间的联系

一般地,两个以上的实体型之间也存在着一对一、一对多、多对多联系。

在这里插入图片描述

(3)单个实体间的联系

同一个实体集的内的各实体之间也存在着一对一、一对多、多对多联系。

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

2. 实体

在这里插入图片描述

3. 属性

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

4. 联系集

在这里插入图片描述

  • 联系集的度
    在这里插入图片描述
  • 实例
    在这里插入图片描述

实体之间的联系:

在这里插入图片描述

最终的E-R模型如下:

局部E-R模型
完整的E-R模型

5. 特化Specialization

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

6. 泛化和属性继承

在这里插入图片描述

7. 聚集

在这里插入图片描述

8. E-R设计中的问题

在这里插入图片描述

9. 概念结构设计

(1)实体与属性的划分原则

在这里插入图片描述

  • 例题
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

(2)E-R图的集成

在这里插入图片描述

  1. 由分E-R图到初步E-R图
    在这里插入图片描述

冲突类型:

  • 属性冲突:属性值的类型、取值范围或取值集合不同。
  • 命名冲突:①同名异义,即不同意义的对象在不同的局部应用中具有相同的名字。
    ②异名同义(一义多名),即同一意义的对象在不同的局部应用中具有不同的名字。
  • 结构冲突:①同一对象在不同应用中具有不同的抽象。
    ②同一实体在不同子系统的E-R图中所包含的属性个数和属性排列次序不完全相同。

10. 逻辑设计??

  • E-R图转换为关系模式:
  • 复合属性
  • 多值属性
  • 1对1关系
  • 多对多关系
  • 弱实体
  • 泛化
  • 多元关系

在这里插入图片描述

(1)复合属性

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

(2)多值属性

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

(3)实体间关系

  • 1:1联系
  • 双方均部分参与
    在这里插入图片描述
    在这里插入图片描述
  • 一方全部参与
    在这里插入图片描述
    在这里插入图片描述

在本例中全部参与的一方是部门实体,因此需要将职工实体的关键字属性加入到部门实体的属性中

  • 1:n联系
    在这里插入图片描述
    在这里插入图片描述
  • m:n联系
    在这里插入图片描述
    在这里插入图片描述

(4)弱实体

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

(5)泛化和特化

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

  • 练习
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

即将person(name,street,city)该实例删除掉

(6)多元联系

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


二、习题巩固

  1. 对于实体间的联系则有以下不同的情况:
    (1)一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。如果与某一端实体对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。
    (2)一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。
    (3)一个m:n联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体码的组合组成该关系的码,或码的一部分。
    (4)三个或三个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。
    (5)具有相同码的关系模式可合并。

  2. E-R图转换为关系实例
    在这里插入图片描述
    在这里插入图片描述

  3. 关于E-R图向关系模式的转换的规则正确的是(C)。
    A.复合属性转换时只能将每个分量属性作为所在实体对应关系的属性
    B.一对一联系的转换只能将联系定义为一个新的关系,再将属性设为参与双方的关键字属性
    C.泛化实体与具体化实体在转换时,可以不要泛化实体,而仅将具体化实体转换成关系
    D.一对多联系的转换,需将多方参与实体的关键字作为单方参与实体对应关系的属性
    在这里插入图片描述

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

  1. E-R图是在数据库设计中用来表示概念模型的一种常用方法。
  2. 在数据库中存储的是数据以及数据之间的联系
  3. 关系数据模型的基本数据结构是关系
  4. 在关系数据库设计中,设计关系模式是数据库设计中逻辑设计阶段的任务。
  5. E-R图之间的冲突主要有属性冲突命名冲突结构冲突三种。
  6. 某企业集团有若干工厂,每个工厂生产多种产品,且每一种产品可以在多个工厂生产,每个工厂按照固定的计划数量生产产品;每个工厂聘用多名职工,且每名职工只能在一个工厂工作,工厂聘用职工有聘期工资工厂的属性有工厂编号、厂名、地址,产品的属性有产品编号、产品名、规格,职工的属性有职工号、姓名。

(1)根据上述语义画出E-R图;
(2)将该E-R模型转换为关系模型;(要求:1:1和1:n的联系进行合并)
(3)指出转换结果中每个关系模式的主码和外码。

(1)本题的E-R图如下所示:在这里插入图片描述
(2)转化后的关系模式如下:
工厂工厂编号,厂名,地址)
产品产品编号,产品名,规格)
职工职工号,姓名,工厂编号,聘期,工资)
生产工厂编号,产品编号,计划数量)
(3)每个关系模式的主码、外码如下:
在这里插入图片描述

  1. 在数据库设计中, E-R图产生于概念设计阶段
  2. 关系数据库的实体完整性规则规定基本关系的 主属性都不能取空值(或NULL)
  3. 数据库系统中最重要的软件是数据库管理系统(或DBMS) ,最重要的用户是 数据库管理员(或DBA)
  4. 在数据库设计中,将E-R图转换成关系数据模型的过程属于逻辑设计阶段
  5. 某医院病房管理系统中,包括四个实体型,分别为:
    科室:科名,科地址,科电话
    病房:病房号,病房地址
    医生:工作证号,姓名,职称,年龄
    病人:病历号,姓名,性别
    且存在如下语义约束:
    ① 一个科室有多个病房、多个医生,一个病房只能属于一个科室,一个医生只属于一个科室;
    ② 一个医生可负责多个病人的诊治,一个病人的主管医生只有一个;
    ③ 一个病房可入住多个病人,一个病人只能入住在一个病房。
    注意:不同科室可能有相同的病房号

(1)画出该医院病房管理系统的E-R图;
(2)将该E-R图转换为关系模型;(要求:1:1和1:n的联系进行合并)
(3)指出转换结果中每个关系模式的主码和外码。

(1)E-R图如下:
在这里插入图片描述
(2)E-R图转换为关系模型:
科室科名,科地址,科电话)
病房病房号,科名,病房地址)
医生工作证号,姓名,职称,年龄,科名)
病人病历号,姓名,性别,主管医生,病房号,科名)
(3)每个关系模式的主码和外码如下:
科室:主码是科名;
病房:主码是科名+病房号,外码是科名;
医生:主码是工作证号,外码是科名;
病人:主码是病历号,外码是科名+病房号。

  1. 关系模型的数据结构是二维表结构

  2. 关系模型中,一个候选码可由一个或多个其值能唯一标识该关系模式中任何元组的属性组成

  3. “为哪些表,在哪些字段上,建立什么样的索引”这一设计内容应该属于数据库设计中的物理设计阶段

  4. 数据模型的三大要素:数据结构数据操作完整性约束

  5. 设有商店和顾客两个实体,“商店”有属性商店编号、商店名、地址、电话,“顾客”有属性顾客编号、姓名、地址、年龄、性别。假设一个商店有多个顾客购物,一个顾客可以到多个商店购物,顾客每次去商店购物有一个消费金额和日期,而且规定每个顾客在每个商店里每天最多消费一次。试画出E-R图,注明属性和联系类型,并将E-R模型转换成关系模式。
    在这里插入图片描述
    顾客顾客编号,姓名,地址,年龄,性别)
    商店商店编号,商店名,地址,电话)
    购物顾客编号,商店名称,日期,消费金额)

  6. 某工厂生产多种产品,每种产品由不同的零件组装而成,有的零件可用在不同的产品上。产品有产品号和产品名两个属性,零件有零件号和零件名两个属性。根据语义设计E-R模型,并将E-R模型转换成关系模式。
    在这里插入图片描述
    产品产品号,产品名)
    零件零件号,零件名)
    产品号,零件号

  7. 外模式/模式映象可以保证数据和应用程序之间的逻辑独立性模式/内模式映象可以保证数据和应用程序之间的物理独立性


  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-11-10 12:28:04  更:2021-11-10 12:30:29 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 5:49:05-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码