数据库 之数据库设计浅知识 -- 设计概述、概念结构设计(E-R模型概述)、逻辑结构设计(函数依赖和范式)、物理结构设计

1. 数据库设计概述

数据库设计的目标是为用户和各种应用系统提供一个信息基础设施和高效率的运行环境

1.1 数据库设计的特点:结构和行为分离的设计

在这里插入图片描述

1.2 数据库设计方法

典型方法
新奥尔良(New Orleans)方法
基于E-R模型的数据库设计方法
3NF(第三范式)的设计方法
面向对象的数据库设计方法
统一建模语言(UML)方法

1.3 数据库设计的基本步骤

在这里插入图片描述

1.4 数据库设计过程中的各级模式

在这里插入图片描述

2. 需求分析

2.1 需求分析的任务

1、新系统必须充分考虑今后可能的扩充和改变
2、获得用户对数据库的要求
(1)信息要求
用户需要从数据库中获得信息的内容与性质
由信息要求可以导出数据要求,即在数据库中需要存储哪些数据
(2)处理要求
用户要完成的处理功能
对处理性能的要求
(3)安全性与完整性要求

2.2 需求分析的方法

结构化分析方法(Structured Analysis,简称SA方法)
SA方法从最上层的系统组织机构入手,采用自顶向下、逐层分解的方式分析系统
需求分析过程:
在这里插入图片描述

2.3 数据字典

1、数据字典是关于数据库中数据的描述,即元数据(不是数据本身),注意和关系数据库管理系统中数据字典的区别和联系(关系数据库中的数据字典是数据库的定义)
2、数据字典的内容

  • 数据项:是数据的最小组成单位
  • 数据结构:反映了数据之间的组合关系(一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或由若干个数据项和数据结构混合组成)
  • 数据流:数据结构在系统内传输的路径
  • 数据存储:是数据结构停留或保存的地方,也是数据流的来源和去向之一
  • 处理过程:处理逻辑一般用判定表或判定树来描述

3、数据项描述={数据项名,数据项含义说明,别名,数据类型,长度,取值范围,取值含义,与其他数据项的逻辑关系, 数据项之间的联系}
4、数据结构描述={数据结构名,含义说明,组成:{数据项或数据结构}}
5、数据流描述={数据流名,说明,数据流来源,数据流去向,组成:{数据结构},平均流量,高峰期流量}
6、数据存储描述={数据存储名,说明,编号,输入的数据流 ,输出的数据流, 组成:{数据结构},数据量,存取频度,存取方式}
7、处理过程描述={处理过程名,说明,输入:{数据流}, 输出:{数据流},处理:{简要说明}}

3. 概念结构设计(概念模式,E-R图)

概念结构设计:将用户需求抽象为信息结构

3.1 概念模型
3.2 E-R模型
1、实体之间的联系

(1)两个实体型之间的联系:
①一对一联系(1∶1)
②一对多联系(1∶n)
③多对多联系(m∶n)
(2)两个以上的实体型之间的联系
一般地,两个以上的实体型之间也存在着一对一、一对多、多对多联系
(3)单个实体型内的联系
同一个实体集内的各实体之间也可以存在一对一、一对多、多对多的联系

2、E-R 图

E-R图提供了表示实体型、属性和联系的方法
实体型:矩形
属性:椭圆
联系:菱形(联系可以具有属性)

实例:某个工厂物资管理的概念模型
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、实体与属性的划分原则

为了简化E-R图的处置,现实世界的事物能作为属性对待的,尽量作为属性对待

两条准则:
(1)作为属性,不能再具有需要描述的性质。属性必须是不可分的数据项,不能包含其他属性
(2)属性不能与其他实体具有联系,即E-R图中所表示的联系是实体之间的联系

实例分析:

  • 职称如果没有与工资、福利挂钩,根据准则(1)可以作为职工实体的属性;
  • 如果不同的职称有不同的工资、住房标准和不同的附加福利,则职称作为一个实体更恰当
4、E-R 图的集成

1、两步:合并 --> 修改和重构
2、合并时主要有三类冲突:①属性冲突 ②命名冲突 ③结构冲突
属性冲突:属性域冲突,即属性值的类型、取值范围或取值集合不同;属性取值单位冲突
命名冲突:同名异义;异名同义;命名冲突
结构冲突:同一对象在不同应用中具有不同的抽象(如在A处为实体,在B处为属性);同一实体在不同子系统的E-R图中所包含的属性个数和属性排列次序不完全相同;实体间的联系在不同的E-R图中为不同的类型(如在A处为一对多联系,在B处为多对多联系)
3、合并时消除冗余的方法
①以数据字典和数据流图为依据,根据数据字典中关于数据项之间逻辑关系的说明来消除冗余
②用规范化理论来消除冗余
确定分E-R图实体之间的数据依赖FL;然后求FL的最小覆盖GL,差集为 D=FL-GL,逐一考察D中的函数依赖,确定是否是冗余的联系,若是,就把它去掉

4. 逻辑结构设计(逻辑模式、外模式)

把基本E-R图转换为与选用数据库管理系统产品所支持的数据模型相符合的逻辑结构

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

关系模型的逻辑结构是一组关系模式的集合
将E-R图转换为关系模型:将实体型、实体的属性和实体型之间的联系转化为关系模式
1、转换原则
(1)一个实体型转换为一个关系模式
关系的属性:实体的属性
关系的码:实体的码
(2)实体型间的联系有以下不同情况

  • 一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并
    ① 转换为一个独立的关系模式
    关系的属性:与该联系相连的各实体的码以及联系本身的属性
    关系的候选码:每个实体的码均是该关系的候选码
    ②与某一端实体对应的关系模式合并
    合并后关系的属性:加入对应关系的码和联系本身的属性
    合并后关系的码:不变
  • 一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并
    ①转换为一个独立的关系模式
    关系的属性:与该联系相连的各实体的码以及联系本身的属性
    关系的码:n端实体的码
    ②与n端对应的关系模式合并
    合并后关系的属性:在n端关系中加入1端关系的码和联系本身的属性
    合并后关系的码:不变
    可以减少系统中的关系个数,一般情况下更倾向于采用这种方法
  • 一个m:n联系转换为一个关系模式
    关系的属性:与该联系相连的各实体的码以及联系本身的属性
    关系的码:各实体码的组合
  • 三个或三个以上实体间的一个多元联系转换为一个关系模式
    关系的属性:与该多元联系相连的各实体的码以及联系本身的属性
    关系的码:各实体码的组合
  • 具有相同码的关系模式可合并
    目的:减少系统中的关系个数
    合并方法:
    将其中一个关系模式的全部属性加入到另一个关系模式中;
    然后去掉其中的同义属性(可能同名也可能不同名);
    适当调整属性的次序
4.2 数据模型的优化

得到初步数据模型后,还应该适当地修改、调整数据模型的结构,以进一步提高数据库应用系统的性能,这就是数据模型的优化

优化数据模型的方法:
(1)确定数据依赖
(2)对于各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系
(3)按照数据依赖的理论对关系模式进行分析,考察是否存在部分函数依赖、传递函数依赖、多值依赖等,确定各关系模式分别属于第几范式
(4)按照需求分析阶段得到的各种应用对数据处理的要求,分析对于这样的应用环境这些模式是否合适,确定是否要对它们进行合并或分解(并不是规范化程度越高的关系就越优)
(5)对关系模式进行必要分解,提高数据操作效率和存储空间的利用率。常用分解方法:水平分解(把(基本)关系的元组分为若干子集合,定义每个子集合为一个子关系),垂直分解(把关系模式R的属性分解为若干子集合,形成若干子关系模式)

补充: 函数依赖和范式

一、函数依赖
1、部分函数依赖:设X,Y是关系R的两个属性集合,存在X→Y,若X’是X的真子集,存在X’→Y,则称Y部分函数依赖于X
举个例子:学生基本信息表R中(学号,身份证号,姓名)当然学号属性取值是唯一的,在R关系中,(学号,身份证号)->(姓名),(学号)->(姓名),(身份证号)->(姓名);所以姓名部分函数依赖与(学号,身份证号);
2、完全函数依赖:设X,Y是关系R的两个属性集合,X’是X的真子集,存在X→Y,但对每一个X’都有X’!→Y,则称Y完全函数依赖于X
例子:学生基本信息表R(学号,班级,姓名)假设不同的班级学号有相同的,班级内学号不能相同,在R关系中,(学号,班级)->(姓名),但是(学号)->(姓名)不成立,(班级)->(姓名)不成立,所以姓名完全函数依赖与(学号,班级);
3、传递函数依赖:设X,Y,Z是关系R中互不相同的属性集合,存在X→Y(Y !→X),Y→Z,则称Z传递函数依赖于X
例子:在关系R(学号 ,宿舍, 费用)中,(学号)->(宿舍),宿舍!=学号,(宿舍)->(费用),费用!=宿舍,所以符合传递函数的要求。
4、平凡函数依赖:存在X→Y,且Y含于X,则称X→Y是平凡的函数依赖(对于任一关系模式,平凡函数依赖都是必然成立的,它不反映新的语义)
例子:(学号,课程号)→学号
5、非平凡函数依赖:存在X→Y,但Y不含于X,则称X→Y是非平凡的函数依赖
例子:(学号,课程号)→成绩
6、多值依赖:设R(U)是一个属性集合U上的一个关系模式,X, Y, 和Z是U的子集,并且Z=U-X-Y,多值依赖X→→Y成立当且仅当对R的任一个关系r,r在(X,Z)上的每个值对应一组Y的值这组值仅仅决定于X值而与Z值无关
若X→→Y,而Z=空集,则称X→→Y为平凡的多值依赖。否则,称X→→Y为非平凡的多值依赖。
(定义很绕~~脑阔疼)
举个例子,通俗理解一下:一个关系(课程C,教师T,参考书B),其中,课程确定教师且与参考书无关(即对于C的每一个值,T有 一组 值与之对应,而不论B取何值
教师T多值依赖于课程C


二、范式 1 、第一范式(1NF) 在任何一个关系数据库中,第一范式(1NF)是对关系模式的基本要求,不满足第一范式(1NF)的数据库就不是关系数据库。 所谓第一范式(1NF)是指数据库**表的每一列(即每个属性)都是不可分割的基本数据项**,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。简而言之,第一范式就是无重复的列。 2、 第二范式(2NF) 第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。第二范式(2NF)要求数据库**表中的每个实例或行必须可以被唯一地区分**。为实现区分通常需要为表加上一个列,以存储各个实例的唯一标识。员工信息表中加上了员工编号(emp_id)列,因为每个员工的员工编号是唯一的,因此每个员工可以被唯一区分。这个**唯一属性列被称为主关键字或主键、主码**。 **第二范式(2NF)要求实体的属性完全依赖于主关键字**。所谓完全依赖是指不能存在仅依赖主关键字一部分的属性,如果存在,那么这个属性和主关键字的这一部分应该分离出来形成一个新的实体,新实体与原实体之间是一对多的关系。为实现区分通常需要为表加上一个列,以存储各个实例的唯一标识。简而言之,第二范式就是非主属性完全依赖于码。 3 、第三范式(3NF) 满足第三范式(3NF)必须先满足第二范式(2NF)。在满足第二范式的基础上,且**不存在传递函数依赖**,那么就是第三范式。简而言之,每一个非主属性既不部分依赖于码也不传递依赖于码。 4、BC范式(BCNF) BCNF 在第三范式的基础上,数据库表中如果不存在任何字段对任一候选关键字段的传递函数依赖则符合第三范式。

* 所有非主属性对每一个码都是完全函数依赖;
* 所有的主属性对于每一个不包含它的码,也是完全函数依赖;
* 没有任何属性完全函数依赖于非码的任何一组属性
>5、第四范式(4NF)

设R是一个关系模型,D是R上的多值依赖集合。如果D中存在凡多值依>赖X->Y时,X必是R的超键,那么称R是第四范式的模式。


最后简单的总结一下:
1、第一范式(1NF):一个关系模式R的所有属性都是不可分的基本数据项
2、第二范式(2NF):关系模式R属于第一范式,且每个非主属性都完全函数依赖于键码(简单说 建立在第一范式基础上,消除部分依赖)
3、第三范式(3NF):关系模式R属于第一范式,且每个非主属性都不传递依赖于键码(简单说 建立在第二范式基础上,消除传递依赖)
4、 BC范式(BCNF):关系模式R属于第一范式,且每个属性都不传递依赖于R的候选键
在这里插入图片描述

4.3 设计用户子模式

定义用户外模式时应该更注重考虑用户的习惯与方便。包括三个方面:
(1)使用更符合用户习惯的别名
(2)针对不同级别的用户定义不同的视图,以保证系统的安全性
(3)简化用户对系统的使用

5. 物理结构设计(内模式)

为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构的过程,就是数据库的物理设计。
数据库物理设计的步骤:
(1)确定数据库的物理结构:在关系数据库中主要指存取方法和存储结构
(2)对物理结构进行评价:评价的重点是时间和空间效率

5.2 关系模式存取方法选择

1、数据库管理系统常用存取方法
(1)B+树索引存取方法
(2)Hash索引存取方法
(3)聚簇存取方法
2、选择索引存取方法的主要内容
(1)对哪些属性列建立索引
(2)对哪些属性列建立组合索引
(3)对哪些索引要设计为唯一索引
3、选择索引存取方法的一般规则
(1)一个(或一组)属性经常在查询条件中出现
(2)一个属性经常作为最大值和最小值等聚集函数的参数
(3)一个(或一组)属性经常在连接操作的连接条件中出现
4、选择Hash存取方法的规则
如果一个关系的属性主要出现在等值连接条件中或主要出现在等值比较选择条件中,而且满足下列两个条件之一
(1)该关系的大小可预知,而且不变
(2)该关系的大小动态改变,但所选用的数据库管理系统提供了动态Hash存取方法
5、聚簇存取
为了提高某个属性(或属性组)的查询速度,把这个或这些属性(称为聚簇码)上具有相同值的元组集中存放在连续的物理块中称为聚簇。该属性(或属性组)称为聚簇码
(1)聚簇索引
建立聚簇索引后,基表中数据也需要按指定的聚簇属性值的升序或降序存放,在一个基本表上最多只能建立一个聚簇索引
(2)聚簇存取方法

  • 设计候选聚簇:场景——经常进行连接操作的关系、经常作为相等比较条件的属性组、属性或属性组中值重复率较高
  • 检查候选聚簇中的关系,取消其中不必要的关系:删除经常进行全表扫描的关系、删除更新操作远多于连接操作的关系、删除重复出现的关系
5.3 确定数据库的存储结构

确定数据库物理结构主要指确定数据的存放位置和存储结构
基本原则:根据应用情况,将易变部分与稳定部分分开存放,将经常存取部分与存取频率较低部分分开存放
例如:可以将比较大的表分别放在两个磁盘上,以加快存取速度,这在多用户环境下特别有效;可以将日志文件与数据库对象(表、索引等)放在不同的磁盘以改进系统的性能

5.4 评价物理结构

对数据库物理设计过程中产生的多种方案进行评价,从中选择一个较优的方案作为数据库的物理结构
评价方法:定量估算各种方案的存储空间、存取时间、维护代价

  • 41
    点赞
  • 263
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个PDF文件是我花钱买来的,现在为了挣积分,拿出来与大家分享!! 本书深入出地介绍了目前世界上最受欢迎的数据库管理系统之一——SQL Server。全书共分三个部分:第一部分阐释了数据库的基本概念,讲解了数据库建模语言;第二部分展示了从概念建模到在SQL Server 2008上真正实现数据库的过程;第三部分深入探讨了SQL Server若干方面的技术细节,如数据保护、索引、并发访问等。通过将理论融入数据库实践,清晰地讲解了关系型数据库设计原则,完整地展示了如何进行良好的关系型数据库设计,深入揭示了SQL Server 2008的技术细节。   本书浓缩了作者作为SQL Server数据库架构师多年来丰富的实践经验,适合各类数据库开发和管理人员学习参考 目录 第1章 数据库概念简介  1.1 数据库设计阶段   1.1.1 概念阶段   1.1.2 逻辑阶段   1.1.3 实现阶段   1.1.4 物理阶段  1.2 关系数据结构   1.2.1 数据库和模式   1.2.2 表、行和列   1.2.3 信息原则   1.2.4 域   1.2.5 元数据   1.2.6 键   1.2.7 未显式赋值的项(NULL)  1.3 实体之间的关系   1.3.1 二元关系   1.3.2 非二元关系  1.4 数据访问语言(SQL)  1.5 理解依赖性   1.5.1 函数依赖性   1.5.2 判定  1.6 总结 第2章 数据建模语言  2.1 数据建模介绍  2.2 实体  2.3 属性   2.3.1 主键   2.3.2 替代键   2.3.3 外键   2.3.4 域   2.3.5 命名  2.4 关系   2.4.1 识别性关系   2.4.2 非识别性关系   2.4.3 角色名字   2.4.4 关系基数   2.4.5 动词短语(关系名字)  2.5 描述信息  2.6 其他建模方法   2.6.1 信息工程   2.6.2 Chen ERD   2.6.3 Visio   2.6.4 Management Studio数据库关系图  2.7 最佳实践  2.8 总结 第3章 概念阶段数据建模  3.1 理解需求  3.2 文档化过程  3.3 需求收集   3.3.1 客户访谈   3.3.2 要回答的问题   3.3.3 现存的系统和原型   3.3.4 其他类型的文档  3.4 识别对象和过程   3.4.1 识别实体   3.4.2 实体间关系   3.4.3 识别属性和域  3.5 识别业务规则和业务过程   3.5.1 识别业务规则   3.5.2 识别基础业务过程  3.6 完成概念模型   3.6.1 识别明显的、额外的数据需求   3.6.2 和客户一起评审   3.6.3 重复以上步骤直到客户同意你的模型  3.7 最佳实践  3.8 总结 第4章 规范化过程  4.1 为什么要规范化   4.1.1 消灭重复数据   4.1.2 避免编写不必要的代码   4.1.3 给表瘦身   4.1.4 最大化聚集索引的使用   4.1.5 降低每张表中索引的数量  4.2 规范化应该走多远  4.3 规范化过程  4.4 实体和属性的形式:第一范式   4.4.1 所有属性必须是原子的   4.4.2 实体的所有实例必须包含相同数量的值   4.4.3 实体中出现的所有实体类型都必须不同   4.4.4 第一范式所避免的不规则编程   4.4.5 当前设计不符合第一范式的线索  4.5 属性间的关系   4.5.1 第二范式   4.5.2 第三范式   4.5.3 Boyce-Codd范式  4.6 实体中的多值依赖   4.6.1 第四范式   4.6.2 第五范式  4.7 非规范化  4.8 最佳实践  4.9 总结  4.10 额外的例子  4.11 本书迄今为止所讲述的故事 第5章 实现基础的表结构  5.1 评审逻辑设计  5.2 变换设计   5.2.1 选择名字   5.2.2 处理子类型   5.2.3 决定树的实现方式   5.2.4 选择键的实现方式   5.2.5 决定域的实现方式   5.2.6 设置模式   5.2.7 评审“最终的”实现模型  5.3 实现设计   5.3.1 创建基本表结构   5.3.2 添加唯一性约束   5.3.3 构建默认约束   5.3.4 添加关系(外键)   5.3.5 处理排序规则和排序   5.3.6 计算列   5.3.7 实现用户定义的数据类型   5.3.8 文档化你的数据库   5.3.9 处理依赖信息  5.4 最佳实践  5.5 总结 第6章 保护数据的完整性  6.1 最佳实
第1章 数据库系统概述 【考试目的】   考核考生对数据模型数据库数据库系统体系结构、数据库管理系统、数据库系 统以及关系、关系模型、关系数据库等基本概念理解的情况。 【考试的知识点】 1.上述常用的数据库术语。 2.数据库系统的特点。 3.关系、属性、元组和键码。 4.数据库系统运行的大致过程。 【考试要求】 理解:数据库常用的基本概念。 理解:数据库系统的特点。 理解:数据库系统运行的大致过程。 基本掌握:简单关系的属性、元组和键码。 第2章 数据库建模 【考试目的】   考核考生对数据库建模的两种基本方法掌握的程度以及对键码和引用完整性这两个 基本概念理解的情况。 【考试的知识点】 1.对象定义语言:面向对象的设计;类的说明;ODL中的属性、联系及其反向联系;联 系的三种类型。 2.实体--联系模型(E/R图):E/R图中联系的三种类型;联系的多向性。 3.设计原则。 4.子类:ODL中的子类和继承;E/R图中的子类和继承。 5.对约束的建模:键码、单值约束、引用完整性。 【考试要求】 理解:数据库建模的基本原则。 理解:子类的继承性。 理解:主键码、外键码以及引用完整性。 熟练掌握:用对象定义语言(ODL)建立简单的数据库模型。 熟练掌握:用实体--联系模型(E/R图)建立简单的数据库模型。 初步掌握:用ODL和E/R图表示子类的方法。 第3章 关系模型和关系运算 【考试目的】  考核考生对关系模型中基本概念的理解情况,对ODL设计和E/R图转换为关系设计的掌 握情况以及用关系代数、关系演算和关系逻辑表达查询的能力。 【考试的知识点】 1.关系模型的基本概念:属性、域、元组、模式。 2.ODL设计转换为关系设计:ODL属性(包括非原子属性)的转换;单值、多值联系及反 向联系的转换;ODL子类的转换。 3.E/R图转换为关系设计:实体集的转换;联系的转换?quot;属于"联系的转换。 4.关系代数:关系的集合运算;投影、选择、笛卡尔积、自然连接、θ连接、改名等基 本运算; 复合运算。 5.关系演算:元组关系演算;域关系演算。 6.关系逻辑:谓词和原子;规则和查询;从关系代数到数据逻辑。 【考试要求】 理解:关系模型的基本概念。 熟练掌握:ODL设计转换为关系设计。 熟练掌握:E/R图设计转换为关系设计。 熟练掌握:用关系代数表达式表达查询要求。 基本掌握:用关系演算表达式表达查询要求。 基本掌握:用关系逻辑表达式(数据逻辑规则)表达查询要求。 第4章 数据库语言SQL 【考试目的】   考核考生用结构化查询语言SQL表达查询要求、进行数据库更新以及定义关系模式的 能力。 【考试的知识点】 1.SQL的特点。 2.简单查询:选择条件、排序输出、聚合运算以及分组处理。 3.连接查询:查询的并、交、差;连接与笛卡尔积;元组变量。 4.嵌套查询:产生单值的子查询;涉及到关系的选择条件;涉及到元组的选择条件;相 关子查询。 5.数据库更新:插入、删除、修改。 6.定义关系模式:定义表、撤消表;更改关系模式;建立和撤消索引。 7.视图:定义视图、查询视图、更新视图、撤消视图。 【考试要求】 熟练掌握:用SQL语句表达简单查询、连接查询。 熟练掌握:用SQL语句表达涉及排序输出、聚合运算以及分组处理的查询。 熟练掌握:用SQL语句表达数据库的更新。 熟练掌握:定义基本表、建立索引。 基本掌握:用SQL语句表达嵌套查询。 初步掌握:定义视图、查询视图。 第5章 查询优化和并发控制 【考试目的】   考核考生对查询优化的策略、方法和步骤理解和掌握的情况以及对并发控制的有关 协议的理解情况。 【考试的知识点】 1.查询优化的一般策略。 2.关系代数的等价变换规则。 3.查询优化的主要步骤。 4.并发调度:事务、数据不一致性、可串行化调度。 5.封锁协议:三级封锁协议、两段锁协议。 【考试要求】 理解:查询优化的必要性以及优化的一般策略。 理解:事务的概念。 理解:并发操作可能带来的数据不一致现象。 理解:可串行化调度。 基本掌握:用关系代数等价变换规则对查询表达式进行优化。 基本掌握:结合查询优化过程画出原始的和优化的语法树。 初步掌握:用三级封锁协议解决并发操作中的数据不一致问题。 初步掌握:用两段锁协议保证并发操作的可串行化。 第6章 关系数据库设计理论 【考试目的】   考核考生对关系模式设计中可能出现的问题及其产生原因以及解决的途径、分解的 原则和方法的理解和掌握的情况。 【考试的知识点】 1.函数依赖函数依赖的定义;关系的键码和超键码;函数依赖规则;计算属性的封闭 集。 2.关系模式设计:可能出现的问题;问题产生的根源;解决的途径;分解的原则;分解 的方法;第一、二、三、BC范式。 3.多值依赖:属性独立性带来冗余;多值依赖
第一章 数据库系统概述 1.简述数据的概念 数据(data)是指用物理符号记录下来的,可以鉴别的信息,是描述事物的符号记录 。 2.数据库管理系统包括哪些功能 a.数据定义功能 b.数据操纵功能 c.数据库的运行管理功能 d.数据库的建立和维护功能 e.数据组织、存储和管理功能 f.与其他软件的网络通信功能、不同数据库管理系统之间的数据传输以及相互访问功 能等 3.什么是并发控制 并发控制是指当多个用户的并发进程同时存取、修改数据库时,可能会发生相互干扰 而得到错误结果,并使得数据库的完整性遭到破坏,因为对多用户的并发操作加以控制 和协调。 4.什么是数据模型 数据模型是对现实世界数据特征的抽象,描述的是数据的共性内容 5.简述关系模型的优点 a.关系模型是简历在严格的数学概念的基础上的 b.关系模型概念单一,统一用关系来表示实体以及实体之间的联系,对数据的检索 和更新结果同样也是用关系(即表)来表示。因为,关系模型的数据结构简单、清晰, 用户易懂,易用。 c.关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性 ,也简化了程序员的工作和数据库开发建立的工作 6.简述物理数据独立性 如果数据库的内模式要修改,即数据库物理存储如若发生改变,那么数据库管理员 (DBA)通常也会对逻辑模式/内模式映像作相应的调整,以使数据库系统的模式尽可能 保持不变。也就是对内模式的修改尽量不影响逻辑模式,当然对于外模式和应用程序的 影响更小,这样,我们称数据库达到了物理数据独立性。 7.简述数据独立性的概念 数据独立性是指使用数据的应用程序和数据库的数据之间相互独立,不受影响。即数 据或应用程序的修改不会引起另一方的修改。 9.什么是三级模式,两级映像,分别有什么作用 三级模式是指数据库系统是由模式、外模式、内模式三级构成的。 两级映像是指 A.模式/内模式映像 定义了数据库全局逻辑结构与物理存储之间的对应关系,这种映像通常是在模式中加 以描述的。 B.外模式/模式映像 定义了各个外模式与概念模式之间的映像关系,这些映像定义通常在各自的外模式中 加以描述。同一个模式可以有任意多个外模式,对于每一个外模式,数据库系统都会 有一个外模式/模式映像 10.数据模型分为哪几层 分为三层。 11.简述数据库系统的特点 数据集成、数据共享性高、数据冗余小、数据一致性、数据独立性高、实施统一的管 理与控制、减少应用程序开发与维护的工作量 第二章 关系数据库 1.关系数据库的基本特征是什么 使用关系数据模型组织数据 2.简述关系模式中可能存在的冗余和异常问题 a.数据冗余 b.更新异常 c.插入异常 d.删除异常 3.请简述关系规范化过程 一个低一级范式的关系模式通过模式分解转换为若干个高一级范式的关系模式的几盒 的过程就叫规范化。在关系数据库系统中,所有的关系结构都必须是规范化的,即至少 是第一范式的。 4.什么是关系模型的完整性约束检验 为了维护关系数据库中数据的完整性,在对关系数据库执行插入,删除和更新操作时 ,需要检验食肉满足实体完整化约束、参照完整性约束、用户定义完整性约束三类完整 性约束 5.什么是完全函数依赖 设R为任一给定关系,X、Y为其属性集。若X Y,且对X中的任何真子集X´都有X —/ Y,则称Y完全函数依赖于X 6.什么是部分函数依赖 设R为任一给定关系,X、Y为其属性集。若X Y,且对X中的存在一个真子集X´满足X´ —/ Y,则称Y部分函数依赖于X 7.什么是范式/第一范式/第二范式/第三范式 范式:关系数据库中的关系需要满足一定的要求,不同程度的要求成为不同的范式( NF) 第一范式:设R为任一给定关系,如果R中的每个列与行的交点处的取值都是不可再分 的基本元素,则R为第一范式 第二范式:设R为任一给定关系,若R为1NF,且其所有的非主属性都不传递函数依赖 于候选关键字,则R为第二范式 第三范式:设R为任一给定关系,若R为2NF,且其每一个非主属性都不传递函数依赖 于候选关键字,则R为第三范式 8.元组、分量、码、超码、候选码、主码、全码、主属性、域、关系模式的定义 元祖:表中的一行即为一个元祖 分量:元祖中的一个属性值,成为分量 码(或键):如果在一个关系中,存在这样的属性(或属性组),使得在该关系的任 何一个关系状态中的两个元祖,在该属性(或属性组)上值的组合都不相同,即这些属 性(或属性组)的值都能用来唯一标识该关系的元祖,则称这些属性(或属性组)为该 关系的码(或键)如果在关系的一 超码:如果在关系的一个码中移去某个属性,它仍然是这个关系的码,则称这样的码 或键为该关系的超码(或超键)。一般每个关系至少有一个默认的超码(或超键),即 该关系的所有属性的集合,也是这个关系的最大超码(或超键) 候选码:如

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值