-
2021-12-19 00:01:08
一个实体转换成一个关系模式。
首先,通过visio绘制一个与学生实体有联系的几个E-R图。如下图所示
其中矩形表示的是实体(班级,学生,课程,学习账号),椭圆表示的是属性,菱形表示的是联系(拥有,持有,学习)。
上图实体与实体之间的关系分别为:
1、班级与学生实体为1:n (一对多), 一个班级可以拥有多个学生,学生只能在一个班级中。
2、学生实体与课程实体的关系为:m:n(多对多) ,一个学生可以学习多门课程,一门课程可能被多名学生选择。
3、学生与学生账号实体的关系为1:1(一对一),一个学生只能持有一个学生账号,一个学生账号只能被一个学生使用。
根据实体与实体之间的关系的不同来转换成不同的关系模式:
1.实体间的关系为 1:1(一对一): 当实体间的关系是1:1时,将任意一个实体的主键放在另一个实体作为外键存在。
例如:如上图所示的学生与学生账号实体的关系模式就可以转换成:
(学生和学长账号实体是1:1关系)
学生(学号,姓名,性别,账号编号);
学生账号(账号编号,账号用户名,账号密码);
或者
学生(学号,姓名,性别);
学生账号(账号编号,账号用户名,账号密码,学号);
2.实体间的关系为1:n(1对多):当实体间的关系是1:n时,关系对应为1的实体主键在关系对应为n的实体作为外键存在。即为n的实体有一个外键是1的主键。
例如:如上图所示的学生与班级实体的关系模式就可以转换成:
(班级和学生实体是1:n关系)
班级(班级编号,班级名称);
学生(学号,姓名,性别,班级编号);
3.实体间的关系为m:n(多对多):当实体间的关系是m:n时,这个时候需要新建一个关系模型,该关系模式的主键是由两个实体的主键一起组成,在加上产生联系的属性。
例如:如上图所示的学生与课程实体的关系模式就可以转换成:
(学生与课程实体是m:n关系)
学生(学号,姓名,性别,班级编号);
课程(课程编号,课程名称,学分);
学习课程信息(学号,课程编号,成绩);
将实体关系图转换成关系模式就可以在数据库中建表啦
更多相关内容 -
ER图到关系模式集的转换
2022-01-20 18:23:431.(实体类型的转换):将每个实体类型转换成一个关系模式,实体的属性即为关系模式的属性,实体标识符即为关系模式的键。 2.(联系类型的转换):1.若实体间联系是1:1,可以在两个实体类型转换成的两个关系模式中...以二元联系类型的转换为例
实体类型的转换:将每个实体类型转换成一个关系模式,实体的属性即为关系模式的属性,实体标识符即为关系模式的键。
联系类型的转换:
-
若实体间联系是1:1,可以在两个实体类型转换成的两个关系模式中任意一个关系模式的属性中加入另一个关系模式的键(作为外键)和联系类型的属性。
-
若实体间联系是1:N,则在N端实体类型转换成的关系模式中加入1端实体类型的键(作为外键)和联系类型的属性。
-
若实体间联系是M:N,则将联系类型也转换成关系模式,其属性为两端实体类型的键(作为外键)加上联系类型的属性,而键为两端实体键的组合。
实例:教学管理的ER图转换成关系模式集
教学管理的ER图
第一步:把三个实体类型转换成三个模式:
系(系编号,系名,电话)
教师(教工号,姓名,性别,职称)
课程(课程号,课程名,学分)
第二步:
1.对于1:1联系“主管”,可以再“系”模式中加入教工号(教工号为外键,用波浪线表示);
2.对于1:N联系“聘用”,可以再“教师”模式中加入系编号和聘期两个属性(系编号为外键);
3.对于1:N联系“开设”,可以再“课程”模式中加入系编号(系编号为外键)
这样得到的三个模式成如下形式:
第三步:对于M:N联系“任教”,则生成一个新的关系模式:
第四步:整合后关系模式如下:
如何处理E-R图中的“关系”及“关系的属性”
• 仅在多对多关系的情况下为关系提供属性。
• 如果两个实体之间的关系是多对多,我们将需要一个额外的关系表,新表应该至少有两个属性(外键)来自每个表(它们各自的主键)。
• 如果多对多关系没有属性,那么就不用第三张表,可以利用json列表来存放这种关系。
-
-
ER图转换关系模式
2021-01-14 03:31:27例如在我们的例子中,学生实体可以转换为如下关系模式,其中学号为学生关系的码:学生(学号,姓名,出生日期,所在系,年级,平均成绩) 同样,性别、宿舍、班级、档案材料、教师、课程、教室、教科书都分别转换为一...ER图转换关系模式
(2013-03-21 14:09:07)
标签:
it
转换一般遵循如下原则:
1.一个实体型转换为一个关系模式。实体的属性就是关系的属性。实
体的码就是关系的码。
例如在我们的例子中,学生实体可以转换为如下关系模式,其中学号
为学生关系的码:
学生(学号,姓名,出生日期,所在系,年级,平均成绩) 同样,性
别、宿舍、班级、档案材料、教师、课程、教室、教科书都分别转换
为一个关系模式。
2.一个联系转化为一个关系模式,与该联系相连的各实体的码以及联系
的属性转化为关系的属性,该关系的码则有三种情况:
若联系为1:1,则每个实体的码均是该关系的后选码。
若联系为1:n,则关系的码为n端实体的码。
若联系为m:n,则关系的码为诸实体码的组合。
2.1 联系为1:1
一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对
应的关系模式合并。
如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及
联系本身的属性均转换为关系的属性,l 每个实体的码均是
该关系的候选码。
如果与某一端对应的关系模式合并,则需要在该关系模式的属性中加
入另一个关系模式的码和联系本身的属性。
例如在我们的例子中,"管理"联系为1:1联系,我们可以将其转换为
一个独立的关系模式:
管理(职工号,班级号)或 管理(职工号,班级号)
管理"联系也可以与班级或教师关系模式合并。如果与班级关系模式合
并,则只需在班级关系中加入教师关系的码,即职工号:
班级:{班级号,学生人数,职工号}
同样,如果与教师关系模式合并,则只需在教师关系中加入班级关系
的码,即班级号:
教师:{职工号,姓名,性别,职称,班级号,是否为优秀班主任}
2.2 联系为1:n
一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的
关系模式合并。
如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及
联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。
如果与n端对应的关系模式合并,则在n端实体对应模式中加入1端
实体所对应关系模式的码,以及联系本身的属性。而关系的码为n端
实体的码。
例如在我们的例子中,"组成"联系为1:n联系,将其转换为关系模式。
一种方法是使其成为一个独立的关系模式:
组成(学号,班级号)
其中学号为"组成"关系的码。
另一种方法是将其学生关系模式合并,这时学生关系模式为:
学生(学号,姓名,出生日期,所在系,年级,班级号,平均成绩)
后一种方法可以减少系统中的关系个数,一般情况下更倾向于采用这
种方法。
2.3 联系为m:n
一个m:n联系转换为一个关系模式。与该联系相连的各实体的码以及
联系本身的属性均转换为关系的属性。而关系的码为各实体码的组合。
例如在我们的例子中,"选修"联系是一个m:n联系,可以将它转换为如
下关系模式,其中学号与课程号为关系的组合码:
选修(学号,课程号,成绩)
三个或三个以上实体间的一个多元联系转换为一个关系模式。与该多
元联系相连的各实体的码以及联系本身的属性均转换为关系的属性。
例如在我们的例子中,"选修"联系是一个m:n联系,可以将它转换为如
下关系模式,其中学号与课程号为关系的组合码:
选修(学号,课程号,成绩)
三个或三个以上实体间的一个多元联系转换为一个关系模式。与该多
元联系相连的各实体的码以及联系本身的属性均转换为关系的属性。
而关系的码为各实体码的组合。
例如在我们的例子中,"讲授"联系是一个三元联系,可以将它转换为
如下
关系模式,其中课程号、教师号和书号为关系的组合码: 讲授(课程号,教师号,书号)
3.同一实体集的实体间的联系,即自联系,也可按上述1:1、1:n和
m:n三种情况分别处理。
例如,如果教师实体集内部存在领导与被领导的1:n自联系,我们可
以将该联系与教师实体合并,这时主码职工号将多次出现,但作用不
同,可用不同的属性名加以区分,比如在合并后的关系模式中,主码
仍为职工号,再增设一个"系主任"属性,存放相应系主任的职工号。
4.具有相同码的关系模式可合并。
为了减少系统中的关系个数,如果两个关系模式具有相同的主码,可
以考虑将他们合并为一个关系模式。合并方法是将其中一个关系模式
的全部属性加入到另一个关系模式中,然后去掉其中的同义属性(可
能同名也可能不同名),并适当调整属性的次序。
例如我们有一个"拥有"关系模式:拥有(学号,性别)
有一个学生关系模式: 学生(学号,姓名,出生日期,所在系,年级,
班级号,平均成绩)
这两个关系模式都以学号为码,我们可以将它们合并为一个关系模式,
假设合并后的关系模式仍叫学生:
学生(学号,姓名,性别,出生日期,所在系,年级,班级号,平均
成绩)
按照上述4条原则,学生管理子系统中的18个实体和联系可以转换为
下列关系模型:
学生(学号,姓名,性别,出生日期,所在系,年级,班级号,平均
成绩,档案号)
性别(性别,宿舍楼)
宿舍(宿舍编号,地址,性别,人数)
班级(班级号,学生人数)
教师(职工号,姓名,性别,职称,班级号,是否为优秀班主任)
教学(职工号,学号)
课程(课程号,课程名,学分,教室号)
选修(学号,课程号,成绩)
教科书(书号,书名,价钱)
教室(教室编号,地址,容量)
讲授(课程号,教师号,书号)
档案材料(档案号,......)
该关系模型由12个关系模式组成。其中学生关系模式包含了"拥有"联
系、"组成"联系、"归档"联系所对应的关系模式;教师关系模式包含
了"管理"联系所对应的关系模式;宿舍关系模式包含了"住宿"联系所
对应的关系模式;课程关系模式包含了"开设"联系所对应的关系模式。
分享:
喜欢
0
赠金笔
加载中,请稍候......
评论加载中,请稍候...
发评论
登录名: 密码: 找回密码 注册记住登录状态
昵 称:
评论并转载此博文
发评论
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。
-
数据库相关基本概念关系
2020-12-14 19:25:55一.定义并解释概念模型中术语(实体,实体型,实体集,实体之间的联系) 1.实体:客观存在并可相互区别的事物...关系模型概念以及解释关系,属性,域,元组,码,分量,关系模式的概念。 1.关系模型:建立在严格的数学 -
数据库学习笔记(2)——关系模式
2021-11-27 09:58:33文章目录2.1 关系数据结构及形式化定义2.1.1 关系2.1.2 关系模式2.1.3 关系数据库2.1.4 关系模型的存储结构2.2 关系操作2.2.1 基本的关系操作2.2.2 关系数据语言的分类2.3 关系的完整性2.4 关系代数2.4.1 传统的集合...文章目录
2.1 关系数据结构及形式化定义
2.1.1 关系
关系模型是建立在集合代数的基础上的,这里从集合论的角度给出关系数据结构的形式化定义。
1.域
域是一组具有相同数据类型的集合
2.笛卡尔积
笛卡尔积是域上的一种集合运算。
3.关系
D 1 ∗ D 2 . . . ∗ D n D_1*D_2...*D_n D1∗D2...∗Dn的子集叫做在域 D 1 , D 2 . . . D n s D_1,D_2...D_ns D1,D2...Dns的关系,表示为R( D 1 , D 2 . . . D n D_1,D_2...D_n D1,D2...Dn)
这里R表示系得名字,n是关系得目或度
关系中每个元素都是关系的元组。
- n=1时,该关系为单元关系
- n=2时,该关系时二元关系
若关系中唯一属性组的值能唯一地标识一个元组,而其子集不能,则称该属性组为候选码。
若一个关系有多个候选码,则选定其中一个为主码。候选码地诸属性称为主属性。不包含在任何候选码中的属性称为非主属性,或非码属性。
当关系作为关系数据模型地数据结构时,需要给予如下的现代和扩充。
(1)无限关系在数据库系统中是无意义的
(2)通过给关系每个列附加一个属性名的方法曲线关系属性的有序性
基本关系的性质:
1.列的同质性:每一列中的分量是同一类型的数据,来自同一个域。
2.列名唯一性:每一列具有不同的属性名,但不同列的值可以来自同一个域。
3.元组相异性:关系中任意两个元组的候选码不能相同。
4.行序的无关性:行的次序可以互换。
5.列序的无关性:列的次序可以互换。
6.分量原子性:分量值是原子的,即每一个分量都必须是不可分的数据项。关系有3种类型:基本关系(又称基本表或基表)、查询表和视图表。
-
基本关系:实际存在的表,是实际存储数据的逻辑表示;
-
查询表 :查询结果对应的表;
-
视图表 :由基本表或其它视图标导出的表,是虚表,不对应实际存储的数据;
2.1.2 关系模式
在数据库中要区分型和值。关系数据库中,关系模式是型,关系是值。
关系是元组的集合,因此关系模式必须指出这个元组集合的结构。
关系的描述称为关系模式:形象地表示为R(U,D,DOM)
2.1.3 关系数据库
在关系模式中,实体与实体之间的联系都是用关系表示的。关系数据库的型也称为关系数据库模式,是对关系数据库的描述。关系数据库的值是这些关系模式在某一时刻对应的关系的集合,所以通常称为关系数据库。
2.1.4 关系模型的存储结构
表是关系数据的逻辑模型。
2.2 关系操作
2.2.1 基本的关系操作
关系模型的基本操作包括:查询,插入,删除,修改操作。
查询操作分为:选择,投影,连接,除,并,差,交,笛卡尔积等。选择,投影,并,差,积为五种基本操作。
2.2.2 关系数据语言的分类
早期关系操作能力通常用代数方式和逻辑方式表示,分别为关系代数,关系演算。
{ 关 系 代 数 语 言 ( 例 如 I S B L ) 关 系 演 算 语 言 { 元 组 关 系 演 算 语 言 ( 例 如 A L P H A 、 Q U E L ) 域 关 系 演 算 语 言 ( 例 如 Q B E ) 具 有 关 系 代 数 和 关 系 演 算 双 重 特 定 的 语 言 ( 例 如 S Q L ) \begin{cases} 关系代数语言(例如ISBL)\\ \\ 关系演算语言 \begin{cases} 元组关系演算语言(例如ALPHA、QUEL)\\ \\ 域关系演算语言(例如QBE) \end{cases}\\ \\ 具有关系代数和关系演算双重特定的语言(例如SQL) \end{cases} ⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧关系代数语言(例如ISBL)关系演算语言⎩⎪⎨⎪⎧元组关系演算语言(例如ALPHA、QUEL)域关系演算语言(例如QBE)具有关系代数和关系演算双重特定的语言(例如SQL)2.3 关系的完整性
1.实体完整性:主属性不能为空,主码不相等
2.参照完整性:例如,学生(学号、姓名、专业号),专业(专业号,专业名),学生关系中的专业号需要参照专业关系中的专业号,称学生关系中的专业号是学生关系的外码,专业关系是被参照关系,学生关系为参照关系,外码与主码不一定要同名,学生关系中的外码取值要么为空值,要么为专业关系中对应专业号的值
3.用户定义完整性:例如,学生的成绩取值范围在0~100之间
2.4 关系代数
关系代数用于对关系运算表达查询。
三大要素:
- 运算对象
- 运算符
- 运算结果
2.4.1 传统的集合运算
传统的集合运算是二目运算,包括并,差,交,笛卡尔积4种运算。
-
并
-
差
-
交
-
笛卡尔积
R有K1个元组,S有K2个元组,则关系R和关系S的笛卡尔积有K1×K2个元组
2.4.2 专门的关系运算
-
选择
选择又称为限制(选择是从行角度进行的运算)
F:选择条件,是一个逻辑表达式,取值为真或假。
-
投影
投影是从列角度进行的运算
-
连接
称为Θ连接【具体连接由关系Θ决定】
连接运算的含义:从两个关系的笛卡尔积中选取属性间满足一定条件的元祖 -
自然连接
两个关系中进行比较的分量必须是相同的属性组
在结果中把重复的属性列去掉 -
悬浮元组
两个关系做自然连接时,关系R中某些元祖有可能在S中不存在公共属性上值相等的元组,从而造成R中这些元组在操作时被舍弃,被舍弃的元组称为悬浮元组。
-
外连接
把悬浮元组也保存在结果关系中,而在其他属性上填空值(null)
左外连接:只保留左边关系R中的悬浮元组
右外连接:只保留右边关系S中的悬浮元组
-
除运算
设关系R除以关系S的结果为关系T,则T包含所有在R但不在S中的属性的及其值,且T的元组与S的元组的所有组合都在R中。
-
E-R图及关系模型转换3
2022-02-26 21:32:34设某商业公司数据库中有三个实体集,一是”公司”实体集,属性有公司编号、公司名、地址等;二是”仓库”实体集,属性有仓库编号、仓库名、地址等;三是”职工”实体集,属性有职工编号、姓名、性别等。每个公司有... -
实体集与属性
2018-03-25 21:47:43实体关系设计问题实体集和关系集的概念并不精确,并且可以用许多不同的方式定义一组实体和它们之间的关系。在本节中,我们将研究E-R数据库模式设计中的基本问题。第7节将详细介绍设计过程。7.71使用实体集与属性考虑... -
数据库实体联系模型与关系模型
2020-03-02 19:11:33数据库设计是指根据用户的需求,在某一具体...这就需要规划课程、学生、老师、学习资料等数据构成以及相互之间的关系。因此,规划数据构成及数据间关系,并应用某一具体的数据库管理系统如MySQL构建数据库的过程就是... -
弱实体集
2018-05-07 17:51:27弱实体(weak entity) 1、定义:有些实体集的所有属性都不足以形成主码,这样的实体集称为弱实体集。与此相对,其属性可以形成主码的实体集称为强实体集。 通俗的说:有些实体集的所有属性都不足以形成主码,这样的... -
关系模式中的各种码(键/关键字)
2021-03-15 21:02:18码,又称键、关键字,英文是key。唯一标识实体的属性集称为码。 ...全码:一个候选码包含关系模式中的所有属性,则该候选码为全码 举个例子: 关系Student(学号,姓名,年龄,院系,班级)... -
数据库复习(4) 实体关系模型
2020-07-14 16:30:39实体集(Entity Sets) 是实际存在的事物(可以是抽象的) 具有属性(attributes) 实体集是具有共同性质的同类实体的集合 实体集的属性类型划分 ...双线表示实体集对于关系集的全参与 双菱形表示 -
关系数据库设计
2021-01-19 21:53:25本文讨论关系数据库设计相关的一些内容,涉及关系模型,表结构设计等内容,以学生选修课程讲述设计过程,在尽量讲清楚设计要领的前提下,简化设计内容。本文基于MySQL数据库为基础,适合有一定关系型数据库基础的人... -
数据库E-R图与关系模式图
2021-12-16 14:01:39实体相当于对象,实体集相当于类 实体集属性 复合属性,像树一样,根节点是该复合属性,子节点是复合属性分解后的属性 多值属性,用大括号{xxx} 衍生属性,后面加个小括号() 关系的属性 如图,关系也可以有额外的... -
实体-关系图转换为关系模型
2019-04-25 16:54:19由于目前使用的数据库基本上都是关系数据库,因此首先需要将E-R图转换为关系模型,然后根据具体DBMS的特点和限制转换为特定的DBMS支持下的数据模型,最后进行优化。 2.E-R图向关系模型的转换 2.... -
DBMS——E-R图转换为关系模式
2021-06-19 15:47:48具有简单属性的强实体集的表示具有复杂属性的强实体集的表示有多值属性的实体集弱实体的表示联系集向关系模式的转化1. m:m 多多联系的主码2. 1:m或m:1。一对多联系的主码3. 1:1联系的主码模式的冗余和合并**"如果两... -
实体关系模型和关系模型之间有什么区别?
2021-02-05 12:54:55实体关系建模(E-RM)模式只是一种组织(但使用不足和指定不足)(但存在误解)关系表和约束的方式。关系模型需要一个中间表(通常称为“连接表”)来保存两个实现多对多关系的外键。不会。对象关系映射(ORM)方法掩盖了其... -
数据库学习--关系模式
2018-12-07 05:32:21通过网络查找相关文献并参考所给资料进行需求分析,画出系统的 E-R 图,给出实体或联系的属性,标明联系的种类,并写出关系模式。 画ER图没有什么问题,但是关系模式是什么就不知道了。所以,还是有必要学习一下的。... -
模型描述的关系模式_最常用的数据模型 - 关系模型
2020-11-21 18:51:40关系型数据库系统采用关系模型作为数据的组织方式,在关系模型中用表格结构表达实体集,以及实体集之间的联系,其最大特点是描述的一致性。关系模型是由若干个关系模式组成的集合。关系模式可记为R(A1,A2,A3,…,... -
数据库中的各种定义,关系、关系模式、关系模型……
2019-12-08 23:05:46原文指路:添加链接描述 数据:数据就是数据库中存储的基本数据,比如学生的学号、学生的班级 数据库:存放数据的仓库 ...码:可唯一标识实体的属性集。比如学号是学生的码,一个学号唯一标识一名学... -
实体-联系模型
2022-01-30 09:32:06实体-联系数据模型(E - R数据模型)... E - R 数据模型采用了三个基本概念:实体集、联系集和属性。 E - R 模型还有一种相关联的图形表示: E - R 图。 E - R 图( E - R diagram )可以通过图形方式表示数据库的总体 -
【通俗易懂】关系模式范式分解教程 3NF与BCNF口诀!小白也能看懂
2019-01-10 18:26:14介是你没有玩过的船新版本包含最小依赖集求法候选码求法 在模式分解之前,首先对于1NF,2NF,3NF,BCNF做一个简明扼要的介绍。 1NF是指数据库表的每一列都是不可分割的基本数据项,即实体中的某个属性不能有多个值... -
E-R图转换为关系模式的原则
2020-06-08 12:50:30例如在我们的例子中,学生实体可以转换为如下关系模式,其中学号为学生关系的码: 学生(学号,姓名,出生日期,所在系,年级,平均成绩) 同样,性别、宿舍、班级、档案材料、教师、课程、教室、教科书都分别转换为... -
关系模式和范式判断、候选码主码(笔记)
2019-05-27 18:32:39第一范式是关系模式的基本要求。 第二范式(2NF):在满足第一范式的前提下,非主属性非部分依赖于主关键字。要求实体的属性完全依赖于主关键字。所谓完全依赖是指不能存在仅依赖主关键字一部分的属性。 第三范式... -
数据库实体关系模型 --- ER Model
2021-10-05 15:13:58数据库实体关系图 --- The Entity-Relationship Model: ER ModelER模型的基本组成E-R diagram的基本组成ConstraintsKey constraintsParticipation ConstraintsEntity or AttributeKeysweak entity set三元关系 --- ... -
学习关系模式并了解如何辨别范式
2021-08-23 12:58:501. 什么是关系模式? 关系模式:关系模式相当于一张二维表的框架,在这个框架下填入数据,称为关系模式的一个实例,或者叫关系(R) R(A1,A2,A3…Ai):R是关系名,Ai是关系的属性名。一个关系名对应一张表,关系... -
关系、关系模式、关系模型blablabla...
2020-07-06 16:01:21名词解释 数据:数据就是数据库中存储的基本数据,比如学生的学号、学生的班级 数据库:存放数据的仓库 数据库管理系统:数据库软件,如MySQL、Oracle 数据库系统:数据库+数据库管理系统+应用程序+数据库管理...实体集 -
数据库设计之实体间的关系
2020-05-07 23:56:03一个实体集A中的实体,在另一个实体集B中至多有一个实体与之对应,反之,实体集B中的实体,在实体A中至多有一个实体与之对应,则称A和B具有1:1关系 例: 一个学生至多拥有一张学生卡,每张学生卡只对应一个学生 ... -
关系模式规范化(设计范式)
2020-10-28 19:13:56关系数据库中的关系满足一定要求的,满足不同程度要求的为不同的范式。满足最低要求的叫第一范式,简称1NF;在第一范式的基础上满足进一步要求的称为第二范式,简称2NF,其余范式以此类推。对于各种范式之间有如下...