当前位置: 首页 > news >正文

【软考备考】 数据模型:E-R模型、关系模型详解

一、E-R模型(实体-联系模型)

E-R模型是一种用于描述现实世界概念结构的图形化工具。它不关心计算机如何实现,只关注数据间的关系,是数据库设计人员进行概念结构设计的利器。

1. 核心三要素

E-R模型由三个基本元素构成:

  • 实体:客观存在并可以相互区别的事物。

    • 表示矩形框

    • 举例:学生、课程、部门、订单。

  • 属性:实体所具有的某一特性。

    • 表示椭圆形

    • 举例:学生的学号姓名;课程的课程号课程名

      • 主键:能唯一标识一个实体的属性集(如学号)。

      • 外键:...(外键更多在关系模型中讨论)。

  • 联系:实体与实体之间的关系。

    • 表示菱形框

    • 举例:学生 选修 课程。

2. 联系的度数(类型)

这是E-R模型的重点和考点,指参与联系的实体型的数目。

  1. 一对一联系

    • 定义:对于实体集A中的每个实体,实体集B中至多有一个实体与之联系,反之亦然。

    • 表示:1:1

    • 举例:一个公司只有一个CEO,一个CEO只在一个公司任职。(“任职”联系是1:1)

  2. 一对多联系

    • 定义:对于实体集A中的每个实体,实体集B中可以有多个实体与之联系;而对于B中的每个实体,A中至多有一个实体与之联系。

    • 表示:1:n

    • 举例:一个部门有多个员工,一个员工只属于一个部门。(“属于”联系是1:n)

  3. 多对多联系

    • 定义:对于实体集A中的每个实体,实体集B中可以有多个实体与之联系,反之亦然。

    • 表示:m:n

    • 举例:一个学生可以选修多门课程,一门课程可以被多个学生选修。(“选修”联系是m:n)

3. E-R图示例

下图展示了一个简单的教学管理系统E-R图:

 

说明

  • 实体:STUDENTCOURSEDEPARTMENT

  • 联系:Selects (m:n),Belongs_to (1:n)。

  • 每个实体都有自己的属性(主键已标出)。


二、关系模型

关系模型是数据库的逻辑实现模型。它将数据组织成一张二维表格(关系),我们现在使用的大多数数据库(如MySQL, Oracle)都是关系型数据库。

1. 核心概念
  • 关系:对应一张二维表

  • 元组:表中的一行,也称为记录。

  • 属性:表中的一列,也称为字段。

  • 主键:能唯一标识一个元组的属性或属性组。

  • 外键:一个关系R中的某个属性或属性组,它不是R的主键,但它是另一个关系S的主键。这个属性或属性组称为R的外键。用于建立表与表之间的联系。

2. 从E-R图向关系模型的转换

这是数据库设计的关键步骤,也是软考的核心考点。

  1. 实体的转换

    • 规则:一个实体转换为一个关系模式。

    • 实体的属性就是关系的属性,实体的主键就是关系的主键。

    • 举例

      • STUDENT实体 -> 学生(学号, 姓名, ...) 关系模式。

      • COURSE实体 -> 课程(课程号, 课程名, ...) 关系模式。

  2. 联系的转换

    • 1:1 联系的转换

      • 可以在任意一端的关系中加入另一端关系的主键作为外键。

      • 举例公司(公司ID, 名称, ...) 和 CEO(CEO_ID, 姓名, ...)。可以在公司表中加入CEO_ID作为外键,或者在CEO表中加入公司ID作为外键。

    • 1:n 联系的转换

      • 在“n”端(多方)的关系中加入“1”端(一方)关系的主键作为外键。

      • 举例部门(部门号, 名称, ...) 和 员工(工号, 姓名, 部门号, ...)。在“员工”表中加入“部门号”作为外键。

    • m:n 联系的转换

      • 必须将“联系”也转换为一个独立的关系模式。

      • 新关系模式的属性: 包括与该联系相连的各实体集的主键,以及联系本身的属性(如果有)。

      • 新关系模式的主键: 由各实体集的主键组合而成。

      • 举例学生(学号, 姓名, ...) 和 课程(课程号, 课程名, ...) 之间的“选修”联系是m:n。

        • 需要转换为三个关系模式:

          • 学生(学号, 姓名, ...) 主键:学号

          • 课程(课程号, 课程名, ...) 主键:课程号

          • 选修(学号, 课程号, 成绩) 主键:(学号, 课程号),外键:学号 参照 学生表,课程号 参照 课程表。成绩是该联系本身的属性。


三、核心对比与联系

特性E-R模型关系模型
目的概念模型,描述现实世界,与DBMS无关逻辑模型,用于数据库实现
表示形式图形化(矩形、菱形、椭圆)二维表格
核心元素实体、属性、联系关系、元组、属性
焦点数据间语义和联系数据的结构和约束(主键、外键)
转换关系设计基础,先有E-R图实现结果,根据E-R图转换而来

关系:数据库设计通常遵循 现实世界 -> E-R模型 -> 关系模型 -> 物理数据库 的流程。E-R模型是沟通现实世界与关系数据库的桥梁。


四、软考常见考点与例题

  1. 概念选择题

    • 题目:在E-R模型中,表示实体之间联系的图形符号是( )。
      A. 矩形
      B. 椭圆形
      C. 菱形
      D. 三角形

    • 答案:C

  2. 联系类型判断题

    • 题目:一个病房可以住多个病人,一个病人只能住在一个病房。病房与病人之间的联系是( )。
      A. 一对一
      B. 一对多
      C. 多对多
      D. 多对一

    • 答案:B (“一”方是病房,“多”方是病人)

  3. E-R图转关系模式题(综合大题)

    • 题目:设有如下E-R图:实体“供应商”(属性:供应商编号,名称)、实体“项目”(属性:项目编号,预算)、联系“供应”(属性:供应量)。已知一个供应商可以为多个项目供应零件,一个项目可以由多个供应商供应零件。
      (1) 判断“供应”联系的类型。
      (2) 将该E-R图转换为关系模式集,并指出每个关系模式的主键和外键。

    • 解答
      (1) 多对多联系。
      (2) 转换后的关系模式为:
      供应商(供应商编号, 名称) 主键:供应商编号
      项目(项目编号, 预算) 主键:项目编号
      供应(供应商编号, 项目编号, 供应量) 主键:(供应商编号, 项目编号)外键:供应商编号 参照 供应商(供应商编号),项目编号 参照 项目(项目编号)

http://www.dtcms.com/a/495339.html

相关文章:

  • 深入解析Kubernetes中的NetworkPolicy:构建零信任网络的安全基石
  • 遵义网站建设服务怎么建设淘宝联盟的网站
  • 创世网站建设wordpress图片显示缩略图
  • 11.Docker实战-部署 Ghost 开源内容管理系统
  • 【小白笔记】区分类方法/实例方法和静态函数/命名空间函数
  • Python 分类模型评估:从理论到实战(以信用卡欺诈检测为例)
  • 开源 C++ QT QML 开发(二十三)程序发布
  • 礼与仁:社会规范与内心情感的双人舞
  • 设计模式之:简单工厂模式
  • 哈尔滨网站建设哪儿好薇榆社网站建设
  • python的报错
  • 【数据结构】单链表“0”基础知识讲解 + 实战演练
  • 龙虎榜——20251017
  • seo是做网站源码还是什么体外产品的研发网站如何建设
  • HTML纯JS添加删除行示例二
  • 笔试-基站维护
  • 深入解析内存中的整数与浮点数存储
  • 网站你懂我意思正能量免费软件山西格泰网站建设
  • 网站栏目变了怎么做跳转关键词网站排名查询
  • Android 集成指南:Google 登录、Facebook 登录 与 Firebase 深入接入(实战)
  • python 单词搜索(回溯-矩阵-字符串-中等)含源码(二十)
  • hot 100 | 一文讲清动态规划
  • 操作简单稳定选巨 椰 云手机
  • 设计模式之:工厂方法模式
  • 西宁市精神文明建设网站餐饮店面装饰设计
  • 对营销网站建设评估及分析佛山顺德做网站
  • 高并发系统架构设计原则:无状态、水平扩展、异步化、缓存优先
  • 系统架构设计师备考第45天——软件架构演化评估方法和维护
  • 基于SpringBoot+Vue的社区诊所管理系统(AI问答、webSocket实时聊天、Echarts图形化分析)
  • 【MySQL】第二章 基本的SELECT语句