我对DBMS中的实体和实体集感到困惑。实体集合是否构成实体集?就像学生对象的集合一样,形成学生数组。
我们应该将关系数据库中的表与实体集或实体进行比较吗?如果我将实体集与表进行比较,则可以将实体作为表中的记录进行比较。如果我错了,请更正。
我看过一些有关这方面的书籍和博客。在关系数据库管理系统中,将中的某些时间实体与表进行了比较,并与实体集进行了比较。这是真的。无法得到正确的解释。
请拿出例子和明确的解释,谢谢!
发布于 2016-01-05 18:12:13
对这些术语有各种各样的描述,不幸的是,博客、教程、企业框架文档和图表软件往往将这些概念混为一谈。要获得更严格的定义,请查阅该领域创始人的学术论文和书籍。
实体是一个可以被明确识别的事物,比如一个特定的人、公司或事件。实体由数据库中的值标识,例如I(真实世界中的实体)由StackOverflow的数据库中的数字532721表示。
实体集是一组相似的事物,如一组人、公司或事件。一个例子是StackOverflow上的所有用户。实体和实体集是概念性的,不直接包含在数据库中。StackOverflow的数据库谈到了它的用户,这些用户实际上并不生活在数据库中。
表是表示谓词的数据结构。谓词是一个事实类型,是一个带有值占位符的泛型语句。记录包含使谓词变为真的占位符的值,因此记录表示关于世界上实体的命题。另一种看法是,表表示一个或多个实体集上的一组属性和关系。记住,属性只是二进制关系。
例如,表USER (UserId PK, UserName UQ, Reputation, PhotoId UQ)
可以理解为“在世界上存在一个用户,该用户由数字UserId
和唯一名称UserName
标识,该用户拥有Reputation
点数,并且只使用被标识为PhotoId
的头像照片”。每个对应的记录都表示关于用户和图像的已知事实。
我建议您阅读Codd的论文“用于大型共享数据库的数据关系模型”和Chen的论文“实体-关系模型-走向数据的统一视图”。它们比整本书更短、更专注,而且可以很容易地在网上找到。
https://stackoverflow.com/questions/34608597
复制相似问题