E/R模型


实体集

矩形
相似实体(抽象对象)的集合

属性

椭圆
实体具有的性质

联系

菱形
两个或多个实体集的联系

子类

isa联系(一对一)
三角形
变与子类相连,对角与父类相连
A isa B表示A是B的子类

属性下面下划线

引用完整性

尖箭头时 多对一,一对一这里的一指的是至少对应一个
圆箭头时 指必须有一个(也就是引用完整性)

弱实体集

双矩形
双菱形表示一个多对一联系(支持联系),(支持实体集)为弱实体集提供键(一那边要用圆箭头)
提供的也必须得是支持实体集的键属性


联系集
连接n个实体集E1,E2,……En的联系R的一个实例由(e1,e2,……,en)的有限集构成,每个ei都是从实体集Ei的当前实例中选出
这个元组集就是R的联系集


R是从E到F的多对一联系:
E中的任一实体可以通过R与F中至多一个实体联系
表示成E——>F

R是一对一联系:
R即是E到F的多对一联系又是F到E的多对一联系
表示成E<——>F

R是多对多联系
R既不是E到F的多对一也不是F到E的多对一
表示成E——F


多路联系
从联系菱形到它涉及的每个实体集的连线
指向实体集E的箭头表示:如果从该联系的其他每个实体集中选择一个实体,它们至多与E中的一个实体联系


联系中的角色
在一个联系中一个实体集可能出现多次
把联系与实体集用同样多的边连接起来,在边上取名字表示实体集代表的不同角色


角色

联系的属性
直接加在联系上,或再创建一个实体集包含联系的属性


多路联系到二元联系的转换
连接实体集:实体是多路联系的联系集的元组(内容和联系集是一样的)
从连接实体集中引出多对一联系


多路联系转二路

子类
isa联系
每个子类有它自己特殊的属性/联系
根的键也是所有节点的键,但节点的键可以是其子集。


E/R模型设计原则
1.忠实性:忠实于应用的具体要求
2.避免冗余(额外空间,更新异常)
3.简单性
4.选择正确的联系:一个联系连接起来的实体对或实体集可以从一个或多个其他的
联系中导出。比如多个联系代表相同的信息或者一个联系可以
从另外几个联系中导出。
5.选择正确的元素种类:将实体集E用属性代替的条件是
1)E必须是联系中的一
2)若E有几个属性,必须没有属性依赖于其它属性
3)没有联系包含E多次
代替方法:
a)若又从F到E的多对一联系R,删除R把E的属性作为F
的属性
b)若有多路联系R的箭头指向E,把E的属性作为R的属
性,删除R到E的弧


约束
1.键
2.引用完整性
3.度约束:在连接一个联系到一个实体的边上加一个数字,表示相关实体集中任一
实体可被联系到的实体数目的约束。


弱实体集
键由另一个实体集的部分或全部键属性构成
若支持实体集F本身就是弱实体集,就再往上找F的支持实体集G提供给F的键属性
若从E到F有多个不同的支持联系,那么每个联系被用来提供一份F的键的拷贝以帮助E形成键



从E/R图到关系设计
直观方法:
1.每个实体集可转化为具有相同属性的关系
2.联系转化成的关系,关系属性为联系所连接的实体集的键集合以及联系自身的属性(注意一个实体集在联系中以不同角色出现多次的情况,它的键属性出现次数应和角色数一样多,并且要重命名)
特殊情况:
1.弱实体集不能直接转化为关系
2.isa联系与子类要特殊对待
3.有时将关系组合:
考虑有E到F的多对一联系R,则可以把F的键还有R的属性添加到E
导出的联系中,这样就不用为R创建联系了
注意若e没有对应的f则关系中的对应分量应为空值
多对多就不要组合了,会冗余


找出关系中的键
若关系R是从(二元)联系转化而来,那么联系的多样性就会影响关系的键。
如果联系是多对多的,则与其相联的实体集的键属性都是R的键属性。stars-in (starName, title, year)。
如果联系是E1到E2的多对一,则只有E1(多方)的键属性是R的键属性。owns (title, year, studioName)。
如果联系是一对一的,则与其相连的任一个实体集的键属性都是它的键属性。 (键不唯一)

如果一个多路联系R有一个箭头指向实体集E,则相应关系中至少有一个键,不包含E的键。
Contracts(starName,title,year,salary,studiosName)


处理弱实体集
弱实体集自己的属性+支持实体集的键属性+支持联系的属性
与弱实体集W相连的联系要包含W的键属性,以及对W键有贡献的实体集属性
支持联系不用转


处理子类结构
isa联系不用转

  • E/R法 n+1
    为子类实体集建立关系,并加上根的键属性

  • 面向对象法 2^n (减少空间 避免重复信息)
    枚举层次中所有包含根的子树,为每个子树构造关系,包含子树中所有实体集的所有属性


    面向对象法
  • 空值法 (关系少,查询代价低)
    对一个实体集层次只创建一个关系,包含层次中所有实体集的所有属性,允许元
    组有null值

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,546评论 6 507
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,224评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,911评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,737评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,753评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,598评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,338评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,249评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,696评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,888评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,013评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,731评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,348评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,929评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,048评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,203评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,960评论 2 355

推荐阅读更多精彩内容