实体是概念世界中的基本单位,是客观存在且又能相互区别的事物。实体可以是物理存在的事物,如一名学生、一名教师、一所大学、一本书等;也可以是抽象的事物,如一门课程、一次借书、一场考试等。
实体具有若干特征,每个特征称为实体的一个属性。例如,每个学生实体都具有学号、姓名、年龄、性别等属性。
属性按照结构分为简单属性和复合属性。实体的属性值是数据库中存储的主要数据,一个简单属性实际上相当于数据表中的一个列。
简单属性是不可以再划分的属性,如性别、年龄等。复合属性是可以再划分为多个子属性的属性,如可以将属性“家庭地址”划分为省、市、区、街道名、门牌号等多个子属性。复合属性可以准确描述现实世界的复合信息结构,使用灵活,既可以将它作为整体处理,即作为一个属性(如家庭地址),也可以将它的各个子属性作为简单属性(如所在省、市、区、街道名、门牌号5个属性)。
属性按取值分为单值属性和多值属性。对于一个特定实体的属性,如果是单值属性,则只有一个属性值,比如学生的“学号”属性。如果是多值属性,则对应一组值,如学生的“学位”属性,其值可能是学士、硕士、博士三个值,也可能是其中的两个值。
实体型是对现实世界中各种事物的抽象,是对具有相同属性的一类实体的特征和性质的结构描述。通常使用实体名和属性名来抽象和刻画同类实体。例如,“学生(学号,姓名,性别,年龄)”就是一个实体型。一般来说,每个实体型相当于数据库中一张表的表结构。
若干同型实体的集合称为实体集,或者说,凡是有共性的实体组成的一个集合称为实体集。例如,理学院的学生、某大学开设的课程、某大学的教师、某大学某个专业的全体学生等都可以构成一个个实体集。
实体集由实体集名、实体型和实体三个部分组成。实体集名一般沿用实体型的名称。在实际应用中,一个实体型通常被抽象为一个实体集。在不强调个体的情况下,通常将实体型或实体集简称为实体。一个实体集相当于关系数据库中一张完整的数据表,包括表名、表结构和表中的数据(记录)。
一个实体本身具有许多属性,能唯一标识实体集中每个实体的属性集合称为关键字(也称为码、键)。例如,学号可以作为学生实体集的关键字。一个实体集可以有若干个关键字,通常选择其中一个作为主关键字(也称为主码、主键,Primary Key)。
域是指属性的取值范围。例如,性别的域为集合{男,女}。
现实世界中事物之间或事物内部之间的关联称为联系,在E-R模型中反映为实体集内部的实体之间或实体集与实体集之间的相互关系。比如,某单位内部职工之间的上下级关系或因为共同的兴趣爱好而建立的队长和队员的关系等,都是实体之间的联系。又比如,医生与病人之间的治疗关系、旅客与高铁之间的乘坐关系、学生和课程之间的选修关系,这些都是实体集与实体集之间的联系。有些情形下联系也有自己的属性,比如,学生和课程之间“选修”这个联系的属性可以是“成绩”。
资料来源:《数据库与数据处理:Access 2010 实现 第2版》,文章链接:https://developer.aliyun.com/article/726515
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。