ERWIN中的一对多标识关系和一对多非标识关系
标识关系,实线表示
非标识关系,虚线表示
实心圆端所在的那端为一对多关系中的多的那端
PASSENGER: 乘客表
FLIGHT: 航班
SEAT-RESERVATION: 座位预定
标识关系贡献父实体的键给子实体,所有键变成子实体的键,成为了子实体的键的一部分,意思是子标识依赖于父,也就是子实体的存在依赖于父,在SEAT-RESERVATION中,flight-number变成SEAT-RESERVATION座位的外键属性,它和seat-number一起标识座位,是不能为空的,如果不指定flight-number,seat-number和passenger-name都是无意义的。
非标识关系贡献父实体的键给子实体,但是,由定义知,一些 (或所有)键不变成子实体的键,意思是子不标识依赖于父,允许这样的情形,关系中”多”端的实体没有”父”而可能存在,即它不是存在依赖。
从子实体看,如果关系是强制mandatory的,那么子存在依赖于父。如果可选,那么子既不存在也不标识依赖于关系 (虽然它也许依赖于其他关系)。ERwin用菱形为表示可选的情况,菱形只存在于非标识关系中(因为标识关系贡献主关键字,而主关键字部分不能为NULL)。带菱形的非标识关系是”零或一对多”的关系。这儿有个简单例子。
图5.13,属性 “passenger-name”变成SEAT-RESERVATION座位的外键属性,它不标识座位,它标识占用座位的乘客,因为没有乘客座位仍然存在,关系是可选的,应使用菱形符号。
我们已经定义,在一次飞行中乘客可占零或一个座位。
座位可以空 (不被任何乘客占有),当座位空时,”passenger-name”属性将是空 (NULL)。
由业务政策知道,这是允许发生的 (因为航空公司不能迫使乘客填满每次飞行的每个座位),从子实体看,关系是可选的,关系父端的菱形就意味着这个。
转载于:https://www.cnblogs.com/gjung/archive/2007/03/29/692913.html
ERWIN中的一对多标识关系和一对多非标识关系相关推荐
- 识别和非识别关系之间有什么区别?
我无法完全掌握差异. 您能否同时描述两个概念并使用真实示例? #1楼 标识关系是两个强实体之间的关系. 非识别关系可能并不总是强实体和弱实体之间的关系. 可能存在一个情况,即孩子本身具有主键,但其实体 ...
- Mybatis xml中配置一对一关系association一对多关系collection
Mybatis xml中配置一对一关系association&一对多关系collection 今天在配置一对一关系映射以及一对多关系映射的时候,把collection中应该使用的ofType配 ...
- flask 定义数据库关系(一对多) --
定义关系 在关系型数据库中,我们可以通过关系让不同表之间的字段建立联系.一般来说,定义关系需要两步,分别是创建外键和定义关系属性.在更复杂的多对多关系中,我们还需要定义关联表来管理关系.下面我们学习用 ...
- 一对多,多对一,多对多的关系
1.一对多,在多的一方建立外键(外键指向一的主键) 母亲与孩子的关系:母亲,孩子两个实体 母亲表:ID(P),名字,年龄,性别 孩子表:ID(P),名字,年龄,性别 以上关系:一个妈妈可以在孩子表中找 ...
- ❤️Mybatis开发中什么是多对一处理、一对多处理?
❤️Mybatis开发中什么是多对一处理.一对多处理? 什么是多对一: 对于学生而言,关联-多个学生关联一个老师(多对一) 对于老师而言,集合-一个老师有很多学生(一对多) SQL: CREATE T ...
- 【Flask】ORM关系以及一对多
### ORM关系以及一对多: mysql级别的外键,还不够ORM,必须拿到一个表的外键,然后通过这个外键再去另外一张表中查找,这样太麻烦了.SQLAlchemy提供了一个`relationship` ...
- c语言中复合语句不用花括号,【单选题】C语言中,可将一系列语句置于( )从而构成复合语句。
A. 一对尖括号\ \之间 B. 一对圆括号\( )\之间 C. 一对花括号 { } 之间 D....
[单选题]C语言中,可将一系列语句置于( )从而构成复合语句. A. 一对尖括号\"< >\"之间 B. 一对圆括号\"( )\"之间 C. 一对花 ...
- Python进阶----表与表之间的关系(一对一,一对多,多对多),增删改查操作
Python进阶----表与表之间的关系(一对一,一对多,多对多),增删改查操作,单表查询,多表查询 一丶表与表之间的关系 背景: 由于如果只使用一张表存储所有的数据,就会操作数 ...
- ROS中base_link, odom, fixed_frame, target_frame和虚拟大地图map的关系
前面已经介绍了如何使用URDF建造机器人小车并显示在Rviz的仿真环境里面,但是小车是静止的.下面介绍如何让它在Rviz里面动起来,并理清URDF,TF 和 odom 的关系. 1. ROS中base ...
最新文章
- JavaScript text highlighting JQuery plugin
- 对话框Flags的设置值
- 请解释为什么集合类没有实现Cloneable和Serializable接口?
- 微软开源项目NeuronBlocks - 像搭积木一样构建NLP深度学习模型
- 包邮送 36 本书,已全部打包好!
- Elementary OS安装Chrome
- Flink 1.7 文档翻译活动期待大家的参与 | ApacheCN
- 利用 Conda 尝鲜 Python 3.10 不一样的特性 快来试试
- 什么软件能打开Android,哪位晓得apk文件用什么软件打开
- Gson解析JSON数组
- 深入table之collapse
- 维度打击,机器学习中的降维算法:ISOMAP MDS
- 十年饮冰,难凉热血--毕业四年多的经历,致敬每一位IT男
- 微信公众号的简单开发
- 高中数学相关的专业术语
- 中国四大名著.html
- 解决PPT不能插入页码问题
- 基于javaweb房屋租赁管理系统的设计与实现
- 视频教程-SpringBoot Web项目案例视频课程-Java
- ubuntu 编译opencv
热门文章
- 简单的集装箱号码识别
- Springboot 整合 Current-Limiting 实现接口限流
- 相思子肯来,约在莲花岸。(模拟
- Python连锁药店营业额数据分析实验
- 小学计算机制作表格教案,小学信息技术《制作表格》教案
- 微信分享带图片,描述(php版)
- 何洛洛高考成绩查询2021,2021高考查分时间表 什么时候查成绩
- Convolutional Neural Networks for Sentence Classification(卷积神经网络句子分类)
- 量化金融-分类数据的检验
- Ubuntu 备份系统为ISO镜像 解决ISO限制4GB大小 Clone当前系统到其他电脑