ITPub博客

首页 > 大数据 > 数据挖掘 > ERWIN中的一对多标识关系和一对多非标识关系

ERWIN中的一对多标识关系和一对多非标识关系

数据挖掘 作者:龙神add 时间:2016-05-02 22:33:02 0 删除 编辑

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


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)。

由业务政策知道,这是允许发生的 (因为航空公司不能迫使乘客填满每次飞行的每个座位),从子实体看,关系是可选的,关系父端的菱形就意味着这个。


转载自:http://www.cnblogs.com/gjung/archive/2007/03/29/692913.html

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/28909254/viewspace-2092341/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2013-05-23

  • 博文量
    27
  • 访问量
    55381