搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
笔触狂放9
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
2024年最全网络安全方面 关于渗透 可以选择那些书?_渗透测试书籍,2024年最新技术实现_web渗透书籍
2
基于Java的智慧图书馆图书借阅推荐系统springboot+vue_基于java vue的图书管理系统
3
时代的浪潮来袭 GhatGPT爆火 AI人工智能改变世界_chatgpt 改变世界
4
想转行互联网方向,有哪些建议?
5
Xshell连接VM虚拟机的Centos7遇到的问题及解决办法_用最简单的方法解决xshell oracle vm连接centos7
6
微信小程序:案例-本地生活(首页)_小程序中的本地生活服务背景图片
7
华为OD机试C卷-- 数字排列(Java & JS & Python & C & C++)
8
第三节:如何理解Spring的两个特性IOC和AOP(自学Spring boot 3.x第一天)
9
使用Cocos2d-lua开发植物大战僵尸08-僵尸的出现_植物大战僵尸lua执行
10
【Python】串口通信详解(serial模块)以可编程电源为例_phython 串口 停止位
当前位置:
article
> 正文
E-R图转换为关系模式的原则_建立管理员教师和实体之间的er图
作者:笔触狂放9 | 2024-06-22 06:36:38
赞
踩
建立管理员教师和实体之间的er图
转换一般遵循如下原则:
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个关系模式组成。其中学生关系模式包含了"拥有"联系、"组成"联系、"归档"联系所对应的关系模式;教师关系模式包含了"管理"联系所对应的关系模式;宿舍关系模式包含了"住宿"联系所对应的关系模式;课程关系模式包含了"开设"联系所对应的关系模式。
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/笔触狂放9/article/detail/745702
推荐阅读
article
Spark
SQL
函数
详解
:
案例
解析
(第8天)...
本文主要通过
案例
解析
工作中常用的
Spark
SQL
函数
,以及应用场景
Spark
SQL
函数
详解
:
案例
解析
(第8天) ...
赞
踩
article
PMP
还值钱吗?_
pmp
不值钱
了
...
现在大家都有:读
了
PMP
,也考
了
。感觉还是受益匪浅的,因为它涉及的管理过程很广。PM平时为国内项目管理培训和咨询业向国际...
赞
踩
article
Datawhale
知识
图
谱
组队学习 之
Task
3
Neo4j
图
数据
库
导入
数据
_1、 简要描述a...
Datawhale
知识
图
谱
组队学习 之
Task
3
Neo4j
图
数据
库
导入
数据
文章编写人:芙蕖github 地址:特...
赞
踩
article
【
Spring
】
Spring
Cache整合
redis
做
缓存
_
springcatch
缓存
...
在要做
缓存
的方法上使用对应注解就行了。_
springcatch
缓存
springcatch
缓存
...
赞
踩
article
IDEA
中
运行
Scala
-
Spark
程序_
idea
scala
本地
运行
...
IDEA
中
运行
Scala
-
Spark
程序前提条件:保证本地已经安装
Spark
、Hadoop、
IDEA
测试版本:
IDEA
...
赞
踩
article
ER
图
向
关系
模式
转换
_er
图
怎么
转换
成
关系
模型...
ER
图
向
关系
模式
转换
涉及到两方面:①实体的
转换
;②实体间联系的
转换
。实体的
转换
:在从
ER
图
转换
为
关系
模式
时,一个实体就转...
赞
踩
article
hive
安装入门_
hive
-
on
-mr
is
deprecated
in
hive
2 and m...
hive
2 和
hive
1的区别:Hive-
on
-MR
is
deprecated
in
Hive 2 and may n...
赞
踩
article
RAG
原理、
综述
与
论文
应用
全解析
_
rag
综述
论文
...
1.1 定义检索增强生成 (Retrieval-Augmented Generation,
RAG
) 是指在利用大语言模...
赞
踩
article
Element
|
InfiniteScroll
无限
滚动
组件的具体使用方法_v-
infinite
-sc...
Element
|
InfiniteScroll
无限
滚动
组件的具体使用方法在前端开发中,很多页面都需要实现无限
滚动
的效果,...
赞
踩
article
hadoop
2.2
.X 配置参数说明:
hdfs
-
site
.
xml
...
<!--Thu Aug 15 20:47:13 2013--> <configuration> ...
赞
踩
article
FastDFS
原理
及工作流程_
fastdfs
原理
与
过程
...
文章目录1,
FastDFS
介绍2,
FastDFS
架构3,
FastDFS
工作流程1,
FastDFS
介绍FastDF...
赞
踩
article
一文盘点视觉
大
模型
高效
应用
方法
...
大
规模视觉语言
模型
具有计算资源消耗
大
、
模型
推理速度慢等问题。为此,可以使用
模型
压缩、量化、剪枝等技术,减少
模型
参数量和计...
赞
踩
article
php u
mount
强制,
linux
中
mount
/u
mount
命令
的基本用法及
开机
自动
挂载
方法...
本文介绍了
linux
中
mount
/u
mount
命令
的基本用法及
开机
自动
挂载
,具体方法如下:
mount
命令
格式如下:格式:...
赞
踩
article
Mybatis
框架学习笔记
(
04
)_实验
04
mybatis
框架:
注解
方法
...
目录
Mybatis
基于
注解
的开发01
Mybatis
的常用
注解
02使用
Mybatis
注解
实现CRUD2.1 新建maven...
赞
踩
article
Anaconda安装dgl报错
ERROR
: Could not
find
a
version
tha...
在Anaconda中安装dgl包报错显示
ERROR
: Could not
find
a
version
that
sat...
赞
踩
article
探索AI边缘
计算
:
Darknet
_
ros
- 简单、高效且实时的
计算
机
视觉
框架...
探索AI边缘
计算
:
Darknet
_
ros
- 简单、高效且实时的
计算
机
视觉
框架项目地址:https://gitcode....
赞
踩
article
Mable
:
NFT
的
下一步机会
与
它
的
流动性
溢价
...
过去我们谈论
NFT
,总是三句离不开“稀缺性”、“不可复制性”。但随着加密艺术
的
发展,人们渐渐发现,稀缺性
与
高价值并不能划...
赞
踩
article
WPF
Prism
框架之绑定_{"“设置属性“
prism
.
mvvm
.
viewmodellocator
...
介绍
Prism
提供了一组设计模式的实现,有助于编写结构良好的且可维护的XAML应用程序, 包括MVVM、依赖注入、命令、...
赞
踩
article
Python
大
数据
之Py
Spark
(三)使用
Python
语言开发
Spark
程序代码_windows ...
if== ‘_
dataworks
用
python
写
spark
dataworks
用
python
写
spark
...
赞
踩
article
使用
腾讯
云
轻量应用服务器搭建
Frp
内网
穿透
到
OpenWrt
_
腾讯
云
内网
穿透
...
本文对
Frp
的设置部分只采用了最低可用的方式,实际上
Frp
的配置项非常复杂,甚至可以一个
Frp
s带多个Fprc,大家有兴...
赞
踩
相关标签
spark
sql
学习
大数据
python
PMP
项目管理
考试
项目经理
学习备考
缓存
redis
数据库
scala
idea
hive
人工智能
深度学习
RAG
agent
LLM
前端
Element
Vue