弱实体dbms

时间:2016-07-09 06:43:01

标签: database rdbms entity-relationship-model

我对弱实体的了解是,没有强实体,它们就不可能存在: -

即必须有一个强实体,弱实体必须从中获取密钥(外键)。

示例:一个HOTEL(强实体)和ROOM(弱实体), HOTEL是强大的实体,因为他们可以通过他们自己(独立)存在,而ROOM是弱实体,因为他们总是需要HOTEL而没有它(HOTEL)房间不能存在。

但是在阅读本书时,我遇到了一个声明,声明"然而并非每个存在依赖都会导致弱实体类型"。例如,除非与PERSON实体相关,否则DRIVER_LICENCE实体不能存在,即使它有自己的密钥(licence_number),因此它不是一个弱实体。

我的问题是依赖强实体的实体如何不能成为弱实体?

1 个答案:

答案 0 :(得分:2)

弱实体并没有被定义为依赖于另一个存在,而是依赖于另一个实体。

引用Peter Chen的1976年论文"实体 - 关系模型 - 走向统一的数据观点":

  

......我们有两种形式的实体关系。如果使用关系   为了识别实体,我们称之为弱实体关系。   如果关系不用于识别实体,我们将   称之为常规实体关系。同样,我们也有两种形式   关系关系。如果关系中的所有实体都是   通过他们自己的属性值识别,我们将其称为常规   关系关系。如果关系中的某些实体是   通过其他关系确定,我们称之为弱者   关系关系。例如,之间的任何关系   相关实体和其他实体将导致关系薄弱   关系,因为DEPENDENT实体由其名称及其名称标识   与EMPLOYEE实体的关系。常规之间的区别   (实体/关系)关系和弱(实体/关系)   关系将有助于维护数据完整性。

因此,由自己的属性标识的实体称为常规实体,无论它是独立存在还是仅存在于另一个实体中。

通过与另一个实体的关系来识别的实体必然依赖于它存在,但该论证并没有相反的方式。如果下雨,地面潮湿,但仅仅因为地面潮湿并不意味着下雨。