标识关系,实线表示
非标识关系,虚线表示
实心圆端所在的那端为一对多关系中的多的那端


        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. 识别和非识别关系之间有什么区别?

    我无法完全掌握差异. 您能否同时描述两个概念并使用真实示例? #1楼 标识关系是两个强实体之间的关系. 非识别关系可能并不总是强实体和弱实体之间的关系. 可能存在一个情况,即孩子本身具有主键,但其实体 ...

  2. Mybatis xml中配置一对一关系association一对多关系collection

    Mybatis xml中配置一对一关系association&一对多关系collection 今天在配置一对一关系映射以及一对多关系映射的时候,把collection中应该使用的ofType配 ...

  3. flask 定义数据库关系(一对多) --

    定义关系 在关系型数据库中,我们可以通过关系让不同表之间的字段建立联系.一般来说,定义关系需要两步,分别是创建外键和定义关系属性.在更复杂的多对多关系中,我们还需要定义关联表来管理关系.下面我们学习用 ...

  4. 一对多,多对一,多对多的关系

    1.一对多,在多的一方建立外键(外键指向一的主键) 母亲与孩子的关系:母亲,孩子两个实体 母亲表:ID(P),名字,年龄,性别 孩子表:ID(P),名字,年龄,性别 以上关系:一个妈妈可以在孩子表中找 ...

  5. ❤️Mybatis开发中什么是多对一处理、一对多处理?

    ❤️Mybatis开发中什么是多对一处理.一对多处理? 什么是多对一: 对于学生而言,关联-多个学生关联一个老师(多对一) 对于老师而言,集合-一个老师有很多学生(一对多) SQL: CREATE T ...

  6. 【Flask】ORM关系以及一对多

    ### ORM关系以及一对多: mysql级别的外键,还不够ORM,必须拿到一个表的外键,然后通过这个外键再去另外一张表中查找,这样太麻烦了.SQLAlchemy提供了一个`relationship` ...

  7. c语言中复合语句不用花括号,【单选题】C语言中,可将一系列语句置于( )从而构成复合语句。 A. 一对尖括号\ \之间 B. 一对圆括号\( )\之间 C. 一对花括号 { } 之间 D....

    [单选题]C语言中,可将一系列语句置于( )从而构成复合语句. A. 一对尖括号\"< >\"之间 B. 一对圆括号\"( )\"之间 C. 一对花 ...

  8. Python进阶----表与表之间的关系(一对一,一对多,多对多),增删改查操作

    Python进阶----表与表之间的关系(一对一,一对多,多对多),增删改查操作,单表查询,多表查询 一丶表与表之间的关系 背景: ​ ​ ​  ​ ​ 由于如果只使用一张表存储所有的数据,就会操作数 ...

  9. ROS中base_link, odom, fixed_frame, target_frame和虚拟大地图map的关系

    前面已经介绍了如何使用URDF建造机器人小车并显示在Rviz的仿真环境里面,但是小车是静止的.下面介绍如何让它在Rviz里面动起来,并理清URDF,TF 和 odom 的关系. 1. ROS中base ...

最新文章

  1. JavaScript text highlighting JQuery plugin
  2. 对话框Flags的设置值
  3. 请解释为什么集合类没有实现Cloneable和Serializable接口?
  4. 微软开源项目NeuronBlocks - 像搭积木一样构建NLP深度学习模型
  5. 包邮送 36 本书,已全部打包好!
  6. Elementary OS安装Chrome
  7. Flink 1.7 文档翻译活动期待大家的参与 | ApacheCN
  8. 利用 Conda 尝鲜 Python 3.10 不一样的特性 快来试试
  9. 什么软件能打开Android,哪位晓得apk文件用什么软件打开
  10. Gson解析JSON数组
  11. 深入table之collapse
  12. 维度打击,机器学习中的降维算法:ISOMAP MDS
  13. 十年饮冰,难凉热血--毕业四年多的经历,致敬每一位IT男
  14. 微信公众号的简单开发
  15. 高中数学相关的专业术语
  16. 中国四大名著.html
  17. 解决PPT不能插入页码问题
  18. 基于javaweb房屋租赁管理系统的设计与实现
  19. 视频教程-SpringBoot Web项目案例视频课程-Java
  20. ubuntu 编译opencv

热门文章

  1. 简单的集装箱号码识别
  2. Springboot 整合 Current-Limiting 实现接口限流
  3. 相思子肯来,约在莲花岸。(模拟
  4. Python连锁药店营业额数据分析实验
  5. 小学计算机制作表格教案,小学信息技术《制作表格》教案
  6. 微信分享带图片,描述(php版)
  7. 何洛洛高考成绩查询2021,2021高考查分时间表 什么时候查成绩
  8. Convolutional Neural Networks for Sentence Classification(卷积神经网络句子分类)
  9. 量化金融-分类数据的检验
  10. Ubuntu 备份系统为ISO镜像 解决ISO限制4GB大小 Clone当前系统到其他电脑