首页 理论教育 E-R模型是数据模型的基础,与具体数据库无关层次模型

E-R模型是数据模型的基础,与具体数据库无关层次模型

时间:2023-07-25 理论教育 版权反馈
【摘要】:属性用值表示,如学号、姓名、性别的具体值用“090200”、“张三”、“男”来表示。E-R模型所描述的概念模型与具体的DBMS所支持的数据模型相独立,是各种数据模型的共同基础,因而是抽象和描述现实世界的有力工具。2.数据模型层次模型层次模型是采用树型结构来表示实体及其实体间的联系的模型。图3-12 网状模型图关系模型关系模型是用二维表结构来表示实体及其之间的联系。

E-R模型是数据模型的基础,与具体数据库无关层次模型

1.概念模型

概念世界有时也称信息世界,是现实世界在人们头脑中的反映,经过对客观事物及其联系的抽象描述,产生概念模型。如对学生的描述包括姓名、性别、编号、系号、出生日期等不同项目。

(1)实体的基本术语

①实体:客观存在并且可以相互区别的对象或事物称为实体。它可以是具体的事物,如一个人、一辆车、一个部门等。

②属性:属性是实体具有的描述特性。如一个学生实体,可以用学号、姓名、性别、系、年级和出生日期等属性来描述他的特性。学号、姓名、性别等是属性的名称。属性用值表示,如学号、姓名、性别的具体值用“090200”、“张三”、“男”来表示。

③实体型:实体型是用属性的集合来描述实体的类型,它用实体名和各个属性名的集合来表示。如实体型:学生(学号,姓名,性别,出生日期),“学生”是实体名,“学号”、“姓名”、“性别”等是各个属性名,如图3-10(a)所示。

④实体值:实体值是指实体属性值的集合,如学生张三的实体值是“090200”、“张三”、“男”。

⑤实体集:实体集是指相同类型的实体的集合。学校所有的学生,他们都用相同的实体类型来描述,集合在一起就是实体集。

(2)联系

两个实体A和B是包含若干个体的总体,其间的联系有以下三种类型:

①一对一联系(1:1):若A实体与B实体发生联系,B中的每一个实体至多对应A中一个实体,则A实体与B实体是一对一联系。如在学校中,一个班级只有一个班长,一个班长只管理一个班级,则班级实体与班长实体具有一对一的关系。

②一对多联系(1:n):若对于A中的每一个实体,至少有一个属于B中的实体与之发生关系,且B中每一个实体至多只能对应于A中的一个实体,则A实体与B实体是一对多的联系。如在学校中,一个班级有许多学生,每个学生只属于一个班级,则班级实体和学生实体之间具有一对多的关系。

③多对多联系(m:n):若A实体中至少有一个对应B实体中一个以上的实体,且B实体中也至少有一个对应A实体中一个以上的实体,则A实体对B实体是多对多的联系。如在学校中,一个学生可以同时选修多门课程,一门课程也可以同时有多个学生选修,则学生实体和课程实体之间具有多对多的关系。

(3)E-R方法(Entity-Relation Approach)

概念模型最常用的表示方法是实体联系模型,也叫E-R图,它是由P.P.S.Chen于1976年提出的,是用E-R图来描述某一组织的信息模型。包括三个要素:

①实体:用矩形框表示,框内标注实体名称。

②属性:用椭圆形表示,并用连线与实体连接起来。

③实体之间的联系:用菱形框表示,框内标注联系名称,用连线将菱形框分别与有关实体相连,并在连线上注明联系类型,如图3-10(b)所示。

E-R模型是对现实世界的一种抽象,它抽取了客观事物中人们所关心的信息,忽略了非本质的细节,并对抽取的信息进行了精确的描述。E-R模型所描述的概念模型与具体的DBMS所支持的数据模型相独立,是各种数据模型的共同基础,因而是抽象和描述现实世界的有力工具。

2.数据模型

(1)层次模型

层次模型是采用树型结构来表示实体及其实体间的联系的模型。其特点是只有一个根节点(也叫父节点),其他节点(子节点)有且仅有一个父节点,节点之间是树根与树枝(父与子)的关系,即一对多联系。它的优点是简单、直观、处理方便,适合于表现具有比较规范的层次关系的结构;缺点是不能直接表现含有多对多联系的复杂结构。如图3-11所示。

(2)网状模型(www.xing528.com)

网状模型是采用网状结构来表示实体及其之间的联系。其特点是:每一个节点允许有多于一个的父节点,也可以有一个以上的节点无父节点。网状模型可以方便地表示实体间多对多的联系,但结构比较复杂,数据处理比较困难。如图3-12所示。

图3-12 网状模型图

(3)关系模型

关系模型是用二维表结构来表示实体及其之间的联系。如图3-13所示的“学生”表和“课程”表都是二维表,它们之间通过“学号”属性建立联系。

图3-13 关系模型图

关系模型中的术语有:

①关系:一个关系就是一张二维表,如上图所示的“学生”表、“选课”表。

元组:表的每一行为一个元组(也称为记录),它是一组字段的信息的集合。

③属性:表的每一列为一个属性(也称为字段),例如“学生”表中的“学号”、“姓名”、“性别”等字段。

④域:属性的取值范围称为域,例如“学生”表的性别属性的取值范围是“男”或“女”。

⑤关系模式:关系名及关系中的属性集合构成关系模式,一个关系模式就是对关系的描述。格式为:关系名(属性名1,属性名2,属性名3,…,属性名n)。

⑥主码:主码又称主键,是表中的某个属性组,它的值唯一标识一个元组。如“学生”表中的“学号”可作为主码,它能唯一标识表中的每一条记录,即表中不能有两个相同的学号出现。

⑦候选码:如果某个字段的值能唯一标识表中一个记录,这个字段就被称为候选码。一个关系中可能有多个候选码,例如“学生”表中的“学号”和“系号”都是候选码。

⑧外部关键字:外部关键字也叫外键,是用来与另一个关系进行联接的字段,且是另一个关系中的主关键字。

(4)数据库的关系运算

①选择操作。选择操作是指从关系中选出那些满足条件的记录,即从二维表的行中查找记录。例如,从“教师”表中找出“职称”为“教授”的教师所进行的操作就是选择操作。

②投影操作。投影操作是指从关系中选出所需的若干字段,即从二维表的列中选择字段。例如,从“教师”表中找出所有教师的“职工号”、“姓名”、“性别”、“出生日期”,所进行的操作就是投影操作。

③联接操作。联接操作是将两个关系联接成一个新的关系,新关系中包含满足条件的记录。例如,从“学生”表和“选课”表中按对应学号相同的条件给出学生的“学号”、“姓名”、“性别”、“课程号”、“成绩”,所进行的操作就是联接操作。在联接运算中,按照字段值对应相等为条件进行的联接操作叫做等值联接。自然联接是去掉重复属性的等值联接,自然联接是最常用的联接运算。

(5)关系模型的完整性

关系模型的完整性规则是对关系的一组约束条件,包括以下几类:

①实体完整性。是针对某实体的具体属性值的约束。例如,关系中主键不能取空值和重复的值。空值就是不确定值,如在“学生”表中,“学号”不能取空值,否则就无法说明一个学生的信息;如在“选课”(学号、课程号、成绩)表中,“学号”和“课程号”构成复合主键,则“选课”表中“学号”、“课程号”都不能取空值。重复的值则指值不能完全相同。

②参照完整性。是针对表与表之间的约束条件。例如,定义外键与主键之间的引用规则。如“学生”表中的“系号”字段是该表的外键,在“系科”表中是主键,在“学生”表中该字段的值可以取“空”。

③用户定义完整性。是针对某一具体关系数据库的约束条件,由应用环境决定。如“选课”表中的“成绩”的取值只能在0~100之间。

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

我要反馈