第2章 数据模型与数据库系统结构
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.3 组织层数据模型
由于计算机不能直接处理现实世界中的具体情况, 所以必须包具体事物转换称计算机能够处理的数据。在 数据库中用数据模型这个工具来抽象、表示和处理现实 世界中的数据和信息。通俗地讲,数据模型就是现实世 数据模型就是现实世 界的模拟。 界的模拟。 数据模型应满足三个方面的要求: (1)比较真实的模拟现实世界; 比较真实的模拟现实世界; 比较真实的模拟现实世界 (2)容易为人们理解; )容易为人们理解; (3)便于计算机表达。 )便于计算机表达。
第2章 数据模型与数据库系统结构
A B A B A B
实体型 A 1 联系名 1 实体型 B (a)
实体型 A 1 联系名 n 实体型 B (b)
实体型 A m 联系名 n 实体型 B (c)
两个实体集之间的联系 两个实体集之间的联系 (a)一对一联系;(b)一对多联系;(c)多对多联系 一对一联系; 一对多联系 一对多联系; 多对多联系 一对一联系
称专业号是学生关系的外码
第2章 数据模型与数据库系统结构
学生 (学号,姓名,…) 学号,姓名, )
修课
课程 (课程号,课程名, …) 课程号,课程名, )
(学号 课程号 成绩 …) 学号, 课程号, 成绩, 学号 称学号、课程号分别是修课关系的外码 参照完整性规则就是定义外键与主键之间的引用规则。 参照完整性 对于外键,一般应符合如下要求: ―或者值为空; 或者值为空; 或者值为空 ―或者等于其所应用的关系中的某个元组的主键值。 或者等于其所应用的关系中的某个元组的主键值。 或者等于其所应用的关系中的某个元组的主键值
第2章 数据模型与数据库系统结构
2.1 数据模型
计算机系统不能直接处理现实世界,必须先调查、研 究现实世界,归纳出一个在研究范围内能反映现实世界的 模拟世界——信息世界,然后,才能对所得到的信息世界进 行数据化。这样计算机系统才能处理这些代表现实世界的 数据。
现实世界(事物、事物性质) 抽 象 化 信息世界(实体、实体属性) 数 据 化 数据世界(记录、数据项) DBMS支持的数 据模型描述 概念模型描述
第2章 数据模型与数据库系统结构
数据库系统概论
An Introduction to Database Systems 第二章 数据模型与数据库系统结构
第2章 数据模型与数据库系统结构
数据模型与数据库系统结构 第二章 数据模型与数据库系统结构
2.1 数据模型 2.2 概念层数据模型 2.3 组织层数据模型 2.4 数据库系统结构 2.5 数据库管理系统 2.6 用户访问数据库的过程
三个世界的联系
第2章 数据模型与数据库系统结构
一、模型的分类 ):将现实世界的事物及 (1)概念层数据模型(信息模型):将现实世界的事物及 )概念层数据模型(信息模型): 其联系抽象成信息世界的信息模型。 其联系抽象成信息世界的信息模型。此模型是按用户的观点 来对数据和信息进行建模。 (2)组织层数据模型:将信息模型抽象为计算机世界的数 组织层数据模型: 据模型。从数据的组织层次来描述数据,主要包括层次模型、 据模型。 网状模型、关系模型以及对象网状模型、关系模型以及对象-关系模型。此模型是从计算 机系统的观点对数据进行建模,主要用于DBMS的实现。 机系统的观点对数据进行建模,主要用于DBMS的实现。 概念层模型与DBMS无关, 概念层模型与DBMS无关, DBMS无关 组织层模型与DBMS有关。 组织层模型与DBMS有关。 DBMS有关
第2章 数据模型与数据库系统结构
2.2 概念层数据模型
一、概念层数据模型中的基本概念 1.实体(Entity) 可区分的客观事物。 .实体 例如:一个学生、一门课、学生的一次选课等。 2.属性 .属性(Attribute) 干个属性来刻画。 事物某方面的性质。一个实体可由若
例如:学生(学号 姓名 年龄 性别 系 班级 年级) 学生选课(学号 课程号 成绩) 3.域(Domain) 属性的取值范围。 . 例如:性别的域为(男、女) 姓名的域定为4个汉字长的字符串 职工号定为7位整数等。
第2章 数据模型与数据库系统结构
一、组织层数据模型的三要素 1、数据结构 数据结构用于描述系统的静态特性,研究与数据类型、 内容、性质有关的对象,例如关系模型中的域、属性、关系 等。 2、数据操作 指对数据库中各种对象的实例允许执行的操作的集合。 指对数据库中各种对象的实例允许执行的操作的集合。 数据库主要有检索和更新(包括插入、删除、修改)两大类 操作。数据模型必须定义这些操作的确切含义、操作符号、 操作规则(如优先级)以及实现操作的语言。
队 员 1 n 场上队长
职
工
1
领 导
n
同一实体集内一对多联系
第2章 数据模型与数据库系统结构
(3)多个实体集之间的联系 ) 课 1 m 教 员 讲授 n 参考书 n 项 目 程 供应商 m 供应 p 零 件
三个实体型之间一对多联系
三个实体型之间多对多联系
第2章 数据模型与数据库系统结构
二、概念层数据模型的表示方法 实体-联系方法 实体 联系方法(Entity-Relationship Approach),该方 联系方法 法用E-R图来描述现实世界的概念模型, E-R方法也称为ER模型。 实体型:用矩形表示,矩形框内写明实体名。 实体型:用矩形表示,矩形框内写明实体名。 属性:用椭圆形表示, 属性:用椭圆形表示,并用无向边把其与相应的实体 连接起来。 连接起来。 联系:用菱形表示,菱形框内写明联系名,并用无向 联系:用菱形表示,菱形框内写明联系名, 边分别与有关实体相连接,在无向边旁标上联系的类型。 边分别与有关实体相连接,在无向边旁标上联系的类型。 注意的是:联系本身也是一种实体型,也可以有属性。如果一 注意 个联系具有属性,则这些属性也要用无向边与该联系连接 起来。
第2章 数据模型与数据库系统结构
三、关系模型 关系模型由数据结构 关系操作集合 完整性约束三部分组成。 关系模型 数据结构、关系操作集合 完整性约束 数据结构 关系Biblioteka Baidu作集合和完整性约束 1、关系数据模型的数据结构 、关系数据模型的数据结构 在用户看来,一个关系模型的逻辑结构是一张二维表, 它由行和列组成。表中的一行即为一个元组;表中的一列即 为一个属性。
第2章 数据模型与数据库系统结构
(2)参照完整性 ) 参照完整性是指实体(表)之间的关联关系。在关系 数据库中用外键来实现参照完整性。外键出现在联系所对 应的关系中,用于表示两个或多个实体之间的关联关系。 外键实际上是表中的一个(或多个)属性,它引用某 个其他表(特殊情况下,也可以是外键所在的表)的主键。 学生 (学号 姓名 专业号 …) 学号, 姓名, 专业号, 学号 属于 专业 (专业号,专业名) 专业号,专业名)
第2章 数据模型与数据库系统结构 1
班级
任职 1:1联系 : 联系
1
班长
员工 1 n 领导
班级
1
隶属 1:n联系 : 联系
n
学生
同一实体1: 联系 同一实体 :n联系 学生
课程
m
选课
n
学生
教学 课程 三个实体联系
教室
m:n联系 : 联系
第2章 数据模型与数据库系统结构
学号
姓名 学生
性别
出生年月
实体及其属性图 编号 生日 姓名 员工 职务
第2章 数据模型与数据库系统结构
7.联系(Relationship) 实体内部的联系和实体之间的联系 .联系 (1)两个实体集之间的联系 )两个实体集之间的联系可归纳为以下三类: 1)一对一联系(1∶1) 如果对于实体集A中的每一个实 )一对一联系 ∶ 体,实体集B中至多有一个实体与之联系,反之亦然,则称 实体集A与实体集B具有一对一联系。记为1:1。 2)一对多联系(1∶n) 如果对于实体集A中的每一个实 )一对多联系 ∶ 体,实体集B中有n个实体(n≥0)与之联系,反之,对于实 体集B中的每一个实体,实体集A中至多只有一个实体与之 联系,则称实体集A与实体B有一对多联系。记为1:n。 3)多对多联系(m∶n) 如果对于实体集A中的每一个实 )多对多联系 ∶ 体,实体集B中有n个实体(n≥0)与之联系,反之亦然,则 称实体集A与实体B具有多对多联系。
1
部门编号
n
名称
部门 部门领导
工作 参加工作时间 实体及其联系图
第2章 数据模型与数据库系统结构
例:用E--R图表示教师学生课程的实体模型。 成绩 学号 姓名 系名 学生 年龄 性别 n 选 课 课程名 m 学时数 课程号 课 程
教师编号 教 师 教师名 年龄 职称 教材名 m 讲 课
n
教室
第2章 数据模型与数据库系统结构
第2章 数据模型与数据库系统结构
3、 数据的约束条件 完整性规则的集合。 完整性规则的集合。完整性规则是给定的数据模 型中数据及其联系所具有的制约和储存规则,用以限 定符合数据模型的数据库状态以及状态的变化,以保 证数据的正确、有效、相容。此外,数据模型还应该 提供定义完整性约束条件的机制。 二、常用的数据模型 ·层次模型 层次模型(Hierarchical Model); 层次模型 ; ·网状模型 网状模型(Network Model); 网状模型 ; ·关系模型 关系模型(Relational Model); 关系模型 ; ·面向对象模型 面向对象模型(Object Oriented Model)。 面向对象模型 。 非关系模型
第2章 数据模型与数据库系统结构
例如:在足球世界杯比赛中,球队集与场上队长集之 间对于代表关系来说,具有一对一的联系;主教练集与队 员集之间对于指导关系来说,具有一对多的联系;裁判集 与队员集之间对于执法关系来说,具有多对多的联系。 (2)同一实体集内的各实体之间的联系 ) 例如:场上队长与队员之间具有一对多的领导关系 职工与领导之间具有一对多的领导关系
第2章 数据模型与数据库系统结构
3、关系数据模型的完整性约束 、 关系模型提供了丰富的完整性控制机制,允许定义三 类完整性:实体完整性 参照完整性 用户定义的完整性 实体完整性、参照完整性 用户定义的完整性。 实体完整性 参照完整性和用户定义的完整性 其中实体完整性和参照完整性是关系模型必须满足的完整 性约束条件,应该由关系系统自动支持。 (1)实体完整性 ) 实体完整性指的是关系数据库中所有的表都必须有主键。 而且表中不允许存在如下的记录: – 无主键值的记录 – 主键值相同的记录
学号 98001 98002 98003 98004 姓名 李勇 刘利 张力 杨小东 性别 男 女 男 男 院系 计算机科学 信息科学 计算机科学 物理 籍贯 江苏 四川 广东 浙江
第2章 数据模型与数据库系统结构
关系: 关系:关系就是二维表,它满足如下性质: 关系表中的每一列都是不可再分的基本属性。 关系表中的每一列都是不可再分的基本属性。 表中各属性不能重名。 表中各属性不能重名。 表中的行、列次序并不重要。 表中的行、列次序并不重要。 元组: 元组:表中的一行即为一个元组; 属性: 属性:表中的一列即为一个属性; 主码(Key): 主码(Key):表中的某个属性组,它可以唯一确定一个元组; (Key) ; 例:学生基本信息表:(学号,姓名,年龄,性别,所在系) 学生修课信息表:(学号,课程号,成绩) Domain): ):属性的取值范围; 域(Domain): 分量: 分量:元组中的一个属性值; 关系模式: 关系模式:对关系的描述,常表示为:关系名(属性1,属 性2,…,属性n)
第2章 数据模型与数据库系统结构
2、关系数据模型的数据操作 、关系数据模型的数据操作 关系操作采用集合操作方式,即操作的对象和结果都 是集合。这种操作方式也称为一次一集合的方式 。 关系数据模型的数据操作主要包括四种:查询、插入、 查询、 查询 插入、 删除和修改 修改数据。 删除 修改 关系数据库标准操作语言是SQL语言 关系数据语言可 语言。关系数据语言可 语言 以分为三类: 以分为三类:
第2章 数据模型与数据库系统结构
4.实体型(Entity Type) 具有相同属性的实体具有共同的特 .实体型 征和性质,用实体名和属性来表示。 例如:职工(职工号,姓名,性别,年龄,职称,部门) 学生(学号,姓名,年龄,性别,系,班级,年级) 学生选课(学号,课程号,成绩) 5.实体集(Entity Set) 同型实体的集合。 .实体集 例如:全体学生 6.码(Key) :唯一标识实体的属性集。 . 例如:学生实体的码是学号 学号。 学号 学生选课实体的码是学号,课程号 学号, 学号