第6章关系数据库设计实例

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

第6章关系数据库设计实例——网上书店学习目标

通过本章学习,加深对E-R模型和关系数据理论的进一步理解,并熟练掌握关系数据库的设计步骤与方法,从而具备正确设计关系数据库的基本能力。另外,在学习过程中还要体会到,正确的数据库设计不是一蹴而就的,它是一个循序渐进和反复设计的过程。

学习方法

本章主要介绍如何将所学的数据库设计理论指导具体应用设计实践。在学习本章内容的同时,要多回顾和复习前两章所学内容。在进行需求分析和建立E-R模型时,能运用抽象方法对具体应用业务流程和系统功能进行分析、提炼和归纳。

学习指南

重点:需求分析,包括业务需求分析、功能需求分析和业务规则分析;如何确定实体集及属性和确定联系集及E-R图;检查是否满足需求;逻辑数据库设计。

难点:如何检查是否满足需求。

本章导读

本章综合运用第4章和第5章所学知识,给出了一个完整的关系数据库设计实例。在学习时,要学会如何在需求描述的基础上进行需求分析,如何根据需求分析确定实体集、联系集及其属性,如何根据得到的E-R图生成关系模式,以及如何对得到的关系模式进行求精。在学习本章之前,要回顾以前学过的知识:

1.数据库设计通常包括哪几个步骤?各个步骤之间的联系是什么?

2.为什么要进行需求分析?

3.需求分析的任务是什么?有哪些需求分析方法?

4.为什么不能直接设计出数据库的关系模式,而要先设计概念模式?

5.请至少列出两种可用于描述概念模式的工具,并对它们进行比较。

6.E-R模型是如何表达概念模式的?

7.如何确定实体集和联系集?实体集和联系集的主码分别是如何确定的?

8.E-R模型的设计原则是什么?

9.数据在关系模型是如何表示的?

10.如何通过E-R图得到关系模式?

11.数据冗余会带来什么问题?关系模式分解又会带来什么问题?

12.什么样的关系模式是一个“好”的关系模式?

13.什么是关系模式的范式?如何判断一关系模式属于哪一范式?

14.如何进行BCNF和3NF范式分解?本章教学设计

本章教学内容

见附件6.

本章小结

本章综合运用前两章所学知识,给出了一个网上书店的数据库设计实例,包括需求分析、概念数据库设计和逻辑数据库设计。主要内容小结如下:

1.需求分析包括业务流程分析、功能分析和业务规则分析。系统设计人员要根据用户的需求描述和系统边界,与用户进行深入交流和沟通,分析各个应用业务的具体流程。然后,根据业务流程,抽象出所开发系统拟实现的具体功能。最后,根据功能描述,进一步确定具体的业务规则和数据约束。

2.概念数据库设计即E-R模型设计,包括实体集、联系集及属性的确定。实体集通常是功能分析中出现的具有一组属性且需要存储的“名词”。而联系集对应的概念为一种动作,即描述实体集间的一种行为。当两个或多个实体集之间的某种行为需要记录时,可建模为一个联系集。确定联系集的难点是分清联系集的映射基数并确定主码属性。属性的确定原则是,只需要将那些与应用相关的特征建模为实体集或联系集的属性。

3.逻辑数据库设计是根据E-R模型转换为数据库模式,并对数据库模式求精。该步骤应根据E-R图转换规则和模式求精的步骤依次进行。在进行数据库模式转换时要注意联系集的转化:多对多联系集转化为一个单独的关系表;一对多或多对一联系集与“多”方实体集的表合并;一对一联系集与任何一方实体集的表合并。

通过本章的分析和设计过程可以看出:

(1) 正确的数据库设计不是一蹴而就的,而是一个循序渐进和反复设计的过程。因此,在完成E-R模型设计后,还需仔细检查是否包含了所有的需求,如果没有,则需对已得出的E-R模型进行调整甚至重新设计。

(2) 如果能仔细分析用户需求,并正确识别出所有的实体集和联系集,由E-R图转换生成的数据库模式并不需要太多的进一步模式求精。然而,如果一个实体集中的属性之间可能存在函数依赖(不包括主码依赖关系),则需要根据函数依赖理论将其规范化。

相关文档
最新文档