逻辑模型设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.了解关系模型的基本概念; 2. 理解关系数据库的概念; 3. 掌握函数依赖、范式的定义; 4. 理解关系模式规范化的意义; 5. 熟练掌握模式分解的方法; 6. 熟练掌握E-R图向关系数据模型转换
的规则和方法。
B
3
项目3 逻辑模型设计
任务1 逻辑模型基础知识 任务2 关系数据库理论 任务3 概念模型向关系模型的转换 任务4 数据库逻辑结构设计 实训4 逻辑模型设计
– 若Di(i=1,2,…,n)为有限集,其基数 为 mi ( i = 1 , 2 , … , n ) , 则 D1×D2×…×Dn的基数M为:
n
M mi i 1
在上例中,基数:2×2×3=12,即 D1×D2×D3共有2×2×3=12个元组
B
29
(2) 笛卡尔积(Cartesian Product)
B
6
任务1 逻辑模型基础知识
不同的数据模型具有不同的数据结 构形式。数据库系统中最常使用的数据 模型是层次模型、网状模型和关系模型。 非关系模型
– 层次模型(Hierarchical Model) – 网状模型(Network Model )
B
7
任务1 逻辑模型基础知识
关系模型(Relational Model)
11
(1) 关系模型的基本概念
– 主码(Key)
表中的某个属性组,它可以唯一确定一个元组。
– 域(Domain)
属性的取值范围。
– 分量(Element)
元组中的一个属性值。
– 关系模式(Relation mode) 对关系的描述 关系名(属性1,属性2,…,属性n)
学生(学号,姓名,年B 龄,性别,系,年级) 12
(d1,d2,…,dn )≠(d2,d1,…,dn )
但关系满足交换律,即
(d1,d2 ,…,di ,dj ,…,dn)=(d1,d2 ,…,dj, di ,…,dn) (i,j = 1,2,…,n)
解决方法:为关系的每个列附加一个属性名以取
消关系元组的有序性
B
33
(3) 关系(Relation)
本课程的重点
B
9
一、关系数据模型的数据结构
在用户观点下,关系模型中数据的逻辑结构是一张二 维表,它由行和列组成。
学生登记表
属性
元组
学号 2005004 2005006 2005008

姓名 王小明 黄大鹏 张文斌

年龄 性别
19

20

18



B
系名 社会学 商品学
法律 …
年级 2005 2005 2005
– 数据结构:表
面向对象模型(Object Oriented Model)
– 数据结构:对象
B
8
1.1 关系模型
最重要的一种数据模型。也是目前主要采用的 数据模型,关系数据库系统采用关系模型作为 数据的组织方式,现在流行的数据库系统大都 是关系数据库系统。
1970年由美国IBM公司San Jose研究室的研究 员E.F.Codd提出
– ORACLE
– SYBASE
– INFORMIX
– DB/2
– COBASE
– PBASE
– EasyBase
– DM/2
– OpenBase
B
21
信息的三种世界术语的对应关系表
现实世界 实体 特征
实体集 实体间的联系
信息世界 实例 属性
对象或实体型 对象间的联系
概念模型
B
Байду номын сангаас
计算机世界 记录
数据项 数据或文件 数据间的联系
1) 关系
D1×D2×…×Dn 的 子 集 叫 作 在 域 D1 , D2 , … , Dn上的关系,表示为 R(D1,D2,…,Dn)
R:关系名 n:关系的目或度(Degree)
B
32
(3) 关系(Relation)
注意
关系是笛卡尔积的有限子集。无限关系在数据库 系统中是无意义的。
由于笛卡尔积不满足交换律,即
(1) 关系模型的基本概念
表1.2 术语对比
关系术语 关系名
关系模式 关系 元组 属性
属性名 属性值
分量 非规范关系
一般表格的术语
表名
表头(表格的描述)
(一张)二维表
记录或行

列名
列值
一条记录中的一个列值
表中有表(大表中嵌有小表)
B
13
(1) 关系模型的基本概念
❖ 关系的等价术语之间的对应关系
一般用户 表(Table) 行(Row) 列(Column)
当 n=2 时 , 称 该 关 系 为 二 元 关 系 ( Binary
relation)。
B
35
(3) 关系(Relation)
4) 关系的表示
关系也是一个二维表,表的每行对应一 个元组,表的每列对应一个域。
SUPERVISOR 张清玫 张清玫 刘逸
表2.2 SAP关系
SPECIALITY 信息专业 信息专业 信息专业
若关系中的某一属性组的值能唯一地标识一个元组, 则称该属性组为候选码,在有多个后选码时可以选 一个作为主码。
在最简单的情况下,候选码只包含一个属性。 在最极端的情况下,关系模式的所有属性组 是这个关系模式的候选码,称为全码(All-key)
B
38
(3) 关系(Relation)
码(续)
主码 若一个关系有多个候选码,则选定其中一个 为主码(Primary key) 主码的诸属性称为主属性(Prime attribute)。 不包含在任何侯选码中的属性称为非主属性 (Non-key attribute)
域是一组具有相同数据类型的值的集合。
–例 • 整数 • 实数 • 介于某个取值范围的整数 • 长度指定长度的字符串集合 • {‘男’,‘女’} • 介于某个取值范围的日期
B
25
(2) 笛卡尔积(Cartesian Product)
1) 笛卡尔积
给定一组域D1,D2,…,Dn,这些域中可以 有相同的。D1,D2,…,Dn的笛卡尔积为:
B
17
3.关系模型的存储结构
关系数据模型的存储结构
表以文件形式存储
有的DBMS一个表对应一个操作系统文 件
有的DBMS自己设计文件结构
B
18
4.关系模型的优缺点
优点
– 建立在严格的数学概念的基础上;
– 概念单一;数据结构简单、清晰,用户易懂 易用;
• 实体和各类联系都用关系来表示。 • 对数据的检索结果也是关系。
– 关系模型的存取路径对用户透明
• 具有更高的数据独立性,更好的安全保密性
• 简化了程序员的工作和数据库开发建立的工作
B
19
4.关系模型的优缺点
缺点
存取路径对用户透明导致查询效率往往不如非 关系数据模型
为提高性能,必须对用户的查询请求进行优化 增加了开发数据库管理系统的难度
B
20
5. 典型的关系数据库系统
2) 元组(Tuple)
– 笛卡尔积中每一个元素(d1,d2,…,dn)叫作一 个n元组(n-tuple)或简称元组。 例
3) 分量(Component)
– 笛卡尔积元素(d1,d2,…,dn)中的每一个值di叫 作一个分量。
B
28
(2) 笛卡尔积(Cartesian Product)
4) 基数(Cardinal number)
例如在表2.1 的笛卡尔积中取出有实际意义的元组 来构造关系
关系:SAP(SUPERVISOR,SPECIALITY,POSTGRADUATE)
– 关系名,属性名 假设:导师与专业:1:1(即一个导师只能对一个专业),
导师与研究生:1:n(一个研究生只能遵从一个导师) 于是:SAP关系可以包含三个元组
B
15
2.关系操作和关系的完整性约束条件
数据操作由查询、插入、删除、更新
数据操作是集合操作,操作对象和操作 结果都是关系,即若干元组的集合。
存取路径对用户隐蔽,用户只要指出 “干什么”,不必详细说明“怎么干”。
B
16
2.关系操作和关系的完整性约束条件
关系模型的完整性约束
实体完整性
参照完整性
用户定义的完整性
{ (张清玫,信息专业,李勇), (张清玫,信息专业,刘晨), (刘逸,信息专业,王敏) }
B
34
(3) 关系(Relation)
2) 元组
关系中的每个元素是关系中的元组, 通常用t表示。
3) 单元关系与二元关系
当 n=1 时 , 称 该 关 系 为 单 元 关 系 ( Unary relation)。
B
39
(3) 关系(Relation)
7) 三类关系(或称三类表)
基本关系(基本表或基表)
实际存在的表,是实际存储数据的逻辑表示
查询表
查询结果对应的表
视图表
由基本表或其他视图表导出的表,是虚表,不对 应实际存储的数据
B
40
(4)数据库中基本关系的性 质
关系模型 关系(Relation) 实体(Entity) 属性(Attribute)
程序员 文件(File) 记录(Record) 字段(Field)
B
14
(2) 关系模型中的数据全部用关系表示
– 在关系模型中,实体集以及实体间的联系都 是用关系来表示。
例如,关系模型中,学生、课程、学生与课程 之间的联系表示为: 学生(学号,姓名,性别,年龄,所在系); 课程(课程号,课程名,先行课); 选修(学号,课程号,成绩)。
数据模型
22
1.2 关系数据库的基本概念
1.关系数据结构 2.关系操作概述 3.关系的完整性
B
23
1.关系数据结构
在关系模型中,无论是实体集,还 是实体集之间的联系均由单一的关系表 示。由于关系模型是建立在集合代数基 础上的,因而一般从集合论角度对关系 数据结构进行定义。
B
24
(1)域(Domain)

10
(1) 关系模型的基本概念
– 关系(Relation)
一个关系对应通常说的一张表。
– 元组(Tuple)
表中的一行即为一个元组。存放的是客观世界的 一个实体,如表Student关系中的一行,存放的 是一个学生的数据 。
– 属性(Attribute)
表中的一列即为一个属性,给每一个属性起一
个名称即属性名。 B
D1×D2×…×Dn = { ( d1 , d2 , … , dn ) | diDi,i=1,2,…,n}
– 所有域的所有取值的一个组合 – 不能重复
B
26
(2) 笛卡尔积(Cartesian Product)
例2-1 给出三个域:
D1=SUPERVISOR ={ 张清玫,刘逸 } D2=SPECIALITY={计算机专业,信息专业} D3=POSTGRADUATE={李勇,刘晨,王敏} 则D1,D2,D3的笛卡尔积为: D1×D2×D3 = {(张清玫,计算机专业,李勇),(张清玫,计算机专业,刘晨),
B
POSTGRADUATE 李勇 刘晨 王敏
36
(3) 关系(Relation)
5) 属性
关系中不同列可以对应相同的域,为了加以 区分,必须对每列起一个名字,称为属性 (Attribute)。
n目关系必有n个属性。
B
37
(3) 关系(Relation)
6) 码
候选码(Candidate key)
SP E C IA L IT Y 计算机专业 计算机专业 计算机专业 信息专业 信息专业 信息专业 计算机专业 计算机专业 计算机专业 信息专业 信息专业 信息专业
B
PO ST G R A DU AT E 李勇 刘晨 王敏 李勇 刘晨 王敏 李勇 刘晨 王敏 李勇 刘晨 王敏 31
(3) 关系(Relation)
项目3 逻辑模型设计
数据库设计的步骤:
1. 需求分析 2. 概念结构设计 3. 逻辑结构设计 4. 数据库的物理设计 5. 数据库实施 6. 数据库运行与维护
B
1
数据库三级模式结构
❖不同的人员涉及不同的数据抽象级别,具有不同的数 据视图,如下图所示
各种B人员的数据视图
2
项目3 逻辑模型设计
学习目标:
(张清玫,计算机专业,王敏),(张清玫,信息专业,李勇),
(张清玫,信息专业,刘晨),(张清玫,信息专业,王敏),
(刘逸,计算机专业,李勇),(刘逸,计算机专业,刘晨),
(刘逸,计算机专业,王敏),(刘逸,信息专业,李勇),
(刘逸,信息专业,刘晨),(刘逸,信息专业,王敏) }
B
27
(2) 笛卡尔积(Cartesian Product)
B
4
任务1 逻辑模型基础知识
1.1 关系模型概述 1.2 关系数据库的基本概念
B
5
任务1 逻辑模型基础知识
E-R图表示的概念模型是用户数据要求的形式化。 E-R图独立于任何一种数据模型,它也不为任何一 个DBMS所支持。逻辑结构设计的任务就是把概念 模型结构转换成某个具体的DBMS所支持的数据模 型,并将其性能进行优化。
5)笛卡尔积的表示方法
– 笛卡尔积可表示为一个二维表。表中的每行 对应一个元组,表中的每列对应一个域。
在上例中,12个元组可列成一张二维表
B
30
表 2.1 D 1, D 2, D 3 的 笛 卡 尔 积
SUPE R VISO R 张清玫 张清玫 张清玫 张清玫 张清玫 张清玫 刘逸 刘逸 刘逸 刘逸 刘逸 刘逸
相关文档
最新文档