简述数据库设计与管理

本节是二级公基知识内容部分的最后一节,数据库设计与管理。

今晚连夜更完这部分真是轻松很多。虽然二级公基只占10分,但其中有很多的知识我没有学到,所以在这上面花的时间稍微长一些。(给自己的咕咕咕找一个合理的借口)后面的几天……C语言部分我能更多少是多少吧,毕竟我30号就开学了……C语言部分更新跳跃幅度大,一些很磨叽的东西我也不打算往上写了……国庆节前不准备把电脑带去,要咕一个月,国庆节假期内继续更新。(闪4九月底发售你国庆节假期到底应该干什么心里没点*数吗233333)

本节内容是数据库设计与管理。

数据库设计概述

数据库设计是数据库应用的核心。在数据库应用系统中的一个核心问题就是设计一个能满足用户要求,性能良好的数据库,这就是数据库设计。数据库设计的基本任务是根据用户对象的信息需求,处理需求和数据库的支持环境设计出数据模式。所谓信息需求主要是值用户对象的数据以及其结构,它反映了数据库的静态要求;所谓处理需求则表示用户对象的行为和动作,它反映了数据库的动态要求。数据库设计中有一定的制约条件,它们是系统设计平台,包括系统软件、工具软件以及设备、网络等硬件。因此,数据库设计即是在一定平台的制约下,根据信息需求与处理需求设计出性能良好的数据模式。

在数据库设计中有两种方法。一种是以信息需求为主,兼顾处理需求,称之为面向数据的方法。另一种方法则是处理需求为主,兼顾信息需求,称为面向过程的方法。这两种方法目前都在使用中,在早期面向过程的方法应用比较多,目前是面向数据的方法使用越来越广泛。数据在系统中稳定性较高,目前数据已经成为了系统的核心,因此面向数据的设计方法已经成为了主流方法。

数据库设计目前一般采用生命周期法,即将整个数据库应用系统的开发分解成目标独立的若干阶段。它们是:需求分析阶段、概念设计阶段、逻辑设计阶段、物理设计阶段、编码阶段、测试阶段、运行阶段、进一步修改阶段。

数据库设计的需求分析

这是数据库设计的第一阶段。这一阶段收集到的基础数据和一组DFD是下一步的基础。需求分析阶段的任务是通过详细调查现实世界要处理的对象吗充分了解原系统的工作概况,明确用户的各种调查需求,然后在此基础上确定新系统的功能。新系统必须充分考虑今后可能的扩充和改点,不能仅按照当前应用需求来设计数据库。

调查的重点是数据和处理,需要如下要求。

1.信息要求,指用户需要从数据库中获得信息的内容与性质。

2.处理要求,指用户要完成什么处理功能,对处理的响应时间、方式做何要求。

3.安全性和完整性的要求。

数据库概念设计

数据库概念设计的方法有以下两种:

1.集中式模式设计法。这是一种统一的模式设计方法,它根据需求由一个统一机构或人员设计一个综合的全局模式。这种方法简单方便,适合小型部门,但是对大型单位则不太适合。

2.视图集成设计法。将一个单位分解为若干部分,对每个部分做局部模式设计, 建立视图,再以视图为基础进行集成。集成过程中可能存在冲突。

使用E-R模型与视图继承法进行设计时,首先选择局部应用,再进行局部视图设计,最后对局部视图进行集成得到概念模式。

数据库的逻辑设计

数据库的逻辑设计主要工作是将E-R图转换为指定RDBMS中的关系模式。从E-R图到关系模式的转换是比较直接的,实体与联系都可以表示成关系。E-R图中的属性也可以转化成关系的属性。

转换时可能绘遇到一些问题。

关系模式中的命名可以用E-R图中原有命名,也可以另行命名,但是应该尽量避免重名。RDBMS一般只支持有限种的数据类型。如果有RDBMS不支持的数据类型则要进行转换。

E-R图中允许出现非原子属性。但是关系模式一般不允许。非原子属性主要有集合型和元组型,如果有这种情况可以进行转换。集合属性纵向展开,元组关系横向展开。

转换一定要体现规范化。关系数据库设计的关键是关系数据库模式的设计,即确定构造几个关系模式以及每一个模式自身包含的属性,将相互关联的模式组成合适的关系模型。设计不良的关系模式会有数据冗余,插入删除修改异常等问题。

逻辑设计的另一个重要内容是关系视图的设计。它又称为外模式设计。关系视图是在关系模式基础上所设计的直接面向操作用户的视图,它可以根据用户需求随时创建。一般的RDBMS都提供这样的功能。

数据库的物理设计

数据库物理设计的主要目标是对数据库内部物理结构做出调整并选择合理的存取路径,以提高数据库访问速度以及有效利用存储空间。在现代关系数据库中已经大量屏蔽了内部物理结构,因此留给用户参与物理设计的余地并不多。一般的RDBMS中留给用户参与物理设计的内容大概有:索引设计、集簇设计和分区设计。

数据库管理

数据库管理需要专人进行。这人叫DBA,之前的文章说过。

首先是数据库的建立。数据模式由DBA负责建立。在数据模式定义后就可以加载数据,DBA可以编制加载程序将外界数据加载至数据模式内,从而建立起数据库。

然后是数据库的调整。数据库建立并经过一段时间后往往会产生一些不适应的情况,这时候我们需要对它们做出调整。这个工作也是DBA去完成。主要是调整关系模式与视图,调整索引与集簇,调整分区、数据库缓冲区大小等。

然后是数据库的重组。数据库在经过一定时间运行后性能会有所下降,下降的原因主要是不断地修改,删除和插入造成的。由于不断地删除造成盘区内废块增多,磁盘的I/O速度会受到影响,DBA要对此情况作出整理操作。实际中,往往是先做程序卸载,再加载数据从而达到数据重组的目的。

然后是数据库安全心控制与完整性控制。数据库是一个单位的重要资源,安全性是极端重要的。DBA应该采取措施保证数据不被非法盗用或者破坏。此外,为保证数据的正确性,需要有数据的完整性控制。

最后是数据库的故障恢复与监控。一旦数据库中的数据遭受破坏,DBA应该立即着手恢复。现在的RBDMS一般都提供这个功能。DBA需要随时观察数据库的动态变化,并且在发生异常时做出判断并采取措施。

打赏
  • 版权声明: 本博客所有文章除特别声明外,均采用 Apache License 2.0 许可协议。转载请注明出处!
  • © 2018-2020 Shawn Zhou
  • Powered by Hexo Theme Ayer
  • PV: UV:

感谢打赏~

支付宝
微信