dbms中的实体和实体集有什么区别

jav*_*dev 1 database rdbms entityset

我对 DBMS 中的实体和实体集感到困惑。实体集构成实体集吗?就像学生数组中的一组学生对象一样。

我们应该将关系数据库中的表与实体集或实体进行比较吗? 如果我将实体集与表进行比较,那么我可以将实体作为表中的记录进行比较。 如果我错了请纠正我。

我浏览了一些与此相关的书籍和博客。有时实体与 Rdbms 中的表进行比较,有时与实体集进行比较。这是真的。无法得到正确的解释。

请提供示例和清晰的解释,提前致谢

rea*_*anb 5

这些术语有各种各样的描述,不幸的是,博客、教程、企业框架文档和图表软件往往会混淆这些概念。要获得更严格的定义,请参阅该领域创始人的学术论文和书籍。

实体是可以明确识别的事物,例如特定的人、公司或事件。实体由数据库中的值来标识,例如,我(现实世界中的实体)由 StackOverflow 数据库中的数字 532721 表示。

实体集是一组相似事物的集合,例如一组人、公司或事件。一个例子是 StackOverflow 上的所有用户。实体和实体集是概念性的,并不直接包含在数据库中。StackOverflow 的数据库谈论它的用户,这些用户实际上并不存在于数据库中。

表是表示谓词的数据结构。谓词是一种事实类型,是带有值占位符的通用语句。记录包含使谓词为真的那些占位符的值,因此记录代表关于世界上实体的命题。另一种看待它的方式是,表表示一个或多个实体集上的一组属性和关系。请记住,属性只是二元关系。

例如,一个表USER (UserId PK, UserName UQ, Reputation, PhotoId UQ)可以被理解为“世界上存在一个由数字UserId和唯一名称标识的用户UserName,该用户拥有分数Reputation并且专门使用被标识为头像的照片PhotoId”。每个对应的记录代表关于用户和图像的已知事实。

我建议你阅读Codd的论文“A Relational Model of Data for Large Shared Data Banks”和Chen的论文“The Entity-Relationship Model - Toward a Unified View of Data”。它们比整本书更短、更集中,并且可以在网上轻松找到。