- 概念模型是从用户的角度进行建模的,是现实世界到信息世界的第一抽象,是真正的实体-联系模型。
- 关系模型是二维表的形式表示的实体-联系模型,是将实体-联系模型转换而来的,经过开发人员设计的;
- 网状模型表示实体类型及其实体之间的联系,一个事物和另外几个都有联系,形成一张网。
- 面向对象模型是采用面向对象的方法设计数据库,以对象为单位,每个对象包括属性和方法,具有类和继承等特点。
数据模型三要素:数据结构(所研究的对象类型的集合)、数据操作(对数据库中各种对象的实例列允许执行的操作的集合)、数据的约束条件(一组完整性规则的集合)。
E-R图
用E-R图来描述概念数据模型,世界是由一组称作实体的基本对象和这些对象之间的联系构成的。
在E-R模型中,使用椭圆表示属性(一般没有)、长方形表示实体、菱形表示联系,联系的两端要填写联系类型,示例如下图:
像经理、业务员、部门经理的长方形里面还有两个竖线代表的是弱实体,没有竖线的是强实体
- 实体:客观存在并可相互区别的事物。可以是具体的人、事、物或抽象概念。如人、汽车、图书、账户、贷款。
- 弱实体和强实体:弱实体依赖于强实体的存在而存在。
- 实体集:具有相同类型和共享相同属性的实体的集合,如学生、课程。
- 属性:实体所具有的特性。
- 属性分类:简单属性和复合属性;单值属性和多值属性;NU儿L属性;派生属性(可以通过其他属性运算出来比如年龄可以根据出生日期)。
- 域:属性的取值范围称为该属性的域。
- 码(key):唯一标识实体的属性集。
- 联系:现实世界中事物内部以及事物之间的联系,在E-R图中反映为实体内部的联系和实体之间的联系。
- 一对一(1:1)
- 一对多(1:N)
- 多对多(M:N)
关系模型
关系模型中数据的逻辑结构是一张二维表,由行列组成。用表格结构表达实体集,用外键标识实体间的联系。如下图:
- 优点:建立在严格的数学概念基础上;概念单一、结构简单、清晰,用户易懂易用;存取路径对用户透明,从而数据独立性、安全性好,简化数据库开发工作。
- 缺点:由于存取路径透明,查询效率往往不如非关系数据模型。
E-R图转换为关系模型
E-R模型转换为关系模型:E-R图是全局的设计概念,不适合进行计算机处理,为了适应关系数据库的处理,必须将E-R图转为关系模型。
E-R图是由实体、属性和联系三要素组成,而关系模型只有一个结构,所以我们使用以下方式进行转换:每个实体都对应一个关系模型,实体名对应关系模型中的名称,实体属性对应关系模型的属性,实体标识符(联系)对应关系模型的码。
E-R图的联系分为三种。
- 1:1联系:联系可以放到任意的两端实体中,作为一个属性(要保证1:1的两端关联),也可以转换为一个单独的关系模式;
- 1:N联系:联系可以单独作为一个关系模式,也可以在N端中加入1端实体的主键:
- M:N联系:联系必须作为一个单独的关系模式,其主键是M和N端的联合主键
练习题
某本科高校新建教务管理系统,支撑各学院正常的教学教务管理工作。经过初步分析,系统中包含的实体有学院、教师、学生、课程等。考虑需要将本科学生的考试成绩及时通报给学生家长,新增家长实体;考虑到夜大、网络教育学生管理方式的不同,需要额外的管理数据新增进修学生实体:规定一个学生可以选择多门课程,每门课程可以被多名学生选修;一个教师可以教授多门课程,一门课程只能被一名教师讲授。()实体之间为多对多联系,()属于弱实体对强实体的依赖联系。
A、学生、学院
B、教师、学院
C、学生、课程
D、教师、课程
A、家长、学生
B、学生、教师
C、学生、学院
D、教师、学院
答案C A
部门、员工和项目的关系模式及它们之间的E-R图如下所示,其中关系模式中带实下划线的属性表示主键属性。图中:
- 部门(部门代码,部门名称,电话)
- 员工(员工代码,姓名,部门代码,联系方式,薪资)
- 项目(项目编号,项且名称,承担任务)
若部门和员工关系进行自然连接运算,其结果为0元关系。由于员工和项目之间的联系类型为0,所以员工和项目之间的联系需要转换成一个独立的关系模式,该关系模式的主键是)。
A.5
B.6
C.7
D.8
A.1对1
B.1对多
C.多对1
D.多对多
A.(项目名称,员工代码)
B.(项目编号,员工代码)
C.(项目名称,部门代码)
D.(项目名称,承担任务)
答案C D B
部门表+员工表-相同的属性:3+5-1