现实世界 抽象成为信息世界的过程即为数据建模。
抽象怎么理解?8个字 理解、区分、命名、表达 。现实世界需要深刻的理解、理解的标志是区分,这就涉及到表与表的区分 表内数据的区分 数据项之间关系的区分 表关系的区分 等 、区分的标志是命名 需要命名表名、数据项名、数据表之间关系的名字 抽象的最后结果是正确表达 而我们这里用的表达方式就是ER-图。
E-R模型的基本观点:世界是由一组称作实体的基本对象和这些基本对象之间的关系组成
实体与实例:实体是客观存在并可相互区分的一类事物 实体有类 和个体(实例)的概念。实体用属性来刻画; 实体中能够用某一属性或者属性组合来区分实体的一个个实例,那么就称该属性为关键字。
联系:联系有一元、二元、多元联系 注意实体是稳定的但是联系是多样的同样的几个实体可以有多个联系。
我一开始对一元联系有点搞不清楚,心想一元怎么会有联系。其实联系是发生在实例之间的,比如零件之间可能会有装配关系 即零件A 可能由零件B和零件C构成,这就是其联系。但是只涉及到了一个实体所以是一元联系。
二元联系有:一对一 、一对多、多对多、一对一指的是实体A的一个实例只能与实体B的一个实例发生联系,而实体B的一个实例同样只能与实体A的一个实例发生联系。联系的基数指的是一个实体的实例通过联系与另外一个实体的实例相关联的数目。这涉及到“联系”表的设计。比如多对多 联系表需要命名联系表然后表达,而一对多只需在“多”的实体上加上属性列即可。
E-R图的建模过程
- 理解现实世界,找出对应实体。注意实体一定是可以用一串串、一个个、一条条 等形容词形容的。
- 用属性刻画每个实体。
- 找出每个实体的关键码。
- 数据建模的重点是分析实体之间的联系。
- 确定实体是否覆盖了需求。