第5章 数据库设计

合集下载

数据库5章数据库设计

数据库5章数据库设计

E-R图向关系模型的转换:
码原则:
一个实体型转换为一个关系模式:实体的属性就是关系的 属 性,实体的码就是关系的码。
一个联系转换为一个关系模式:与该联系相连的各实体的码以 及联系的属性转换为该关系的属性。该关系的码有五种情况:
若联系是1:1:则每个实体的码均是该关系的候选码。 若联系是1:n:则关系的码是n端实体的码。 若联系是m:n:则关系的码是参加联系的诸实体的码的集合。 若联系是三个或三个以上的实体的一个多元联系可以转换为一个关系模
① 确定局部E-R图实体之间的函数依赖。 ② 求F的最小依赖集Fm,求其差集,即
D=F-Fm ③ 逐一考察D中每一函数依赖,确定是否为冗余,若是,就把 它去掉。
5.4 逻辑结构设计
任务:将基本E-R模型转换为DBMS所支持的数据模型。 关系型逻辑结构设计的步骤:
1) 将概念结构转换为关系模型 2) 优化模型 3) 设计适合DBMS的子模式
第五章 数据库设计
5.1 数据库设计概述 5.2 需求分析 5.3 概念结构设计 5.4 逻辑结构设计 5.5 数据库物理设计
数据库技术的研究领域
数据库管理系统软件的研制(×)
DBMS的研制包括DBMS本身以及以DBMS为核心的饿一组相互联系的软 件系统。目标是扩大功能、提高性能和用户的生产率。
5.2 需求分析
5.数据库应用系统的数据字典 包括:
数据项 数据结构 数据流 数据存储 处理过程
5.2 需求分析
例:下图给出了某机器制造厂的零配 件采购子系统的数据流图。该子系统 要处理的工作是生产部门提出的生产 计划根据零配件当前价格计算成本送 主管部门审批,对已批准生产计划制 定采购计划,准备好订货单给供应商。

数据库技术及应用课程第5章教案

数据库技术及应用课程第5章教案
(2)基于函数依赖理论的模式求精步骤为:①确定函数依赖;②确定模式所属范式;③分析是否满足应用需求;④模式分解;⑤模式合并。
思考与创新
(1)结合大作业的逻辑设计部分,判断自己设计的关系模式是否满足规范化理论要求。
(2)如果不满足,要求设计出规范化理论要求的关系模式。
课后习题
讨论:选出两个数据库设计大作业(优劣对比),并分别对其关系模式设计部分进行模式求精。
教学小结
(1)一个“好”的关系模式应该是:
数据冗余应尽可能少。
不发生插入异常、删除异常、更新异常等问题。
模式分解时,分解后的模式应具有无损连接和保持依赖等特性。
(2)函数依赖是关系模式中属性之间存在的一种约束关系。
思考与创新
(1)结合大作业的逻辑设计部分,判断自己设计的关系模式是否存在大量数据冗余问题和分解不正确而带来的有损连接或不保持依赖关系的问题。
使学生会”用”数据库,具有较强的数据库设计、数据库系统管理和应用开发能力,能够灵活运用数据库技术解决实际应用问题,并能够成为数据库设计员。
教学内容
(1)规范化理论:1NF、2NF、BNCF范式、3NF基本概念。
(2)模式分解算法:BCNF分解算法和3NF分解算法。
(3)数据库模式求精:运用关系理论对已有关系模式进行结构调整、分解、合并和优化,以满足应用系统的功能及性能等需求。基于函数依赖理论的模式求精步骤为:①确定函数依赖;②确定模式所属范式;③分析是否满足应用需求;④模式分解;⑤模式合并。
第1讲问题及函数依赖理论
任课教师
刘爱红
单位
信息学院
上课地点
2501
教学目的
(1)掌握判断并设计一个好的关系模式的基本原则和方法。
(2)熟练掌握函数依赖理论。

数据库原理及应用第5章

数据库原理及应用第5章


表(a)
表(b)


系 数
A
B
C
D
A
B
C
D

• A →AB1在表(a)关B系1 上成立,C但1 A →B在D表1(b)关系上不A成1 立。 B1
C1
D1


A1
B1
C2
D2
A1
B2
C2
D2

A2
B2
C3
D3
A2
B2
C3
D3


A3
B2
C4
D4
D4
A3
B1
C4


14
函数依赖(续)



• 定义5.2

F




P
传递
17
函数依赖(续)

例: 在关系SC(Sno, Cno, Grade)中,

由于: Sno Grade, Cno Grade,

因此: (Sno, Cno) Grade
但:
F

(Sno, Cno) Sno, (Sno, Cno) Cno


例: 在关系Std(Sno, Sdept, Mname)中, 有:

章 • 练习:已知R(ABCD),F={B→C,D →A,BD →ABCD},求R的候选码。
B ABCD, D ABCD, BD ABCD

所以,R的候选码为BD
系 数 据 库
• 例: 全码
F
考虑关系模式R(P,W,A)
– 其中: P—演奏者, W—作品, A—听众

第5章数据库窗体

第5章数据库窗体

5.1.5 控件(创建控件的方法)
2.创建控件的方法 (1)在基于记录源的窗体中,可以通过从字段列
表中拖动字段来创建控件。其中的字段列表是列出了 基础记录源或数据库对象中的全部字段的窗口。
(2)通过单击工具箱中某一控件按钮来直接创建 控件。
(3)在确保工具箱中的“控件向导”按钮按下后, 通过单击工具箱中某一控件按钮,并使用该控件向导 (当Access对该控件提供有控件向导时才可以使用该 控件向导)来创建控件。
在数据透视表视图中,可以动态地更改窗体的版面,从而 以各种不同方法分析数据。可以重新排列行标题、列标题和筛选 字段,直到形成所需的版面布置为止。每次改变版面布置时,窗 体会立即按照新的布置重新计算数据。 (5)数据透视图视图
在数据透视图视图中,可以动态地更改窗体的版面,从而 以各种不同方法分析数据。可以重新排列行标题、列标题和筛选 字段,直到形成所需的版面布置为止。每次改变版面布置时,窗 体会立即按照新的布置重新计算数据并显出对应的图表。
窗体属性决定窗体的结构、外观和行为。控件属 性决定控件的结构、外观和行为,以及其中所含文本 或数据的特性。
使用某一对象的“属性”对话框可以设置其属性。 在选定了窗体、节或控件后,单击工具栏中的“属性” 按钮,可以打开其“属性”对话框。
一般来说,Access 对各个属性都提供了相应的 默认值或空字符串,用户在打开某个对象的“属性” 对话框后,可以重新设置该对象的任一属性值。
页面页脚只出现在打印窗体中。 (5)窗体页脚节 窗体页脚节显示对每条记录都一样的信息,如命令按钮或有
关使用窗体的指导。打印时,窗体页脚出现在最后一个打印页的 最后一个主体节之后,最后一个打印页的页面页脚之前。
5.1.3 窗体的视图类型

《MySQL数据库原理、设计与应用》第5章课后习题答案

《MySQL数据库原理、设计与应用》第5章课后习题答案

第五章一、填空题1.逗号或,2. 33.FLOOR(3+RAND()*(11-3+1))或FLOOR(3+RAND()*9)4.NULL5.ON DUPLICATE KEY二、判断题1.错2.对3.错4.对5.对三、选择题1. D2. B3. D4. A5. C四、简答题1.请简述DELETE与TRUNCA TE的区别。

答:①实现方式不同:TRUNCATE本质上先执行删除(DROP)数据表的操作,然后再根据有效的表结构文件(.frm)重新创建数据表的方式来实现数据清空操作。

而DELETE语句则是逐条的删除数据表中保存的记录。

②执行效率不同:在针对大型数据表(如千万级的数据记录)时,TRUNCATE清空数据的实现方式,决定了它比DELETE语句删除数据的方式执行效率更高。

③对AUTO_INCREMENT的字段影响不同,TRUNCATE清空数据后,再次向表中添加数据,自动增长字段会从默认的初始值重新开始,而使用DELETE语句删除表中的记录时,则不影响自动增长值。

④删除数据的范围不同:TRUNCATE语句只能用于清空表中的所有记录,而DELETE语句可通过WHERE指定删除满足条件的部分记录。

⑤返回值含义不同:TRUNCATE操作的返回值一般是无意义的,而DELETE语句则会返回符合条件被删除的记录数。

⑥所属SQL语言的不同组成部分:DELETE语句属于DML数据操作语句,而TRUNCA TE通常被认为是DDL数据定义语句。

2.请简述WHERE与HA VING之间的区别。

1答:①WHERE操作是从数据表中获取数据,用于将数据从磁盘存储到内存中,而HA VING是对已存放到内存中的数据进行操作。

②HA VING位于GROUP BY子句后,而WHERE位于GROUP BY 子句之前。

③HA VING关键字后可以跟聚合函数,而WHERE则不可以。

通常情况下,HA VING关键字与GROUPBY一起使用,对分组后的结果进行过滤。

大学计算机教程第六版 第5章数据库技术应用

大学计算机教程第六版 第5章数据库技术应用

3.连接运算(Join简记为JN)
连接是从关系R与S的笛卡尔积中,选取R的第i 个属性值和S的第j个属性值之间满足一定条件表达 式,构成关系子集。
关系R与T作θ连接。如表5.13和表5.14所示。
5.6.1 数据库设计理论的应用 数据库数据相关性称为数据依赖。数据依赖主
要分为内在关系的函数依赖(简记FD)和多值依赖 (简记MVD)。
把关系看成一个集合,集合运算如并、交、差、 笛卡尔积等运算,均可用到关系运算中。
设有三个关系实例R、S和T,如表5.6所示。
关系R和S的并是由属于R或S或同时属于R和S的 元组组成的集合,记为R∪S,如表5.7所示。
2. 差运算(Difference)
关系R和S的差是由属于R而不属于S的所有元组 组成的集合,记为R-S,如表5.8所示。
3. 交运算(Intersection)
关系R和S交是由同时属于R和S的元组组成的集 合,记为R∩S,如表5.9所示。
4. 笛卡尔积
关系R和S的笛卡尔积R×S的结果如表5.10所 示。
1.选择运算(Selection 简记为SL)
选择条件用F表示,在关系R中挑选满足条件F的 所有元组,组成一个新的关系,这个关系是关系R 的一个子集,记为:
设D1,D2,…Dn为n个集合,称D1×D2×…×Dn={(d1, d2, …dn)∈Di,(i=1,2, …n)}为集合D1,D2,…Dn 的笛卡尔积。
其中,Di(i=1,2,…n)可能有相同的,称它们为域, 域是值的集合。
笛卡尔积可表示为一个二维表。如果给出三个域:
D1={王欣,刘伟平} D2={张德君,李波} D3={网络技术应用,数据库原理} 则D1,D2,D3的笛卡尔积为D1×D2×D3={ (王欣,张德君,网络技术应用),(王欣,张德君,数据库原理), (王欣,李波,网络技术应用),(王欣,李波,数据库原理),(刘 伟平,张德君,网络技术应用),(刘伟平,张德君,数据库原理), (刘伟平,李波,网络技术应用),(刘伟平,李波,数据库原理)}

数据库系统概论第五版PDF

数据库系统概论第五版PDF

数据库系统概论第五版PDF简介《数据库系统概论第五版PDF》是一本介绍数据库系统的入门教材,旨在帮助读者理解数据库系统的基本概念、原理和应用。

本书由柯里斯·李(Morris R. Li)和布鲁斯·斯图尔特(Bruce G. Lindsay)合著,是数据库领域的经典教材之一。

内容概述本书共分为八个章节,每章介绍了数据库系统的不同方面。

下面是各章节的简要概述。

第一章:引论该章节介绍了数据库的基本概念和发展历程。

通过对数据库系统的定义和优势的解释,给读者提供了对数据库系统的初步了解。

第二章:关系数据模型该章节介绍了关系数据模型,包括关系模型的构成要素、关系数据库设计和关系代数。

通过对关系数据模型的详细介绍,读者可以理解关系数据库的基本原理和数据组织方式。

第三章:SQL语言该章节介绍了SQL语言,包括SQL的基本语法、数据的查询和修改操作。

通过对SQL语言的学习和实践,读者可以掌握数据库操作的基本技巧。

第四章:数据库设计该章节介绍了数据库设计的基本原理和方法。

包括数据模型的设计、关系模式的规范化和数据库的物理组织方式。

通过对数据库设计的学习,读者可以理解如何设计一个高效稳定的数据库系统。

第五章:数据库编程该章节介绍了数据库编程的基本概念和技术。

包括存储过程、触发器和函数的编写,以及数据库事务的管理。

通过对数据库编程的学习,读者可以掌握如何编写高效的数据库应用程序。

第六章:关系数据库标准化及数据完整性该章节介绍了关系数据库的标准化和数据完整性保证。

包括关系数据模式的规范化、实体完整性和参照完整性的实现。

通过对数据库标准化和数据完整性的学习,读者可以设计出符合标准和完整性要求的数据库系统。

第七章:物理数据库设计和调优该章节介绍了物理数据库设计和调优的基本原理和方法。

包括数据库索引的设计、查询优化和数据存储方式的选择。

通过对物理数据库设计和调优的学习,读者可以设计出高效的数据库系统和查询方案。

第五章 数据库设计

第五章 数据库设计

运动会方面,实体集包括:运动员(编号,姓名,性别,队 伍号),比赛项目(项目名,比赛场地)。其中,一个比赛项 目可供多名运动员参加,一名运动员可参加多个项目。
根据上述条件,分别设计运动队和运动会两个局部E-R图。
第三节 概念结构设计 参赛项目 性别 队伍号 队伍名 教练名 运动员 性别 队伍号 运动员 m 参加 n n 属于
第三节 概念结构设计 分解变换。如果实体集的属性较多,可以进行分解。例如, 对于员工实体集,其属性为员工号、姓名、性别、生日、(所 属)支行名、岗位、工资、奖金。 性别 生日 支行名 岗位 工资 奖金
姓名 员工号 员工
第三节 概念结构设计 可以把员工信息分解为两部分,一部分属于固定信息,一部 分属于变动信息。为了区别这两部分信息,产生一个新的实体 和一个新的联系。
在视图合并阶段,设计者把所有视图有机地合并成统一的概 念模型,这个最终的概念模型支持所有的应用。
第三节 概念结构设计 概念结构设计的策略主要分为自顶向下、自底向上、自内向 外和混合策略四种。 这些方法中最常用的是自底向上方法:首先设计局部概念模 式,然后综合局部概念模式成全局概念模式,最后对全局概念 模式进行评估和优化。
P2 P1 D2明细 D3账目 E2会 E1客 D1付款 打印账目 账务处理 单 户 计
第二节 需求分析 元数据是描述数据的数据,通常由数据结构的描述组成,主 要描述数据及其使用环境,例如数据精度、来源、产生时间、 使用范围、注解等。 数据字典是一种用户可以访问的、记录数据库和应用程序元 数据的集合,通常是用来解释数据表、数据字段等数据结构的 意义,数据字段的取值范围、数据值代表的意义等。 简而言之,数据字典是描述数据的信息集合,是系统中所有 数据的定义集合。
数据字典通常由数据项、数据结构、数据流、数据存储和处 理过程组成。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

5.1 数据库设计概述
DB设计的步骤:
数据库规划 系统定义 需求分析 定义系统任务和目标 确定应用范围和系统边界 需求收集和分析 设计概念结构 设计逻辑结构 数据模型优化 设计物理结构 评价设计、性能预测 物理实现、试运行
概念结构设计
逻辑结构设计 数据库物理设计 数据库实施 数据库 运行和维护
概念结构设计任务: 将用户需求抽象为概念模型 (E-R图)。
5.5 概念结构设计
自底向上方法步骤: 一. 数据抽象与局部视图设计 根据需求分析的结果(数据流图、数据字典等)对现实世界的数 据进行抽象,设计各个局部视图,即分E-R图。 1. 选择局部应用 可利用机构职能关系进行局部处理。 2. 逐一设计分E-R图 设计时注意: (1)实体与属性的划分原则
应该和用户交流以澄清和扩展上一阶段所获得的数据。 也可以检查原有的案例文档,来定义数据库应用的系统边 界,并对收集到的数据进行分析,以便定义数据库应用的 主要用户视图。
5.4
一、需求分析的任务
需求分析
调查组织机构情况
收集与分析用户的信息及应 用户、 用处理的要求,并将结果按照 分析员、 一定的格式形成需求说明书。 设计员
病房号 病房
m 医疗 1
床位数
级别
住院号
姓名
编号
姓名
医生
职称
5.5 概念结构设计
(2)数据抽象 两种抽象: 聚集
定义了某一类型的组成 成分。它抽象了对象内 部类型和成分之间的 “is part of”的语义。 人体 身 头 手 聚集 人 工人 学生 干部 足
概括(继承)
定义类型之间的一种子集 联系。它抽象了类型之间 的“is subset of”的语义。 农民
规 格
产品 m
耗用量
n 用量
使用
库 存 量
系统初步E-R模型
5.5 概念结构设计
产品 m 组成 n 零件 m 消耗 1
材料
价 格 库 存 量
编 价 号 格
性 能 参 数
零 件 数
零 件 号
规 格
耗 用 量
材 料 名
系统基本E-R模型
5.6 逻辑结构设计
任务:将基本E-R模型转换为DBMS所支持的数据模型。 关系型逻辑结构设计的步骤:
必须以另一个实体或多个实体的存在为前提的实体。用双线 矩形框表示。
5.5 概念结构设计
二. 视图集成(全局视图设计) 1. 合并分E-R图,生成初步E-R图 合并的过程实际上是一个发现冲突和解决冲突的过程。 冲突主要有: (1)属性冲突 属性值类型、取值范围等发生冲突。 (2)命名冲突 同名异义、异名同义 (3)结构冲突 同一对象在不同视图中有不同抽象。 同一实体在不同视图中属性组成不同。 相同实体间联系在不同视图中呈现不同类型。
表示数据的发送者和接收者
5.4

需求分析
入校学生 通知单
数据流图(例) 入校学生 通知单
1 学习
派遣单 毕业学生
课表 成绩表
1.1 注册 专业要求 1.2 选课
学习情况
1.3 分配 派遣单
毕业学生
5.4 需求分析
四、数据字典(DD—Data Dictionary) 数据字典是对数据库中数据的描述信息的集合。 1.数据字典在DBMS中的作用 (1)满足DBMS快速查询有关对象的要求。 (2)供数据库管理员掌握整个系统运行的情况。 2.DBMS数据字典的内容 (1)数据库系统所有对象及其属性的描述信息。 (2)数据库系统对象之间关系的描述信息。 (3)数据安全性、完整性约束条件、数据库日志等。 (4)记录数据字典变化的历史。
概括
5.5 概念结构设计
(3)属性 单值属性:用椭圆表示。 多值属性:用双椭圆表示。 例5.3、5.4 派生属性:用虚椭圆表示。 复合属性:包含其它属性的属性。 (4)基数 在相互联系的实体中,实体出现一次而可能引起的另一个实 体出现的最小和最大次数称为前一个实体的基数。
(5)弱实体
5.4
需求分析
数据存储是处理过程中要存取的数据。 数据存储描述={数据存储名,说明,编号,流入的数据流,流出 的数据流,组成:{数据结构},数据量,存取方式} 例:数据存储名:产品 说明:对每种产品的品名、规格的描述,并对每种产 品做成本预算。在核对生产计划书的成本时用。 输出数据流:预算 组成:产品号、产品名、预算 数据量:每月30—40件 存取方式:随机存取


属性应是系统中最小的信息单位,不再具有描述性质。 属性不能与其他实体有联系。
5.5 概念结构设计
例:有职工、部门及其相关信息。 部门D addr eno
职工E
E-D
name age dno dname
dno
...
职工E
eno
...
部门
部门D
5.5 概念结构设计
病人
住院号
姓名
病人
病房号
n 住在 1
5.5 概念结构设计
2. 消除不必要的冗余,设计基本E-R图 冗余的数据是指可由基本数据导出的数据,冗余的联系是指可由 其他联系导出的联系。 (1) 用分析法消除冗余数据 例:实发工资、应发工资 注意:并不是所有的冗余都必须消除。有时为了提高效率,不得 不以冗余为代价。 (2)利用关系规范化理论来消除冗余联系 ① 确定局部E-R图实体之间的函数依赖。 ② 求F的最小依赖集Fm,求其差集,即 D=F-Fm ③ 逐一考察D中每一函数依赖,确定是否为冗余,若是,就把 它去掉。
5.4
需求分析
处理过程是对加工处理过程的描述。 处理过程描述={处理过程名,说明,输入:{数据流},输出: {数据流},处理:{简要说明}} 例:处理过程:确定采购计划 说明:对要采购的每一零件,根据零件库存量确定采购数量, 再根据每位供应商的报价选择适当的供应商,制定采购 计划。 输入:供应商报价、零件库存、已批准生产计划 输出:采购计划 简要说明:(1)对应采购的每种零件查找供应商报价表,选 择报价最低的供应商号。 (2)将此供应商号填入应采购零件表的相应列中。
使用维护、数据库
5.2
数据库规划
数据库规划阶段的主要工作是清楚地定义数据库应用 的任务及其任务目标。
可通过与用户单位主管、各部门领导、开发人员、员 工等交谈,了解他们的日常工作,所要处理的数据,使用 的报表,提供的服务等,以确定数据库应用的任务与目标。
5.3 系统定义
系统定义的目的是确定数据库应用的范围、边界以及 它的主要用户的视图。
好订货单给供应商。
零配件采购子系统DFD
产品
预算
生产计划
零件
价格
零件
库存量
报价单
供应商报价
核对 预算
批准/不批准 核对 预算
确定采 购计划
采购 计划
供应商
批准/不批准
订单细节
编制 订货单
订货单
零配件采购记录
5.4
需求分析
数据项描述={数据项名,数据项含义说明,别名,数据 类型,长度, 取值范围,取值含义,与其他数据项的 逻辑关系} 例:数据项名:订货单号 类型: CHAR 长度: 8 别名: 采购单号 取值范围:10000000--99999999
5.6 逻辑结构设计



P(P#,PP,PC) S(S#,SP) M(M#,MC) L(L#,LC) P# PP


P-S(P#,S#,Q1) S-M(S#,M#,Q2) M-L(M#,L#,Q3)
?合并
S# 产品P m 组成 Q1 n 零件S n SP
PC
L# n 存放 Q3 m
消耗
1 材料M
5.4
需求分析
数据结构是若干数据项有意义的集合。 数据结构描述={数据结构名,含义说明,组成:{数据 项或数据结构}} 例:数据结构:采购细节 说明:作为采购计划的组成部分,说明对某个产品要 采购哪些零件,哪种零件采购多少数量。 组成:零件号、零件名、数量
5.4
需求分析
数据流表示加工处理过程的输入或输出数据。 数据流描述={数据流名,说明,数据流来源,数据流去向,组成: {数据结构},平均流量,高峰期流量} 例:数据流名:采购计划 说明:由各产品所需零件数,选定的供应商,审核情 况组成采购零配件计划。 来源:确定采购计划 去向:编制订货单 数据结构:--采购细节 --采购审核
5.5 概念结构设计
1、概念结构 概念模型主要特点: (1)能反映现实、 满足处理要求 (2)易于理解 (3)易于更改 (4)易于数据模型转换

2、概念结构设计的方法 自顶向下 自底向上 需求分析 逐步扩张 DFD、DD 混合策略

步骤:
1)数据抽象、 局部视图设计 局部E-R图 2)视图集成 基本E-R图 逻辑结构设计
Q2
M# MC
LOC
仓库L
关系DB设计例
工号
姓名
年龄
性别
职称
亲属姓名
亲属关系
职工

亲属
职工(工号,姓名,年龄,性别,职务) 亲属(工号,亲属姓名,亲属关系)
关系DB设计例
姓名 工号 1 领导 年龄 职工 m 性别 职称
民意测验
职工(工号,姓名,年龄,性别,职称,领导者工号,民意测验)
关系DB设计例
5.4
需求分析
3.数据库应用系统的数据字典 包括: 数据项 数据结构 数据流 数据存储 处理过程
5.4

需求分析
例:下图给出了某机器制造厂的零配件采购子系统
的数据流图。该子系统要处理的工作是生产部门提
出的生产计划根据零配件当前价格计算成本送主管
部门审批,对已批准生产计划制定采购计划,准备
相关文档
最新文档