1、数据库设计过程:
①需求分析
②概念结构设计
③逻辑结构设计
④数据库物理设计
⑤数据库实施
⑥数据库运行和维护
2、数据库设计过程中形成的数据库模式:
①在概念设计阶段形成独立于机器特点、独立于各个DBMS产品的概念模式,通常是E-R图。
②在逻辑结构设计阶段将E-R图转换成具体的数据库产品支持的数据模型,如关系模型,形成数据库逻辑模型,然后在基本表的基础上再建立必要的视图,形成数据的外模式。
③在物理结构设计阶段,根据DBMS特点和处理的需要进行物理存储安排,建立索引,形成数据库内模式。
3、需求分析阶段的设计目标是什么?调查的内容是什么?
需求分析阶段的设计目标是通过详细调查现实世界要处理的对象,充分了解原系统工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。
调查的内容是“数据”和“处理”,即获得用户对数据的如下要求:
①信息要求。指用户需要从数据库中获得信息的内容和性质。由信息要求可以导出数据要求,即在数据库中需要存储哪些数据。
②处理要求。指用户要完成什么处理功能,对处理的响应时间有什么要求,处理方式是批处理还是联机处理。
③安全性与完整性要求。
4、数据字典的内容和作用是什么?
数据字典的内容包括数据项、数据结构、数据流、数据存储和处理过程5个部分。其中数据项是数据的最小单位,若干数据项可以组成一个数据结构。数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容。
数据字典的作用:数据字典是关于数据库中数据的描述,在需求分析阶段建立,是下一步进行概念设计的基础,并在数据库设计过程中不断修改、充实和完善。
5、数据库的概念结构及其特点和设计策略:
概念结构是信息世界的结构,即概念模型,其主要特点:
①能真实、充分地反映现实世界,包括事物和事物之间地联系,能够满足用户对数据地处理要求,是对现实世界地一个真实模型。
②易于理解,从而可以用它和不熟悉计算机地用户交换意见,用户的积极参与是数据库设计成功的关键。
③易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充。
④易于向关系、网状、层次等数据模型转换。
概念结构的设计策略:
①自顶向下:即首先定义全局概念结构的框架,然后逐步细化。
②自底向上:即首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构。
③逐步扩张:首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其他概念结构,直至总体概念结构。
④混合策略:即将自顶向下和自底向上相结合,用自顶向下策略设计一个全局概念结构的框架,以它为骨架集成由自底向上策略中设计的各局部概念结构。
6、概念模型中的术语:
①实体:客观存在并可以相互区分的事物叫实体;
②实体型:具有相同属性的实体具有相同的特征和性质,用实体名及其属性名集合来抽象和刻画同类实体称为实体型;
③实体集:同型实体的集合称为实体集;
④属性:实体所具有的某一特性,一个实体可有若干属性来刻画;
⑤码:唯一标识实体的属性集称为码;
⑥实体-联系图(E-R图):描述实体型、属性和联系的一种方法,其中:
ⅰ实体型用矩形表示,矩形框内写明实体名;
ⅱ属性用椭圆形表示,并用无向边将其与相应的实体型连接起来;
ⅲ联系用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁边标上联系的类型(1:1, 1:n, m:n)。
7、数据库的逻辑结构设计及其设计步骤:
数据库的逻辑结构设计就是把概念结构设计阶段设计好的基本E-R图转换为选用的DBMS产品所支持的数据模型相符合的逻辑结构。设计步骤为:
①将概念结构转换为关系模型;
②优化数据模型。
8、数据库物理设计的内容和步骤:
数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,它依赖于给定的DBMS。为一个特定的逻辑数据模型选用一个最适应应用要求的物理结构,就是数据库的物理设计的主要内容。
数据库的物理设计步骤通常分为两步:
①确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构;
②对物理结构进行评价,评价的重点是时间和空间效率。
9、什么是数据库的再组织和重构造?为什么要进行数据库的再组织和重构造?
数据库的再组织是指按原设计要求重新安排存储位置、回收垃圾、减少指针链等,以提高系统性能。
数据库的重构造是指部分修改数据库的模式和内模式,即修改原设计的逻辑和物理结构。数据库的再组织是不修改数据库的模式和内模式。
进行数据库的再组织和重构造的原因:
数据库运行一段时间后,由于记录不断增删改查,会使数据库的物理存储情况变坏,降低了数据的存取效率,数据库性能下降,这时DBA就要对数据库进行重组织。DBMS一般都提供数据重组织用的实用程序。
数据库应该环境常常发生变化,如增加新的应用或新的实体,取消了某些应用,有的实体与实体间的联系也发生了变化等,是原有的数据库设计不能满足新的需求,需要调整数据库的模式和内模式。这就要进行数据库的重构造。