考研复试数据库原理面试题(四)—关系数据库设计与设计理论

写作目的:为了应对考研复试中的面试,我整理了导师可能提问的地方,力求用口语化的语言描述出来。

这只是一部分,陆续还有数据库原理的其它章节,还会推出数据结构、计算机网络复试题整理。

数据库原理我的参考书是《数据库原理及应用第二版(雷景生)》,因为一些机缘巧合选择了这本书。不过没关系,网上有很多关于数据库原理的面试题,而且答案也很容易搜到。思维导图在我的processon。如果对你有帮助就打赏一下吧。

https://www.processon.com/view/link/5e7e0107e4b027d999d2cb1d

还有其它系列的面试题整理

考研复试计算机组成原理面试题

考研复试操作系统面试题

目录

为什么范式会出现?

解释1到4范式和BC范式?

如何判断复杂关系模式中的候选码

什么是数据库设计?

数据库设计的几个阶段和目标

数据库设计几个主流方法

什么是弱实体?

概念设计的三种方法?

E-R模式合并时发生的三种冲突

逻辑设计阶段主要的内容和步骤

物理设计的内容和步骤


为什么范式会出现?

在数据库设计中,不合理的设计会导致数据冗余、更新异常、插入异常、删除异常。这些都是由于不合理的数据依赖导致的,范式理论的出现为了解决不合理的数据依赖,是数据库设计规范化。

解释1到4范式和BC范式?

1NF:数据库中的每一列都是不可分割的简单属性。不满足这一条的数据库就不能称为关系型数据库。

2NF:在1NF的基础上,非码属性必须完全依赖于候选码

3NF:在2NF基础上,任何非主属性不依赖于其它非主属性。

BCNF:在1NF的基础上,所有的函数依赖,例如X->Y,决定因素X中都包含了R的一个候选码

4NF:关系模式的属性之间不允许有非平凡且非函数依赖的多值依赖。

规范化的过程中:

1NF到2NF消除了非主属性对码的部分函数依赖;

2NF到3NF消除了非主属性对码的传递函数依赖;

3NF到BCNF消除了主属性对码的部分函数依赖和传递函数依赖;

BCNF到4NF消除了非平凡且非函数依赖的多值依赖。

如何判断复杂关系模式中的候选码

(1)如果有属性不在函数依赖集中出现,那么它必须包含在候选码中;

(2)如果有属性不在函数依赖集中任何函数依赖的右边出现,那么它必须包含在候选码中;

(3)如果有属性只在函数依赖集的左边出现,则该属性一定包含在候选码中。

(4)如果有属性或属性组能唯一标识元组,则它就是候选码;

什么是数据库设计?

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

数据库设计的几个阶段和目标

1. 需求分析: 分析用户的需求,包括数据、功能和性能需求;生成系统分析报告。

2. 概念结构设计:主要采用E-R模型进行设计,包括画E-R图;生成全局E-R图

(上面两步独立于数据库管理系统

3. 逻辑结构设计:通过将E-R图转换成表,实现从E-R模型到关系模型的转换,进行关系规范化;

4. 数据库物理设计:主要是为所设计的数据库选择合适的存储结构和存储路径;

(上面两步与数据库管理系统相关

5. 数据库的实施:包括编程、测试和试运行;

6. 数据库运行和维护:系统的运行和数据库的日常维护

数据库设计几个主流方法

直观设计法:完全凭直觉。

规范设计法:比较普遍的有新奥尔良法、基于E-R图法、基于3NF范式法,基于抽象语法规范的设计方法。新奥尔良法:比较权威的设计法,它的设计分四个阶段,就是大家耳熟能详的需求分析、概念设计、逻辑设计、物理设计阶段。

计算机辅助设计法:通过人机交互的方式来完成设计的某些过程。

什么是弱实体?

弱实体(weak entity)是一种数据库系统术语。其定义为一个实体对于另一个实体(一般为强实体,也可以是依赖于其他强实体的弱实体)具有很强的依赖联系,而且该实体主键的一部分或全部从其强实体(或者对应的弱实体依赖的强实体)中获得,则称该实体为弱实体。

概念设计的三种方法?

自顶向下法:首先认定用户关心的实体和实体之间的联系,建立一个初步的概念模型框架,让后对这个全局的E-R图进行细化。

自底向上法;又叫属性综合法,将需求分析说明书中的数据元素作为基本输入,通过对这些元素分析,把他们综合成相应的实体和联系,得到局部E-R图,然后再组合成全局E-R图。

逐步扩张法:先定义最重要的核心概念E-R模型,然后向外扩充。

混合策略:顾名思义。

E-R模式合并时发生的三种冲突

1、属性冲突:

属性域冲突:属性值的类型、取值范围不一致。例如学生的学号是用整数还是用字符型表示?

属性取值单位冲突。

2、命名冲突:

同名异义:不同意义的对象在不同的局部采用了相同的名字。

异义同名:通一意义的对象在不同的局部应用中具有不同的名字。

1和2中的冲突靠协商解决。

3、结构冲突:

统一对象在不同的局部有不同的身份。

①一个对象在某个局部作为实体,而在另一个局部成了属性。解决办法,将实体转化为属性或者将属性转化为实体,使同一对象有相同的身份。

②容易对象在不同的局部应用中对应的实体属性组成不完全相同。解决办法,对实体的属性取在不同局部中的并集。

③实体之间的联系在不同的局部应用中具有不同的类型。如在一个局部中是一对一联系,在另一个中是多对多联系。解决办法,根据应用的语义对实体联系的类型进行综合或调整。

逻辑设计阶段主要的内容和步骤

将E-R图转化为关系数据模型;

关系模式规范化;

关系模式优化。

物理设计的内容和步骤

1、确定数据库的物理结构

2、对所设计的物理结构进行评价

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章