首页 理论教育数据库技术与应用教程:概念模型及其转换与导出

数据库技术与应用教程:概念模型及其转换与导出

【摘要】:概念模型用于信息世界的建模,是对现实世界的抽象和概括。因此,概念模型一方面应该具有较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识;另一方面,它还应该简单、清晰,用户易于理解。概念模型应很容易向各种数据模型转换,易于从概念模式导出到DBMS中成为有关的逻辑模式。概念模型不是某个DBMS支持的数据模型,而是概念级的模型。在概念模型中主要涉及以下概念。

概念模型用于信息世界的建模,是对现实世界的抽象和概括。它应真实、充分地反映现实世界中事物和事物之间的联系,有丰富的语义表达能力,能表达用户的各种需求,包括描述现实世界中各种对象极其复杂联系、用户对数据对象的处理要求和手段。是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言。

因此,概念模型一方面应该具有较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识;另一方面,它还应该简单、清晰,用户易于理解。概念模型应很容易向各种数据模型转换,易于从概念模式导出到DBMS中成为有关的逻辑模式。概念模型不是某个DBMS支持的数据模型,而是概念级的模型。在概念模型中主要涉及以下概念。

1.实体(Entity)

客观存在并且可以互相区别的事物称为实体。实体可以是人,也可以是物,也可以是抽象的概念;可以指事物本身,也可以指事物的联系。例如,一名学生,一门课、一次选课、学生和课程的关系等,都是实体。实体是信息世界的基本单位。

2.属性(Attribute)

实体所具有的某一特征称为属性。一个实体可以由多个属性来刻画,每一个属性都有其取值范围和取值类型。例如,一个学生实体可以由学号、姓名、性别、出生日期、学院名称等属性组成,(2014029520,赵光明,男,1996-08-20,计算机学院)这些属性值组合在一起表示了一个学生的基本情况。

3.码(Key)

能在一个实体集中唯一表示一个实体的属性称为码。码可以只包含一个属性,也可以同时包含多个属性。有多个码时,选择一个作为主码。最极端的一种情况就是所有属性组成主码,称为全码。

4.域(Domain)

某个(些)属性的取值范围称为该属性的域。例如,性别的域为(男,女),姓名的域为字符串集合,学院名称的域为学校所有学院名称的集合。

5.实体型(Entity Type)

具有相同属性的实体具有共同的特征和性质。用实体名及其属性名集合来抽象和刻画的同类实体称为实体型。例如,学生(学号,姓名,性别,出生日期,学院名称)是一个实体型。

6.实体集(Entity Set)

同类型的实体集合称为实体集。例如,全体学生就是一个实体集。

7.联系(Relation)

现实世界的事物之间是有联系的,这种联系必然要在信息世界中加以反映。这些联系在信息世界中反映为实体(型)内部的联系和实体(型)之间的联系。实体(型)内部的联系主要表现在组成实体的属性之间的联系。实体(型)之间的联系主要表现在不同实体集之间的联系。两个实体之间的联系有三种:一对一联系、一对多联系、多对多联系。(www.chuimin.cn)

(1)一对一联系(1∶1)

设对于实体集A中的每一个实体,实体集B中至多有一个实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系,记作1∶1。例如,一个学校只能有一个校长,一个校长也只能在一个学校任职,所以学校与校长之间的联系即为一对一的联系。还有董事长与公司、主教练与球队之间也都是一对一的联系。

(2)一对多联系(1∶n)

设实体集A中的一个实体与实体集B中的多个实体相对应(相联系),反之,实体集B中的一个实体最多与实体集A中的一个实体相对应(相联系),则称实体集A与实体集B的联系为一对多的联系,记作1∶n。例如,一个学校可以有许多个学生,但一个学生只能属于一个学校,所以学校和学生之间的联系即为一对多的联系。还有公司和职工、球队和球员之间也都是一对多的联系。

(3)多对多联系(m∶n)

设实体集A中的一个实体与实体集B中的多个实体相对应(相联系),而实体集B中的一个实体也与实体集A中的多个实体相对应(相联系),则称实体集A与实体集B的联系为多对多的联系,记作m∶n。例如,一个学生可以选修多门课程,一门课程可以被多个学生选修,所以学生和课程之间的联系即为多对多的联系;一个教师教过许多学生,一个学生也被许多教师教过,教师和学生之间的联系也是多对多的联系。

两个实体之间的联系可以用图形表示,如图3-2所示。

图3—2 两个实体之间的联系

在现实世界,不但两个实体之间存在联系,多个实体之间也会存在联系。例如,课程、学生、教师三个实体之间存在联系。一门课程由多个教师讲解,一个学生可以选修多门课程,一个教师可以讲授多门课,如图3-3所示。同一实体集内的各实体之间也可以有某种联系。例如,公司的职工实体集内,有董事长,也有一般员工,具有领导和被领导的联系,即一个董事长可以领导多个职工,而一个职工只能被一个董事长领导。因此这是一对多的联系,如图3-4所示。

图3—3 多个实体之间多对多的联系

图3—4 多个实体之间一对多的联系