`
mx19841031
  • 浏览: 76162 次
  • 性别: Icon_minigender_2
  • 来自: 西安
社区版块
存档分类
最新评论

数据库系统概念读书笔记(2)--实体联系模型

阅读更多

 

1.几个基本概念

实体-联系(E-R)模型是基于如下的一种认识:世界由一组实体和实体之间的相互联系组成。E-R模型是一种语义模型, 前面也提到过,这种模型经常作为关系数据库模型的基础。 很多数据库设计工具也都使用了E-R模型的概念。

下面是几个核心概念

  1. 实体集:具有相同类型及共享相同性质的实体集合。而相应的实体集中每一个元素就是实体。这个概念对应到面向对象中就是class-object概念, 而我们野可以想象,实体集还会有继承的概念(虽然我暂时还无法想象在数据库中如何实现实体集的继承)。
  2. 属性,值和域:实体是通过一组属性来表示的,属性就是每个成员所具有的描述性性质,而每个实体的所有属性都有一个, 每一个属性的取值范围就称作该属性的
  3. 联系集:联系是指实体之间的相互关联,而同类型的关系组成的集合就是关系集。在通常的数据库系统中,联系可以表现为两种,一种是联系表,而另一种就可能是一个简单的sql语句。

2.约束

有了实体集合,有了联系集合,自然而然的就产生出来约束,约束描述的是实体集和实体集之间的关系,而这种关系就具现为一个联系集。 我们要讨论的是映射基数参与约束这两类最重要的约束。

2.1.映射基数

映射基数是指一个实体集和另一个实体集之间的实体对应关系。有如下的四种

  1. 一对一
  2. 多对一
  3. 一对多
  4. 多对多

具体的解释可以看书,映射基数在描述二元联系集的时候,特别有用。

2.2.参与约束

参与约束只是讲实体集和联系集的关系,实体集E中的任意一个实体e如果都参与到了联系集R中,那么就说E对R是完全参与的;相对来说就有部分参与

3.码

码是在实体集中唯一表示某一个实体的属性集合,按照超码中包含的属性数量分可以分为“超码”,“候选码”,“主码”三种。

  1. 超码:在实体集中任何可以唯一标识实体的属性集合都叫做超码,所以,根据这个定义,任何超码的超集也都是超码。
  2. 候选码:任意真子集都不能成为超码的超码叫做候选码。
  3. 主码:数据库设计者选中的候选码。

候选码应该选择那些从不或者极少变化的属性。

4.设计问题

4.1.用实体集还是用属性

书中给的例子是很明显的,employee-name本身不能作为一个实体,尽管employee-name可能会有first-name,会有 middle-name 和last-name,但是把它们做成employee 的属性更加的合理。而把telephone做成一个实体就很有道理了,因为我们可以存储telephone的额外信息。而有两种错误一定要注意一下。

  1. 不要用实体集的主码作为另一个实体集的属性。
  2. 不要将有关系的实体集的主码属性作为联系集的属性。(这句话不明白)

4.2.用实体集还是联系集

  1. 原则:当描述发生在实体之间的行为时采用联系集。

4.3.二元联系集与n元联系集

  1. n元关系可以分解成二元关系,但是会出现关系描述不准确的情况。

5.弱实体集和其他的扩展特性

如果一个实体集的属性可能不足以形成主码,这样的实体集就成为弱实体集。反之就叫做强实体集。而作为设计的目标之一,一个弱实体集必须要依赖 于一个强实体集,标识性联系是从弱实体集到标识实体集的多对一的联系,并且弱实体集全部参与联系。

另外,我们还有一些关于实体的特性,比如继承,说的是实体集之间的继承关系,但是这样的关系只是在设计的时候适用,在真正建立 table的时候,会造成一些实现上的困难。还有聚集,这是非常有用的,说明了联系集和其他集的联系集,具体的例子参考书,就是employee, branch,job和manager之间的关系(论述非常的经典)。

6.E-R模式像Table转化

6.1.强实体集

强实体集被对应成数据库里面的一张表,有多少个属性就有多少列。并且主码做主键

6.2.弱实体集

弱实体集也被对应成一张表,这张表一定要包含所依赖的强实体集的主码。

6.3.联系集

联系集被翻译成一张表,整个表里面要包含所有参与联系的实体的主码。并且附加描述性属性。

  1. 1对1:任意一方的主码都可以拿来作为主码。
  2. 1对n:多方主码成为联系集的主码,单方主码作为属性。
  3. n对n:把双方的主码的组合作为主码。

6.4.复合属性

性为每一个子属性创建一个单独的属性。

6.5.多值属性

必须为多值属性创建一个表。

6.6.一般化(父子集成的关系)

通常都为子实体集合创建一个单独的表,如果还有实体属于父实体集合,那么也要为父实体创建表

 

分享到:
评论

相关推荐

    《数据库系统概念》笔记、部分课后答案优质博客链接

    总之,《数据库系统概念》笔记提供了关于数据库体系结构、数据模型、数据库设计、数据存储和查询、事务管理、数据挖掘分析等核心概念的详细介绍和实践指导。通过这些知识点,读者可以系统地学习和掌握数据库系统的...

    读书笔记:《数据库系统概念》.pdf

    《数据库系统概念》这本书主要介绍了数据库管理系统的概念和核心组成部分,包括数据库的使用场景、目标、数据抽象、数据模型、数据库语言以及关系数据库等。以下是关键知识点的详细说明: 1. **数据库管理系统(DBMS...

    超详细数据库系统与概论笔记2019上——个人笔记.zip

    数据库系统是信息技术中的核心部分,它负责存储、管理和检索数据,是企业和组织处理大量信息的基础。...通过阅读和理解这份笔记,读者将能够深入理解数据库系统的基本原理,为实际应用打下坚实基础。

    2009数据库系统工程师学习笔记

    2009年的数据库系统工程师学习笔记可能涵盖了当时该领域的核心概念和技术。以下是对这些笔记可能包含的一些关键知识点的详细说明: 1. **数据库基础理论**: - 数据模型:包括关系模型(如SQL)、网络模型、层次...

    数据库系统原理学习笔记

    这份学习笔记涵盖了数据库系统的基础概念、设计原则以及SQL语言的应用。以下是笔记中的关键知识点: 1. **数据库概述**:数据库是一种有组织地存储和管理数据的系统,提供了数据的结构化存储、数据操作和数据控制等...

    数据库系统概论学习笔记(一)

    ### 数据库系统概论学习笔记(一) #### 1. 数据库系统的主要特点与全貌 数据库系统(Database System, DBS)是一个用于管理和存储数据的综合系统,它包括硬件、软件、数据库管理员(DBA)及用户等多个组成部分。...

    数据库笔记1-4

    - **概念设计**:建立ER模型(实体-联系模型),确定实体、属性和实体之间的关系。 - **逻辑设计**:将ER模型转换为特定DBMS支持的数据模型。 - **物理设计**:考虑数据库的具体存储结构和访问方式。 #### 5. ...

    数据库系统概念(讲义)浙江大学

    以上是对数据库系统概念的关键知识点进行了详细说明,涵盖了数据库系统的定义、数据模型、数据库语言、数据库系统结构以及SQL语言的基本结构等内容。这些知识点对于理解数据库系统的核心概念和技术具有重要意义。

    数据库系统概论读书笔记.doc

    《数据库系统概论》读书笔记主要涵盖了数据库的基础概念、特点、数据库管理系统(DBMS)的功能、数据库系统(DBS)的构成、数据模型以及实体-联系模型等内容。以下是这些知识点的详细解释: 1. 数据:数据是数据库...

    数据库系统概论学习笔记.docx

    概念模型是现实世界的抽象,如实体、属性、码和域,而数据模型则具体到数据库系统的实现,如关系模型、层次模型和网状模型。 关系模型是最常用的数据模型,其逻辑结构表现为二维表格,每个表格(关系)由行(记录)...

    数据库系统原理(04735-2018年版)-数据库系统概述笔记.doc

    总结来说,关系数据库是一种以关系模型为基础,采用二维表格形式组织数据的系统,通过一系列严谨的操作来管理和检索数据,它的设计和使用涉及到诸多概念和原则,是现代信息技术中不可或缺的一部分。

    数据库系统概论总结

    E-R模型是一种表示概念结构的方法,通过矩形(实体集)、椭圆(属性)、菱形(联系集)和线段连接来构建可视化模型,便于数据库设计。 总的来说,数据库系统概论涉及了数据管理的各个层面,从基础概念到高级模型,...

    数据库原理与技术笔记

    通过以上概述可以看出,《数据库原理与技术笔记》涵盖了数据库领域的重要概念和技术发展历史,从基本概念出发,逐步深入到数据库系统的设计和实现原理,为学习数据库技术提供了全面而系统的指南。

    数据库系统概念读书笔记-关系数据库

    关系数据库是数据库系统的核心组成部分,它基于关系模型理论,由一系列相互关联的表格组成。每个表格都有一个唯一的名称,用于区分不同的数据实体。表格中的每一行代表了一个特定实体的实例,也就是一组值之间的联系...

    数据库系统概论表格笔记

    笔记可能涵盖了数据库的基本概念、模型、设计方法以及管理策略,旨在帮助读者建立起系统的数据库知识体系。 一、基本概念 1. 数据与信息:数据是未经处理的事实或数字,而信息是对数据的解释,具有意义和价值。 2. ...

    数据库系统概论笔记-王珊版.docx

    本笔记主要涵盖了数据库系统的基本概念、数据模型、数据独立性、信息世界中的基本概念、数据完整性约束条件、数据库系统的模式、关系模型、关系代数、数据库安全性控制等方面的内容。 数据库系统概论 数据库系统...

    数据库课程设计e-processing-mai开发笔记

    在“数据库课程设计e-processing-mai开发笔记”中,我们可以探讨与数据库管理和系统开发相关的多个重要知识点。这个项目可能涉及到数据库的设计、实现以及一个名为“e-processing-mai”的应用程序的开发,这可能是一...

    数据库系统概念知识点笔记1

    数据库设计和E-R模型是数据库系统中另一个关键概念,它关注如何从现实世界中抽象出数据模型,以及如何将这个模型转换成数据库的具体实现。实体-关系模型(Entity-Relationship Model,简称E-R模型)是其中的一种方法...

    软考数据库系统工程师复习资料

    "软考数据库系统工程师...本篇文章系统地讲解了数据库系统工程师复习资料中的关键概念,包括数据模型、三要素、概念模型、实体、属性、关键字、域、实体型、实体集、联系等,为读者提供了一个系统的数据库知识体系。

    数据库系统概论王珊第五版学习笔记.docx

    本笔记主要涵盖了数据库系统的基础概念、数据模型、数据完整性、数据库的三级模式结构以及关系模型等内容。 1. 数据库的四个基本概念: - 数据:是数据库中的基本元素,用于描述现实世界的事实或属性。 - 数据库...

Global site tag (gtag.js) - Google Analytics