首页 百科知识 学生和课程的E-R图与常用数据模型的比较

学生和课程的E-R图与常用数据模型的比较

时间:2024-01-25 百科知识 版权反馈
【摘要】:数据模型就是对现实世界特征的模拟和抽象。图1-7学生和课程的E-R图知识点5常用数据模型1.层次模型层次模型是数据库系统中最早出现的数据模型,它用树形结构表示实体及实体间的联系。在关系数据模型中,操作的对象和结果都是二维表,所以每一个二维表称为一个关系。

学生和课程的E-R图与常用数据模型的比较

【任务引导】

数据库是某个企业、公司或部门所涉及数据的集合,它不仅要反映数据本身,而且要反映数据之间的联系。数据模型就是对现实世界特征的模拟和抽象。由于计算机不可能直接处理现实事物中的具体事物,所以人们需要事先把具体事物转换成计算机能够处理的数据,在数据库中采用数据模型来抽象、表示和处理现实世界中的数据和信息。

【知识储备】

知识点1 实体(Entity)

实体是指客观存在并相互区别的事物。实体可以是具体的事物,如一个学生、一台电脑、一辆汽车等;实体也可以是某种抽象的动作,如上一节课、上一次网、购一次物等。

知识点2 属性(Properties)

实体所具有的特性称为实体的属性。每个实体通常都具有多个属性,如学生实体有学号、姓名、性别、年龄、政治面貌等多个属性;图书实体有图书编号、分类号、书名、作者、出版社、定价等多个属性来描述。

知识点3 联系(Relationship)

现实世界是一个有机的相互关联的整体,实体之间的对应关系称为联系。实体之间的联系有一对一、一对多和多对多三种类型。

(1)一对一联系(1:1)

一对一联系是指一个实体和另一个实体之间存在着一一对应的关系。如一个人有一个身份证号,一个身份证号对应着一个人,人和身份证号之间的联系就是一对一的联系。如图1-6(a)所示。

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

一对多联系是指一个实体对应着多个实体。如一个学校有多名学生,而每一个学生只属于一个学校,学校和学生之间的联系就是一对多的联系。如图1-6(b)所示。

图1-6 实体联系类型示意图

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

多对多联系是指多个实体对应着多个实体。如一名学生可以选修多门课程,并且一门课程可以被多个学生选修,学生和课程之间的联系就是多对多联系。如图1-6(c)所示。

知识点4 E-R图

E-R图是用图形直观地描述实体间联系的一种表现方式。用长方形表示实体、椭圆形表示属性、菱形表示实体间的联系。图1-7描述的是学生和课程之间的E-R图。

图1-7 学生和课程的E-R图

知识点5 常用数据模型

1.层次模型

层次模型是数据库系统中最早出现的数据模型,它用树形结构表示实体及实体间的联系。在层次结构中,每一个实体用节点来表示,节点与节点之间具有层次关系。如家族结构、行政组织结构等,它们都是自顶向下、层次分明。层次模型反映出实体与实体之间的一对多联系。图1-8描述了某高校行政组织层次结构。

图1-8 层次模型示例

2.网状模型

网状模型也称为网络模型,是层次模型的扩展,用类似网状的结构表示实体及实体间的联系。网状模型可以方便地表示实体间的多对多联系,但结构比较复杂,数据处理比较困难,如人际关系、公交站点间的关系等都是网状结构,网状模型反映出实体与实体间的多对多联系。图1-9描述了人际关系的网状结构。

图1-9 网状模型示例

3.关系模型

关系模型是用二维表表示实体与实体间联系的数据模型。在关系数据模型中,操作的对象和结果都是二维表,所以每一个二维表称为一个关系。表1.1描述了学生关系。

表1.1 学生关系

4.面向对象模型

面向对象模型是面向对象概念与数据库技术相结合的产物,该模型吸收了层次、网状和关系模型的优点,并利用面向对象的设计思想与方法,处理复杂的数据结构,具有较强的灵活性、可重用性及可扩展性,但由于面向对象模型相对较为复杂,涉及的知识比较多,因此目前尚未普及。

知识点6 关系模型基础(www.xing528.com)

关系模型具有坚实的数学理论基础,20世纪80年代以来,几乎所有的数据库管理系统都支持关系模型。目前常用的数据库管理系统如Access、Visual Foxpro、SQL Server、MySQL、Oracle、DB2、Sybase等都是关系数据库。

1.关系模型基本术语

(1)关系

关系是用二维表结构表示实体与实体之间的联系,它由行和列组成。一个关系就是一张二维表。图1-10给出了学生表,图1-11给出了选课表,即给出了两个关系。这两个表通过共同的属性——学号,将两个表联系起来。

图1-10 学生表(学生关系)

图1-11 选课表(选课关系)

(2)元组

在二维表中,每一行称为一个元组,也称记录。如学生表中共有20行,即有20个元组或者20条记录。

(3)属性

二维表中每一列称为一个属性,也称字段。如选课表中共有4列,即有学号、课程号、成绩、教师编号4个属性或4个字段。

(4)域

属性的取值范围,即不同元组对同一属性的取值所限定的范围。如性别属性的域为{男,女}两个值。

(5)关键字

在关系中能够用来唯一标识一个元组的属性或属性的组合称为关键字。如学生表中的学号属性是关键字,它可以唯一标识每一个元组;而在选课表中,学号不能单独成为关键字,学号和课程号属性的组合可以成为关键字,用来唯一标识每一个选课表中的元组。

(6)主关键字

一个关系中可能有多个关键字,每一个关键字都能唯一标识一个元组,我们取出其中一个作为主关键字。一个关系中只能有一个主关键字。如一张职工表包含以下几个属性:职工号、姓名、身份证号、性别、档案编号等。其中职工号、身份证号和档案编号几个属性都可以作为表的关键字,我们可以把这三个属性中的任何一个取出来作为主关键字,另外两个属性就成为职工表的关键字,也称候选关键字。

(7)外部关键字

如果表中的一个字段不是本表的主关键字,而是另外一个表的主关键字或候选关键字,这个字段称为外部关键字。如选课表中的学号是学生表的外部关键字(学号是学生表的主关键字)。

2.关系运算

(1)选择运算

从关系中找出满足条件的元组的操作称为选择运算。选择运算是横向从行上进行操作。如在学生关系中查询所有政治面貌为团员的学生记录,就是一个选择运算。

(2)投影运算

从关系中指定若干个属性组成新的关系称为投影运算。投影运算是纵向从列上进行操作。如在学生关系中显示所有学生的学号、姓名、性别、出生日期,就是一个投影运算。

(3)连接运算

连接运算是把两个关系按一定的条件进行连接生成一个新的关系。如学生关系和成绩关系通过学号属性连接在一起,就生成一个新的关系,就是连接运算。

3.关系的特点

(1)关系中的每一个分量不可再分,是最基本的数据单位。

(2)每一列的分量是同属性的,各列的顺序可以任意交换,交换后不影响数据的使用。

(3)每一行由实体的多个分量组成,各行的顺序可以任意交换,交换后不影响数据的使用。

(4)一个关系是一张二维表,不允许有相同的属性名,也不允许有完全相同的元组。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈