第七章 关系数据库设计

Posted by fzy on January 23, 2024

关系数据库设计

数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求。

数据库设计方法

  • 规范设计法:过程迭代和逐步求精(基本思想)
    • 新奥尔良四阶段方法:需求分析;概念设计;逻辑设计;物理设计
    • S.B.YAO六个步骤方法:需求分析、模式构成、模式汇总、模式重构、模式分析、物理数据库设计
    • I.R.Palmer方法:把数据库设计当成一步接一步的过程
  • 计算机辅助设计

数据库设计的六个阶段

掌握设计过程有哪一些步骤

image-20230615100632951

需求分析

数据字典

  • 数据项

    数据项是数据的最小组成单位 若干个数据项可以组成一个数据结构 数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容

  • 数据结构

  • 数据流

    数据流是数据结构在系统内传输的路径。

  • 数据存储

  • 处理过程

    数据项构成数据结构,数据结构通过数据流

概念结构设计

数据抽象

概念结构是对现实世界的一种抽象,减共同特性抽取出来,忽略非本质的细节,将这些特新精确加以描述,就组成了模型。

  • 实体
  • 实体属性、码
  • 实体间联系类型

实体属性设计一般准则:

  • 属性不能再具有需要描述的性质。即属性必须是不可分的数据项,不能再由另一些属性组成。
  • 属性不能与其他实体具有联系。联系只发生在实体之间

视图的集成

image-20230615103252810

以下的冲突必须掌握

属性冲突

  • 属性域冲突
  • 属性取值单位冲突

image-20230615110439617

命名冲突

  • 同名异义
  • 异名同义

image-20230615110450546

结构冲突

  • 同一对象不同抽象

  • 同一对象不同属性构成

  • 实体联系呈现不同类型

    同一个实体模式有不同的属性组合

image-20230615110506522

消除不必要的冗余

数据冗余和冗余联系要通过规范化的方法消除部分函数依赖和传递函数依赖。

看来一通好像概念结构设计就是想好了之后搞一个ER图

消除冗余就是进行规范化

逻辑结构设计

image-20230615104808269

好像逻辑结构设计就是将ER图转换为表的结构

E-R图向关系模型的转换

大纲里面有这个内容,应该是重点

逻辑结构的重点

image-20230615105331883

image-20230615105342931

我觉得这一部分讲了就好像讲了一样。

ER图向关系模型的转换

实体性变成关系模型

1对1 建立新的关系模型、1端关系模型合并

1对多 多端建立新的关系模型、多端关系模型合并

m对n m、n建立新的关系模型,码为mn的组合

同一实体型内 按照1对1、1对多、m对n进行处理

多实体间 m、n、p建立新的关系模式,码为mnp的组合

https://www.cnblogs.com/vvlj/p/12750853.html

总结:关系数据库的设计其实就是从0开始构建数据库的过程,需要从需求分析入手,看清楚需求之后构建概念结构,也即是E-R图,消除了E-R图的一些冲突之后,就要将E-R图转换为逻辑结构,也就是表结构。中间设计具体的转换方法,其实就是根据不同的E-R图展现出来的联系进行不同的表转换。最后还要考虑物理结构和后面的调试和维护。

重点就在设计概念结构和从概念结构转换到逻辑结构。

第7章

1.数据库设计过程有哪几个阶段。

答:数据库设计过程通常分为六个阶段: ( l )需求分析; ( 2 )概念结构设计; ( 3 )逻辑结构设计; ( 4 )数据库物理设计; ( 5 )数据库实施; ( 6 )数据库运行和维护。这是一个完整的实际数据库及其应用系统的设计过程。不仅包括设计数据库本身,还包括数据库的实施、运行和维护。设计一个完善的数据库应用系统往往是上述六个阶段的不断反复。

2 .需求分析阶段的设计目标是什么?调查的内容是什么?

答:需求分析阶段的设计目标是通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。调查的内容是“数据”和“处理”,即获得用户对数据库的如下要求: ( l )信息要求,指用户需要从数据库中获得信息的内容与性质,由信息要求可以导出数据要求,即在数据库中需要存储哪些数据; ( 2 )处理要求,指用户要完成什么处理功能,对处理的响应时间有什么要求,处理方式是批处理还是联机处理; ( 3 )安全性与完整性要求。

3 .什么是数据库概念结构设计?

答:将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计。概念结构是各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更加稳定,概念结构设计是整个数据库设计的关键。

4 .什么是数据库的逻辑结构设计?试述其设计步骤。

答:数据库的逻辑结构设计就是把概念结构设计阶段设计好的基本 E 一 R 图转换为与选用的 DBMS 产品所支持的数据模型相符合的逻辑结构。设计步骤为 : ( l )将概念结构转换为关系模型; ( 2 )将转换来的关系等模型向特定 DBMS 支持下的数据模型转换; ( 3 )对数据模型进行优化。

5 .规范化理论对数据库设计有什么指导意义?

答:规范化理论为数据库设计人员判断关系模式的优劣提供了理论标准,可用以指导关系数据模型的优化,用来预测模式可能出现的问题,使数据库设计工作有了严格的理论基础。

6 .试述数据库物理设计的内容和步骤。

答:数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,它依赖于给定的 DBMS 。为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构,就是数据库的物理设计的主要内容。数据库的物理设计步骤通常分为两步: ( l )确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构; ( 2 )对物理结构进行评价,评价的重点是时间效率和空间效率。

7 .什么是数据库的再组织和重构造?为什么要进行数据库的再组织和重构造?

答:数据库的再组织是指:按原设计要求重新安排存储位置、回收垃圾、减少指针链等,以提高系统性能。数据库的重构造则是指部分修改数据库的模式和内模式,即修改原设计的逻辑和物理结构。数据库的再组织是不修改数据库的模式和内模式的。

进行数据库的再组织和重构造的原因:数据库运行一段时间后,由于记录不断增、删、改,会使数据库的物理存储情况变坏,降低了数据的存取效率,数据库性能下降,这时 DBA 就要对数据库进行重组织。数据库应用环境也常常发生变化,如增加新的应用或新的实体,取消了某些应用,有的实体与实体间的联系也发生了变化等,使原有的数据库设计不能满足新的需求,需要调整数据库的模式和内模式。这就要进行数据库重构造