Database system concept笔记(3)

来源:互联网 发布:淘宝代销怎么刷销量 编辑:程序博客网 时间:2024/04/30 04:54
(很久以前一直对关系模型,关系实体模型的概念弄得乱七八糟,不用的模型用来建模不同的事物,两个根本就是没什么关系的数学模型而已)

实体-关系模型(Entity-Relationship Model)
这是这是数据库最基本的设计模型,之所以容易跟关系模型混淆是因为relation(实际上relationship和relational是有区别的,只不过中文都翻成关系而已)。这里我们说数据库建模成一系列的entity和他们之间的relationship,而在之前我们所说的relation可以理解成数据库中的table,所以,同样的“关系”确实不同层面上的抽象。
所谓的entity其实就是所有的object(当然和OO中的对象还是有区别的),其对应到database的概念上可以理解为tuple,而由entity组成的entity set可以理解成table啦~
而relationship是entity之间的关系,其实对应到database中的存储,其也是tuple只不过其所形成的table有与实体table有特征上的不同。其维度描述了所表示的实体的数量。

Attribute:在实体关系模型中同样适用Attribute的概念,含义相同,entity就是由attribute的集合。
Mapping Cardinality 约束:常用来表示二元关系的类型,包括:one to one、one to many等4种(在图中箭头指向one的entity)
roles:区别关系中的实体的标签
participation:分为total(在图中用双横线的表示)和partial两种表示实体是否都出现在关系中