《数据库技术原理与应用教程第2版》——3.4概念世界与概念模型

简介: 概念世界是一个较为抽象化的世界,它给出了数据的概念化结构。概念世界一般用概念模型表示。本书选用ER模型表示概念世界。

本节书摘来自华章出版社《数据库技术原理与应用教程第2版》一书中的第3章,第3.4节,作者 徐洁磐 操凤萍  ,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

3.4概念世界与概念模型

概念世界是一个较为抽象化的世界,它给出了数据的概念化结构。概念世界一般用概念模型表示。本书选用ER模型表示概念世界。
ER模型(entityrelationship model)又称实体联系模型,它于1976年由Peter Chen首先提出。它用于将现实世界的要求转化成实体、联系、属性等几个基本概念以及它们间的两种基本关系,并且用一种较为简单的图表示。这种图称为ER图(entityrelationship diagram),该图简单明了,易于使用,因此很受欢迎。

3.4.1 E R模型的基本概念

1.实体(entity)

实体是概念世界中的基本单位,它们是客观存在的且又能相互区别的事物,现实世界中的事物可以抽象成为实体。凡是有共性的实体可组成一个集合称为实体集(entity set)。例如,学生张三、李四是实体,而他们又均是学生,从而组成一个实体集。

2.属性(attribute)

现实世界中的事物均有一些特性,这些特性可以用属性这个概念表示。属性刻画了实体的特征,它一般由属性名、属性型和属性值组成。其中,属性名是属性标识,而属性的型与值则给出属性的类型与取值。属性的取值有一定范围,而这个范围称为属性域(domain)。一个实体往往有若干个属性,如实体张三的属性可以有姓名、性别、年龄等。

3.联系(relationship)

现实世界中事物间的关联称为联系。在概念世界中,联系反映了实体集间的一定关系,如医生与病人这两个实体集间有治疗关系,官、兵间有领导关系,旅客与列车间有乘坐关系。
(1)一个联系中实体集的个数可分为以下几种:
1)两个实体集间的联系。这是一种最为常见的联系,前面举的例子均属两个实体集间的联系。
2)多个实体集间的联系。这种联系包括三个实体集间的联系以及三个以上实体集间的联系。例如,工厂、产品、用户这三个实体集间存在着工厂提供产品为用户服务的联系。
3)一个实体集内部的联系。一个实体集内往往有若干个实体,它们间的联系称为实体集内部的联系。例如,某单位职工这个实体集内部有上下级联系,因为某人(如科长)既可以是一些人的下级(如处长),也可以是另一些人的上级(如本科室内的科员)。
(2)实体集间联系的个数可以分为以下几种:
1)实体集间单个联系:如实体集教师与学生间的教学联系。
2)实体集间多个联系:如实体集军官与士兵实体集,军官与士兵间的上下级联系,也有“老乡”间联系。
(3)实体集间的联系实际上是函数关系,这种函数关系有下面几种:(以两个实体集为例)
1)一一对应(one to one)的函数关系:这种函数关系是常见的函数关系之一,它可以记为1∶1。例如,学校与校长间具有相互的一一对应关系。
2)一多对应(one to many)或多一对应(many to one)函数关系:这两种函数关系实际上是同一种类型,它们可以记为1∶m或m∶1。例如,学生与其宿舍房间的联系是多一对应函数关系(反之则为一多对应函数关系),即多个学生对应一个房间。
3)多多对应(many to many)函数关系:这是一种较为复杂的函数关系,可记为m∶n。例如,教师与学生这两个实体集间的教学的联系是多多对应函数关系。因为一个教师可以教授多个学生,而一个学生又可以受教于多个教师。
以上四种函数关系可用图32表示。
图32四种函数关系表示图


670166a8108739ed2983ffedf63832fc5f821ee7

3.4.2 E R模型三个基本概念之间的联接关系

ER模型由实体、属性、联系三个基本概念组成,这三个基本概念之间有下面两种关系。
1.实体集(联系)与属性间的联接关系
实体是概念世界中的基本单位,属性附属于实体,它本身并不构成独立单位。一个实体可以有若干个属性,实体以及它的所有属性构成了实体的一个完整描述,因此实体与属性间有一定联接关系。例如,在人事档案中,每个职工(实体)可以有编号、姓名、性别、年龄、籍贯、政治面貌等若干属性,它们组成了一个职工(实体)的完整描述。
实体有型与值之别,一个实体的所有属性组合构成了这个实体的型(如表3.1中人事档案中的实体,它的型是“编号、姓名、性别、年龄、籍贯、政治面貌”等的组合),而实体中属性值的组合(如表31中的“138,徐英健,女,18,浙江,团员”)则构成了这个实体的值。
相同型的实体构成实体集。实体集由实体集名、实体型和实体值三部分组成。一般来说,一个实体集名可有一个实体型与多个实体值。例如,表31是一个实体集,它有一个实体集名“人事档案简表”,并有一个实体型(编号、姓名、性别、年龄、籍贯及政治面貌)以及五个实体值,分别是表中的五行。


d988d856f95f806d14157571a76b09437dfcfcd5

联系也可以有属性,联系和它的所有属性构成了联系的一个完整描述,因此,联系与属性间也有联接关系。例如,教师与学生两个实体集间的教学联系可附有属性“课程号”、“教室号”。
2.实体(集)与联系间的联接关系
一般而言,实体集间无法建立直接关系,它只能通过联系才能建立起联接关系。例如,教师与学生之间无法直接建立关系,只有通过“教学”联系才能建立相互之间的关系。
上面所述的两个联接关系建立的实体(集)、属性、联系三者的关系可用表3.2表示。

f6f8782f028884a498efc7fd794c62f289a47f70

3.4.3 E R模型的图示法

E R模型可以用一种非常直观的图示形式表示,这种图称为ER图。在ER图中,我们分别用不同的图形表示ER模型中的三个概念与两个联接关系。
1)实体集表示法。在ER图中用矩形表示实体集,在矩形内写上该实体集之名。实体集学生(student)、课程(course)可用图33表示。


7766d3490c37f1588d14633610866f9c8331d146

2)属性表示法。在ER图中用椭圆形表示属性,在椭圆形内写上属性名。“学生”实体有属性学号(sno)、姓名(sn)、年龄(sa)及系别(sd),可以用图34表示。
3)联系表示法。在ER图中用菱形表示联系,在菱形内写上联系名。例如,学生与课程间的“修读”联系SC可用图35表示。


92c20a6acd68b06b8aff14bb66e97fb6f35ee9ef

三个基本概念间的联接关系也可用图形表示。
1)实体集(联系)与属性间的联接关系。属性依附于实体集,因此,它们之间有联接关系。在ER图中,这种关系可用联接这两个图形间的无向线段表示(一般情况下可用直线)。例如,实体集student有属性sno(学号)、sn(学生姓名)及sa(学生年龄);实体集course有属性cno(课程号)、cn(课程名)及pno(预修课号),图36表示了它们之间的联接。
属性依附于联系,它们间也有联接关系,因此也可用无向线段表示。例如,“修读”联系SC可与学生的课程成绩属性g建立联接,如图37所示。


9891b9c7042a40a81819ea0c38b433725d3624ac


fa885b4f65f24d85375753a07a6aa0b8643ad7d7

2)实体集与联系间的联接关系。在ER图中,实体集与联系间的联接关系可用联接这两个图形间的无向线段表示。例如,实体集student与联系SC间有联接关系,实体集course与联系SC间也有联接关系,因此它们间可用无向线段相联,如图3、-8所示。


a5dcb8a3dc23b349e5f313143f374a44fa4ea12e

有时为了进一步刻画实体间的函数关系,还可在线段边上注明其对应的函数关系,如1∶1、1∶n、n∶m等。例如,student与course间有多多对应函数关系,此时可以用图3-9表示。


bd9993319bbaa85666b212a464a022f07298bcc9

实体集与联系间的联接可以有多种,上面所举例子均是两个实体集间联系(即二元联系),也可以有多个实体集间联系(即多元联系)。例如,工厂、产品与用户间的联系FPU是一种三元联系,可用图3-10表示。


e7e118b511868fa2e3dba572e89cfc471ade6c0b

一个实体集内部的联系,如某公司职工(employee)与上下级管理(manage)间的联系,可用图3-11a表示。
实体集间可有多种联系,如教师(T)与学生(S)之间可以有教与学(E)联系,也可有领导与被领导(C)间的联系,可用图311b表示。


6fc17905fddf85ab8d5dd402525aa0fcfc1b3b38

用矩形、椭圆形、菱形以及按一定要求相互间相联接的线段构成了一个完整的ER图。

【例3.1】前面所述的实体集student、course、它们的属性和它们间联系SC以及附属于SC的属性g,构成了一个有关学生、课程以及他们的成绩和他们间的联系的概念模型。图312给出了该模型的E R图。


75d66734d46efbdedab353be849f8fdeb763c0c7

ER模型中的三个基本概念以及它们间的两种基本关系能将现实世界中错综复杂的现象抽象成简单明了的几个概念及关系,具有极强的概括性,因此,ER模型目前已成为表示概念世界的有力工具。
相关文章
|
2月前
|
存储 人工智能 NoSQL
AI大模型应用实践 八:如何通过RAG数据库实现大模型的私有化定制与优化
RAG技术通过融合外部知识库与大模型,实现知识动态更新与私有化定制,解决大模型知识固化、幻觉及数据安全难题。本文详解RAG原理、数据库选型(向量库、图库、知识图谱、混合架构)及应用场景,助力企业高效构建安全、可解释的智能系统。
|
5月前
|
存储 关系型数据库 数据库
附部署代码|云数据库RDS 全托管 Supabase服务:小白轻松搞定开发AI应用
本文通过一个 Agentic RAG 应用的完整构建流程,展示了如何借助 RDS Supabase 快速搭建具备知识处理与智能决策能力的 AI 应用,展示从数据准备到应用部署的全流程,相较于传统开发模式效率大幅提升。
附部署代码|云数据库RDS 全托管 Supabase服务:小白轻松搞定开发AI应用
|
6月前
|
安全 druid Nacos
0 代码改造实现应用运行时数据库密码无损轮转
本文探讨了敏感数据的安全风险及降低账密泄漏风险的策略。国家颁布的《网络安全二级等保2.0标准》强调了企业数据安全的重要性。文章介绍了Nacos作为配置中心在提升数据库访问安全性方面的应用,并结合阿里云KMS、Druid连接池和Spring Cloud Alibaba社区推出的数据源动态轮转方案。该方案实现了加密配置统一托管、帐密全托管、双层权限管控等功能,将帐密切换时间从数小时优化到一秒,显著提升了安全性和效率。未来,MSE Nacos和KMS将扩展至更多组件如NoSQL、MQ等,提供一站式安全服务,助力AI时代的应用安全。
413 14
|
3月前
|
缓存 Java 应用服务中间件
Spring Boot配置优化:Tomcat+数据库+缓存+日志,全场景教程
本文详解Spring Boot十大核心配置优化技巧,涵盖Tomcat连接池、数据库连接池、Jackson时区、日志管理、缓存策略、异步线程池等关键配置,结合代码示例与通俗解释,助你轻松掌握高并发场景下的性能调优方法,适用于实际项目落地。
654 5
|
3月前
|
存储 弹性计算 Cloud Native
云原生数据库的演进与应用实践
随着企业业务扩展,传统数据库难以应对高并发与弹性需求。云原生数据库应运而生,具备计算存储分离、弹性伸缩、高可用等核心特性,广泛应用于电商、金融、物联网等场景。阿里云PolarDB、Lindorm等产品已形成完善生态,助力企业高效处理数据。未来,AI驱动、Serverless与多云兼容将推动其进一步发展。
219 8
|
3月前
|
存储 弹性计算 安全
现有数据库系统中应用加密技术的不同之处
本文介绍了数据库加密技术的种类及其在不同应用场景下的安全防护能力,包括云盘加密、透明数据加密(TDE)和选择列加密。分析了数据库面临的安全威胁,如管理员攻击、网络监听、绕过数据库访问等,并通过能力矩阵对比了各类加密技术的安全防护范围、加密粒度、业务影响及性能损耗。帮助用户根据安全需求、业务改造成本和性能要求,选择合适的加密方案,保障数据存储与传输安全。
|
7月前
|
人工智能 数据挖掘 API
基于neo4j数据库和dify大模型框架的rag模型搭建——后续补充
基于neo4j数据库和dify大模型框架的rag模型搭建——后续补充
827 21
基于neo4j数据库和dify大模型框架的rag模型搭建——后续补充
|
5月前
|
安全 Java Nacos
0代码改动实现Spring应用数据库帐密自动轮转
Nacos作为国内被广泛使用的配置中心,已经成为应用侧的基础设施产品,近年来安全问题被更多关注,这是中国国内软件行业逐渐迈向成熟的标志,也是必经之路,Nacos提供配置加密存储-运行时轮转的核心安全能力,将在应用安全领域承担更多职责。
|
4月前
|
存储 人工智能 数据库
视图是什么?为什么要用视图呢?数据库视图:定义、特点与应用
本文三桥君深入探讨数据库视图的概念与应用,从定义特点到实际价值全面解析。视图作为虚拟表具备动态更新、简化查询、数据安全等优势,能实现多角度数据展示并保持数据库重构的灵活性。产品专家三桥君还分析了视图与基表关系、创建维护要点及性能影响,强调视图是提升数据库管理效率的重要工具。三桥君通过系统讲解,帮助读者掌握这一常被忽视却功能强大的数据库特性。
1267 0

热门文章

最新文章