弱实体
? 这种实体不能单独存在,总是依附某个实体,如亲戚是依赖职工这个实体,家属就是弱实体。零件的组成是一个自联系.单线表示实体部分参与联系,双线表示全部参与联系。
小斜杠表示,关键字,主键。
用E-R表示数据模式的时候,我们只关心有那些数据(即有那些实体及属性)以及数据间的关系(实体关系)。而不必关心这些数据在计算机内如何表示和用什么DBMS。
E-R常用于数据库的设计中的概念。设计阶段,后面讨论。
2.5.3扩充E-R数据模型
引入下列抽象概念。
- 特殊化和普通化。
2.聚集
在EER中,可以把联系集合成一个新的实体参与联系,下图的虚线框就是一个聚集。
- 范畴
- 由不同类型的实体组成的实体集,称之为范畴。U表示‘并‘操作。
2.6 面向对象数据模型(OODM)
抽象概念:
-
对象----可识别的实体
-
对象的属性----静态的描述对象的状态、组成、特征。
-
聚集---由对象组成对象的过程
-
对象的封装及消息--对象的特征、操作封装在对象内部,与外部的联系通过消息来实现。其好处有:
-
把方法的调用接口与方法的实现分开,有利于数据的独立性。
-
封装后,成为一个自合的单元。对象只接受对象有所定义的操作,其他程序不能直接访问对象中的属性,避免副作用,有利于程序的可靠性
不利之处
- 查询属性值需要通过方法去实现
- 对象的操作不够灵活
-
-
对象的等同
-
对象的类----把相似的对象归在一起,我们称之为类,类中的每一个对象我们称之为实例,同一类的对象有相同的实例变量和方法,可在类中统一说明,而不必在类的每个实例中说明,这样就减少了信息冗余。
-
元类----’类的类’。。类也可以看成是一个对象,是对象就可以组成类,因此称之为元类
-
子类与超子类---类的一个子集也可以成为一个类(类的派生)叫子类,原来的类称之为类的超类(或父类)子类下面还可以再分成子类,由此构成类的层次结构。
-
子类与超类的继承关系-----子类是其超类的子集,子类具有超类的一切特性。
注:继承关系是非层次性的,会产生冲突。
解决办法:超类之间的冲突可以规定优先级;
-
集合类---具有相同性质的关系(集合)组成的类
注:在关系模型中,可识别的单位是关系,即是一个集合。在OODM中可识别的单位是对象,不是一个集合。在对象上进行某种操作时,先查找这个对象,然后调用该对象的方法,因此,效率低,这是OODM目前存在的一个问题,但是该模型描述现实世界比较方便。清晰。
引入集合的目的是为了引入面向集合的查询和解决实例变量的多值问题。