软件设计师学习笔记12-数据库的基本概念+数据库的设计过程+概念设计+逻辑设计

1.数据库的基本概念

1.1数据库的体系结构

1.1.1常见数据库

①集中式数据库

数据是集中的;数据管理是集中的

②C/S结构

客户端负责数据表服务;服务器负责数据库服务;系统分前后端;ODBC、JDBC

③分布式数据库

物理上分布、逻辑上集中;物理上分布、逻辑上分布;透明性

④并行数据库

分为共享内存式和无共享式

1.1.2分布式数据库的特点

数据独立性。除了数据的逻辑独立性与物理独立性外,还有数据分布独立性(分布透明性)。 ②集中与自治共享结合的控制结构。各局部的DBMS可以独立地管理局部数据库,具有自治的功能。同时,系统又设有集中控制机制,协调各局部DBMS的工作,执行全局应用。 ③适当增加数据冗余度。在不同的场地存储同一数据的多个副本,可以提高系统的可靠性和可用性,同时也能提高系统性能。(提高系统的可用性,即当系统中某个节点发生故障时,因为数据有其他副本在非故障场地上,对其他所有场地来说,数据仍然是可用的,从而保证数据的完备性。)全局的一致性、可串行性和可恢复性

1.1.3分布式数据库的透明性

分片透明:是指用户不必关心数据是如何分片/分块的,它们对数据的操作在全局关系上进行,即如何分片对用户是透明的。

复制透明:用户不用关心数据库在网络中各个节点的复制情况,被复制的数据的更新都由系统自动完成。

位置透明:是指用户不必知道所操作的数据放在何处,即数据分配到哪个或哪些站点存储对用户是透明的

局部映像透明性(逻辑透明)∶是最低层次的透明性,该透明性提供数据到局部数据库的映像,即用户不必关心局部DBMS支持哪种数据模型、使用哪种数据操纵语言,数据模型和操纵语言的转换是由系统完成的。因此,局部映像透明性对异构型和同构异质的分布式数据库系统是非常重要的。

1.1.4例题

(1)

软件设计师学习笔记12-数据库的基本概念+数据库的设计过程+概念设计+逻辑设计_第1张图片

答案:D A

解析:白给

(2)

软件设计师学习笔记12-数据库的基本概念+数据库的设计过程+概念设计+逻辑设计_第2张图片

答案:C

解析:白给

知识点补充与回顾:

在分布式数据库中:

①共享性:所有的数据都是共享的

②自治性:每个节点有局部的数据库管理系统管理

③可用性:某个节点故障,而有副本,系统仍可用

④分布性:在物理结构上分布

1.2三级模式结构

1.2.1三级模式概念图

软件设计师学习笔记12-数据库的基本概念+数据库的设计过程+概念设计+逻辑设计_第3张图片

注:①外模式-概念模式映射/映像对应逻辑独立性

逻辑独立性:数据的逻辑结构发生变化后,用户程序也可以不修改,但是为了保证应用程序能够正确执行,需要修改外模式和概念模式之间的映像。

②概念模式-内模式映射对应物理独立性

物理独立性:当数据的物理结构发生改变时,应用程序不用改变。但是为了能够保证应用程序能够正确执行,需要修改概念模式和内模式之间的映像。

1.2.2例题

软件设计师学习笔记12-数据库的基本概念+数据库的设计过程+概念设计+逻辑设计_第4张图片

答案:B

解析:白给题

软件设计师学习笔记12-数据库的基本概念+数据库的设计过程+概念设计+逻辑设计_第5张图片

答案:B

解析:白给

软件设计师学习笔记12-数据库的基本概念+数据库的设计过程+概念设计+逻辑设计_第6张图片

答案:D

解析:白给

1.3数据仓库

1.3.1数据仓库的特点

①面向主题:数据按主题组织

②集成的:消除了源数据中的不一致性,提供整个企业的一致性全局信息

③相对稳定的(非易失的):主要进行查询操作,只有少量的修改和删除操作(或是不删除)

④反映历史变化(随着时间变化)︰记录了企业从过去某一时刻到当前各个阶段的信息,可对发展历程和未来趋势做定量分析和预测

1.3.2数据仓库的过程

软件设计师学习笔记12-数据库的基本概念+数据库的设计过程+概念设计+逻辑设计_第7张图片

OLAP和OLTP的区分:

OLAP:数据仓库就是典型的OLAP,其中A是分析的意思,着重于分析

OLTP:常见的数据库就是OLTP,关于联机事务,着重于事务

1.3.3例题

软件设计师学习笔记12-数据库的基本概念+数据库的设计过程+概念设计+逻辑设计_第8张图片

答案:B

解析:

A数据清理

D数据抽取

2.数据库的设计过程

2.1设计过程概念图

软件设计师学习笔记12-数据库的基本概念+数据库的设计过程+概念设计+逻辑设计_第9张图片

注:①数据流图(OFD)

②数据字典(OD)

③聚簇索引属于物理设计

④逻辑设计阶段的关系模式需要考虑关系规范化

2.2例题

软件设计师学习笔记12-数据库的基本概念+数据库的设计过程+概念设计+逻辑设计_第10张图片

答案:B

解析:白给

3.概念设计

3.1概念设计过程

软件设计师学习笔记12-数据库的基本概念+数据库的设计过程+概念设计+逻辑设计_第11张图片

在“合并局部模型消除冲突”中:

(1)集成方法:

①多个局部E-R图一次集成

②逐步集成,用累加的方式一次集成两个局部E-R

(2)集成产生的冲突及解决办法:(针对同一对象)

属性冲突:包括属性域冲突和属性取值冲突

命名冲突:包括同名异义和异名同义

结构冲突:包括同一对象在不同应用中具有不同的抽象,以及同一实体在不同局部E-R图中所包含的属性个数和属性排列次序不完全相同

3.2 E-R图

3.2.1 E-R模型示意图

软件设计师学习笔记12-数据库的基本概念+数据库的设计过程+概念设计+逻辑设计_第12张图片

实体用矩形表示,属性用椭圆表示,联系用方块表示,特殊化的实体用特殊矩形+特殊线段表示

3.2.1 E-R图
3.2.1.1基本概念

①实体:实体是现实世界中可以区别于其他对象的事件或事物。(实体集―实体的集合)

②属性:属性是实体某方面的特性

③联系∶实体的联系分为实体内部的联系和实体与实体间的联系。实体间联系类型:一对一(1 : 1)、一对多(1 : n)、一对多(n : m)

3.2.1.2属性

(1)简单属性和复合属性

①简单属性是原子的,不可再分的

②复合属性可以细分为更小的部分(即划分为别的属性)

复合属性的举例:地址可以拆分出省、市

(2)单值属性和多值属性

①定义的属性对于一个特定的实体都只有单独的一个值,称为单值属性

②在某些特定情况下,一个属性可能对应一组值,称为多值属性

多值属性的举例:一个人有好几个号码

(3)一些特殊的属性

①NULL属性:表示无意义或不知道

②派生属性:可以从其他属性得来

派生属性的举例:年龄可由身份证号推出

3.2.1.3联系

(1)一对一(1 : 1)

软件设计师学习笔记12-数据库的基本概念+数据库的设计过程+概念设计+逻辑设计_第13张图片

一个班就只有一个班长,一个班长只对应一个班

(2)一对多(1 : n)(1 : *)

软件设计师学习笔记12-数据库的基本概念+数据库的设计过程+概念设计+逻辑设计_第14张图片

一个班有很多学员,一个学员只属于一个班级

(3)多对多(n : m)(* : *)

软件设计师学习笔记12-数据库的基本概念+数据库的设计过程+概念设计+逻辑设计_第15张图片

一门课程有多个学员学习,一个学员可以学习多门课程

3.2.1.4三元联系

(1)两个以上不同实体集之间的联系可以存在三元联系

(2)多重度的确定,可根据语义直接转换

以三元关系中的一个实体作为中心,假设另两个实体都只有一个实例:

①若中心实体只有一个实例能与另两个实体的一个实例进行关联,则中心实体的连通数为“—”

软件设计师学习笔记12-数据库的基本概念+数据库的设计过程+概念设计+逻辑设计_第16张图片

P_D:表示一个病房有多个病人和多个医生,一个医生只负责一个病房,一个病人只属于一个病房

②若中心实体有多于一个实例能与另两个实体实例进行关联,则中心实体的连通数为“多”

软件设计师学习笔记12-数据库的基本概念+数据库的设计过程+概念设计+逻辑设计_第17张图片

Supp为供应商,Proj为项目,Part为零件

SP_P:表示供应商为多个项目供应多种零件,每个项目可用多个供应商供应的零件,每种零件可由不同的供应商供应。

3.2.1.5同一个实体集内部的二元联系

软件设计师学习笔记12-数据库的基本概念+数据库的设计过程+概念设计+逻辑设计_第18张图片

3.2.1.6扩充的E-R模型

(1)弱实体:在现实世界中有一种特殊的依赖联系,该联系是指某实体是否存在对于另一些实体具有很强的依赖关系,即一个实体的存在必

须以另一个实体为前提,而将这类实体称为弱实体,如家属与职工的联系,附件与邮件

软件设计师学习笔记12-数据库的基本概念+数据库的设计过程+概念设计+逻辑设计_第19张图片

(2)特殊化:在现实世界中,某些实体一方面具有一些共性,另一方面还具有各自的特性,一个实体集可以按照某些特征区分为几个子实体

软件设计师学习笔记12-数据库的基本概念+数据库的设计过程+概念设计+逻辑设计_第20张图片

(3)聚集:一个联系作为另一个联系的一端

软件设计师学习笔记12-数据库的基本概念+数据库的设计过程+概念设计+逻辑设计_第21张图片

4.逻辑设计

4.1关系模式相关概念

4.1.1数据模型

①层次模型

该图来源于数据库系统概论第五版

软件设计师学习笔记12-数据库的基本概念+数据库的设计过程+概念设计+逻辑设计_第22张图片

②网状模型

该图来源于数据库系统概论第五版

软件设计师学习笔记12-数据库的基本概念+数据库的设计过程+概念设计+逻辑设计_第23张图片

其中S-SC和C-SC为联系名

关系模型

关系名(属性1, 属性2, 属性3, ……, 属性n)

eg:学生(学号, 姓名, ……)

该图来源于数据库系统概论第五版

软件设计师学习笔记12-数据库的基本概念+数据库的设计过程+概念设计+逻辑设计_第24张图片

数据模型三要素:数据结构、数据操作、数据的约束条件

④面向对象模型(了解一下)

以对象为单位来组织的模型

4.1.2关系模型的相关概念

(1)目和度

关系模式中属性的个数

(2)候选码(候选键)

若关系中的某一属性组的值能唯一地标识一个元组,而其子集不能,则称该属性组为候选码

(3)主码(主键)

若一个关系有多个候选码,则选定其中一个为主码

(4)主属性与非主属性

候选码的诸属性称为主属性。不包含在任何候选码中的属性称为非主属性或非码属性。

(5)外码(外键)

其它关系的主键

(6)全码

关系模式的所有属性组是这个关系的候选码

(7)关系表的三种类型

基本关系表、查询表、视图表,前者为存在于数据库中的实表,后两者为虚表

(8)完整性约束

实体完整性约束(主键唯一且非空)、参照完整性约束(即外键,要么是其它主键,要么是空)、用户自定义完整性约束

注:触发器可以完成复杂完整性的定义

4.2 E-R图转关系模式

4.2.1相关概念

(1)一个实体型必须转换为一个关系模式

(2)联系转关系模式:

软件设计师学习笔记12-数据库的基本概念+数据库的设计过程+概念设计+逻辑设计_第25张图片

①一对一联系的转换有两种方式

独立的关系模式:并入两端主键及联系自身属性。(主键:任一端主键)

归并(任意一端):并入另一端主键及联系自身属性。(主键:保持不变)

②一对多联系的转换有两种方式

独立的关系模式:并入两端主键及联系自身属性。(生键:多端主键)

归并(多端)∶并入另一端主键及联系自身属性。(主键:保持不变)

③多对多联系的转换只有一种方式

独立的关系模式:并入两端主键及联系自身属性。(主键:两端主键的组合键)

4.2.2例题

其中下划线代表主键,波浪线代表外键

(1)1 : 1

E-R图:

软件设计师学习笔记12-数据库的基本概念+数据库的设计过程+概念设计+逻辑设计_第26张图片

关系模式:

①独立关系模式

软件设计师学习笔记12-数据库的基本概念+数据库的设计过程+概念设计+逻辑设计_第27张图片

②归并:

第一种归并:

软件设计师学习笔记12-数据库的基本概念+数据库的设计过程+概念设计+逻辑设计_第28张图片

第二种归并:

软件设计师学习笔记12-数据库的基本概念+数据库的设计过程+概念设计+逻辑设计_第29张图片

(2)1 :n

E-R图:

软件设计师学习笔记12-数据库的基本概念+数据库的设计过程+概念设计+逻辑设计_第30张图片

关系模式:

①独立关系模式:

软件设计师学习笔记12-数据库的基本概念+数据库的设计过程+概念设计+逻辑设计_第31张图片

②归并:

软件设计师学习笔记12-数据库的基本概念+数据库的设计过程+概念设计+逻辑设计_第32张图片

(3)n : m

E-R图:

软件设计师学习笔记12-数据库的基本概念+数据库的设计过程+概念设计+逻辑设计_第33张图片

关系模式:

软件设计师学习笔记12-数据库的基本概念+数据库的设计过程+概念设计+逻辑设计_第34张图片

上一篇:软件设计师学习笔记12-数据库的基本概念+数据库的设计过程+概念设计+逻辑设计

下一篇:软件设计师学习笔记11-磁盘管理+IO管理软件+文件管理+作业管理

你可能感兴趣的:(软件设计师,软件设计师,软考)