当前位置:网站首页>数据库系统原理与应用教程(009)—— 概念模型与数据模型
数据库系统原理与应用教程(009)—— 概念模型与数据模型
2022-07-07 10:09:00 【睿思达DBA_WGX】
数据库系统原理与应用教程(009)—— 概念模型与数据模型
目录
创建数据库的步骤为:(1)根据现实世界进行系统需求分析;(2)使用概念模型真实、全面地描述现实世界中的管理对象及其联系;(3)将概念模型转换为某种DBMS支持的数据模型。
创建数据库的这三个步骤分别对应信息的三种世界,即:现实世界,信息世界和数据世界。如下图所示。
一、信息的现实世界
信息的现实世界是我们所管理的各种事物以及事物之间的联系。信息的现实世界通过实体、实体集及实体集之间的联系来表示。
1、实体
现实世界中存在的可以相互区分的事物或概念称为实体。实体可分为事物实体和概念实体。例如:一个学生、一台机器、一间教室、一本书等是事物实体。一门课、一个班级等是概念实体。
2、实体的特征
每个实体都有自己的特征,利用实体的特征可以区分不同的实体。例如:学生可以通过学号、姓名、性别、年龄、出生日期、身高、体重等特征来加以描述。
一个实体有非常多的特征,但在创建数据库时我们会根据管理的需求来决定保存哪些特征。对于一个单位的职工来讲,如果是基于人事管理,可以选择工号、姓名、出生日期、职务、工资等特征加以描述。而如果基于职工的健康管理,可以选择工号、姓名、出生日期、身高、体重、血压等特征加以描述。
3、实体集
具有相同特征或能使用相同特征描述的实体的集合称为实体集。例如:一个学生是实体,需要管理的所有学生就是实体集。一个班级是实体,需要管理的所有班级就是实体集。
4、实体集之间的联系
现实世界中的实体集不是孤立的,实体集之间存在各种各样的联系。实体集之间的联系是指不同实体集中的实体之间的对应关系。例如:班级和学生之间存在隶属关系,学生和课程之间存在选课关系,教师和课程之间存在讲授关系等。两个实体集之间存在以下三种联系:
(1)一对一联系(1:1)
有两个实体集A和B,如果实体集A与实体集B之间具有一对一联系,则对于实体集A中的每一个实体,实体集B中最多有一个实体(也可以没有)与之联系;反之,对于实体集B中的每一个实体,实体集A也最多有一个实体与之联系。实体集A与实体集B之间的联系表示为1:1,例如:学校和校长具有一对一联系,一个学校只能有一个校长,反之,一个校长也只能在一个学校中任校长。实体集之间的一对一联系如下图所示。
(2)一对多联系(1:n)
有两个实体集A和B,如果实体集A与实体集B之间具有一对多联系,则对于实体集A中的每一个实体,实体集B中有一个或多个实体与之联系;反之,对于实体集B中的每一个实体,实体集A最多有一个实体与之联系。实体集A与实体集B之间的联系表示为1:n,例如:班级和学生具有一对多联系,一个班级可以有多个学生,反之,一个学生只能在一个班级中学习。实体集之间的一对多联系如下图所示。
(3)多对多联系(m:n)
有两个实体集A和B,如果实体集A与实体集B之间具有多对多联系,则对于实体集A中的每一个实体,实体集B中有一个或多个实体与之联系;反之,对于实体集B中的每一个实体,实体集A也有一个或多个实体与之联系。实体集A与实体集B之间的联系表示为m:n,例如:学生和课程具有多对多联系,一个学生可以选修多门课程,反之,一门课程可有由多个学生选修。实体集之间的多对多联系如下图所示。
二、信息世界及概念模型
信息世界就是对现实世界的描述。在信息世界中,实体的特征称为属性,实体通过属性表示称为实例,同类实例的集合称为对象,实体集之间的联系用对象联系表示。
信息世界通过概念模型(也称为信息模型)、过程模型和状态模型反映现实世界。概念模型通过E-R图中的对象、属性和联系对现实世界中的事物及联系给出静态描述。过程模型通过信息流程图和数据字典描述事物的处理方法和信息加工过程。状态模型通过事物状态转换图对事物做出动态描述。
数据库主要根据概念模型设计,数据处理方法主要根据过程模型设计,状态模型对数据库的系统功能设计有重要的参考价值。
1、概念模型
(1)实例和对象
实体通过属性表示称为实例,同类实例的集合称为对象。
(2)属性
属性是实体的某个特征的抽象表示。如学生的姓名,性别,年龄就是学生的属性,其中有一个学生姓名为李明,性别为男,年龄为20,则李明、男、20称为属性值。
(3)域
属性的取值范围称为属性的域。例如:职工的年龄范围18—60就是年龄的域。
(4)码、主码、候选码
能够唯一标识一个实体的属性或属性组称为码(key)。例如:学号是学生实体的码,因为学号可以唯一标识学生实体。如果一个实体有多个码,通常把其中的一个码作为主码(primary key),则其余的码称为候选码(candidate key)。
2、概念模型的表示方法
可以使用 E-R 图(实体-联系图)表示概念模型。E-R 图也称为 E-R 模型,提供了表示实体集、属性和联系的方法。
(1)实体集的表示-
E-R 图使用矩形表示实体集,矩形内写上实体集的名称,如下图所示。
(2)属性的表示
E-R 图使用椭圆表示实体集的属性,并且用线段将其与相应的实体集连接起来,如下图所示。
由于实体集的属性比较多,有些实体可能有几十个甚至上百个属性,所以在 E-R 图中,实体集的属性可以不画出来,使用数据字典(文字)的方式表示。
(3)联系的表示
E-R 图使用菱形表示实体集之间的联系,菱形内写上联系的名称,并且用线段与有关的实体集连接起来,同时在线段的旁边标出联系的类型。
联系也可能有属性,如果联系具有属性,需要用线段将属性和联系连接起来。联系的属性必须在 E-R 图上标出,不能通过数据字典表示。下图中的属性【分数】就是联系【选修】的属性。
三、信息的数据世界及数据模型
信息世界的信息,经过处理形成计算机能够处理的数据,就是计算机世界,也称为数据世界。数据世界涉及到的相关概念如下:
1、数据项
数据项是对象属性的数据表示。数据项有型和值之分,数据项的型是对数据项特性的表示,包括数据项的名称、数据类型、数据长度和域等。数据项的值是其具体取值。如学生的姓名,数据项的型可以表示为:姓名,字符型,长度20。某一个学生姓名数据项的取值为张涛。
2、记录
记录是实例的数据表示。记录有型和值之分,记录的型是记录的结构,由数据项的型构成。记录的值表示对象中的一个实例,记录的分量是数据项的值。例如:【姓名,性别,年龄,电话,所在系】是学生数据的记录的型,【张涛,男,20,13783587788,经济系】是某一个学生记录的值,表示学生对象的一个实例。而记录的值中的【张涛】、【男】、【20】、【13783587788】、【经济系】都是数据项的值。
3、文件
文件是对象的数据表示,是同类记录的集合。同一个文件中的记录类型应该相同。例如:根据所有学生的信息创建一个数据文件,则每条记录的型都是相同的。
4、数据模型
数据模型是数据特征的抽象,数据模型用于表示记录结构以及记录的联系。最常见的数据包括层次模型、网状模型和关系模型。层次模型和网状模型称为非关系模型。
(1)数据模型的三要素
数据模型具有数据结构、数据操作和完整性约束条件三要素:
A)数据结构:数据在数据库中以什么样的结构加以保存。层次结构、网状结构和关系(表)结构的数据模型分别命名为层次模型、网状模型和关系模型。
B)数据操作:数据库中可以进行的数据操作主要有数据查询和数据更新(插入、删除和修改),简称增、删、改、查。
C)数据约束条件:数据约束条件是一组数据完整性规则的集合。数据完整性规则是数据模型中的数据及其联系所具有的制约和依存规则。例如:关系数据模型中的实体完整性、参照完整性和用户自定义完整性。数据约束条件用于保证数据库中数据的正确、有效和相容。
(2)层次模型
层次模型的采用层次结构(树状结构)表示各类实体以及实体之间的联系,层次数据库系统的典型代表为 IBM 公司的 IMS 数据库管理系统。
(3)网状模型
网状模型的采用网状结构表示各类实体以及实体之间的联系,网状数据库系统的典型代表是 DBTG 系统。
(4)关系模型
关系模型是最常用的数据模型。关系模型使用表(table)表示各类实体以及实体之间的联系。
① 关系的相关概念
A)关系:一个关系对应一张二维表。
B)元组:关系中的一行称为一个元组。有的数据库管理系统称为记录(record)。
C)属性:关系中的一列称为一个属性。有的数据库管理系统称为列(column)或字段(field)。
D)码:关系中的某个属性或属性组,它们的取值能够唯一标识一个元组,这样的属性或属性组称为关系的码。
E)域:属性的取值范围称为域。
F)分量:元组中的一个属性的值称为分量。
G)关系模式:关系模式是对关系的描述。关系模式的表示形式如下:
关系名(属性1,属性2,……,属性n)
例如:学生关系可以表示为
学生(学号,姓名,性别,出生日期,民族,政治面貌,电话,所在系)
② 关系操作:关系操作主要包括数据查询和插入、删除、修改数据。
③ 关系的完整性约束条件:实体完整性、参照完整性、用户自定义完整性。
(5)关系模型和非关系模型的比较
A)关系数据模型建立在严格的数学基础之上。
B)关系数据模型概念单一,容易理解。在关系数据库中,实体和实体之间的联系都是用关系表示的。
C)关系数据模型的存取路径对用户隐蔽。用户根据数据库的逻辑模式和子模式操作数据,而不用关心数据库的物理模式和数据库在计算机中的存储情况。
D)关系数据模型中的数据联系是通过数据冗余(外码)实现的。
四、信息的三种世界之间的联系
信息的现实世界、信息世界和数据世界的关系可以用下表来表示:
现实世界 | 信息世界 | 数据世界 |
---|---|---|
实体 | 实例 | 记录 |
特征 | 属性 | 数据项 |
实体集 | 对象 | 文件 |
实体集之间的联系 | 对象之间的联系 | 数据之间的联系 |
概念模型 | 数据模型 |
信息的三种世界之间的转换关系如下图所示。
边栏推荐
- Use references
- Detailed explanation of debezium architecture of debezium synchronization
- Rationaldmis2022 advanced programming macro program
- [shortest circuit] acwing1128 Messenger: Floyd shortest circuit
- What are the top-level domain names? How is it classified?
- 超标量处理器设计 姚永斌 第9章 指令执行 摘录
- 清华姚班程序员,网上征婚被骂?
- College entrance examination composition, high-frequency mention of science and Technology
- Internet Protocol
- 相机标定(1): 单目相机标定及张正友标定基本原理
猜你喜欢
STM32F1与STM32CubeIDE编程实例-315M超再生无线遥控模块驱动
【滤波跟踪】捷联惯导纯惯导解算matlab实现
Fleet tutorial 19 introduction to verticaldivider separator component Foundation (tutorial includes source code)
110. Network security penetration test - [privilege promotion 8] - [windows sqlserver xp_cmdshell stored procedure authorization]
Fleet tutorial 15 introduction to GridView Basics (tutorial includes source code)
Rationaldmis2022 advanced programming macro program
Summed up 200 Classic machine learning interview questions (with reference answers)
UP Meta—Web3.0世界创新型元宇宙金融协议
Superscalar processor design yaoyongbin Chapter 8 instruction emission excerpt
Completion report of communication software development and Application
随机推荐
MATLAB實現Huffman編碼譯碼含GUI界面
Improve application security through nonce field of play integrity API
相机标定(1): 单目相机标定及张正友标定基本原理
Flet教程之 15 GridView 基础入门(教程含源码)
Poor math students who once dropped out of school won the fields award this year
全球首堆“玲龙一号”反应堆厂房钢制安全壳上部筒体吊装成功
源代码防泄密中的技术区别再哪里
How to connect 5V serial port to 3.3V MCU serial port?
Test the foundation of development, and teach you to prepare for a fully functional web platform environment
Superscalar processor design yaoyongbin Chapter 8 instruction emission excerpt
人大金仓受邀参加《航天七〇六“我与航天电脑有约”全国合作伙伴大会》
《看完就懂系列》天哪!搞懂节流与防抖竟简单如斯~
[data clustering] realize data clustering analysis based on multiverse optimization DBSCAN with matlab code
Matlab implementation of Huffman coding and decoding with GUI interface
让数字管理好库存
Flet教程之 17 Card卡片组件 基础入门(教程含源码)
wallys/Qualcomm IPQ8072A networking SBC supports dual 10GbE, WiFi 6
相机标定(2): 单目相机标定总结
sink 消费 到 MySQL, 数据库表里面已经设置了 自增主键, flink 里面,如何 操作?
Rationaldmis2022 advanced programming macro program