系统架构设计专业技能 · 软件工程(一)【系统架构设计师】
系统架构设计高级技能 · 软件架构概念、架构风格、ABSD、架构复用、DSSA(一)【系统架构设计师】
系统架构设计高级技能 · 系统质量属性与架构评估(二)【系统架构设计师】
系统架构设计高级技能 · 软件可靠性分析与设计(三)【系统架构设计师】
数据模型分为:层次模型、网状模型、面向对象模型、关系模型。
数据模型三要素:数据结构、数据操作、数据的约束条件。
数据的约束条件包括:
(1)实体完整性:
(2)参照完整性:
(3)用户定义完整性:
数据库一般采用三级模式,系统开发人员需要通过视图层、逻辑层和物理层三个层次上抽象来降低用户屏蔽系统的复杂性,简化用户与系统的交互。
从数据库管理系统的角度,数据库也分为为外模式、概念模式和内模式。
数据库系统在三级模式之间提供了两级映像:概念模式/内模式映像、外模式/概念模式映像。这两级映像保证了数据库中的数据具有较高的逻辑独立性和物理独立性。
数据库三级模式
外模式 | 概念模式 | 内模式 |
---|---|---|
又叫子模式或用户模式,用以描述用户看到或使用的那部分数据的逻辑结构,用户根据外模式用数据操作语句或应用程序去操作数据库中的数据 | 是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图 | 是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式,定义所有的内部记录类型、索引和文件的组织方式等 |
数据库两级映像
逻辑独立性 | 物理独立性 |
---|---|
对应外模式和概念模式之间的映像。指应用程序与数据库中的逻辑结构独立,当数据的逻辑结构改变时,应用程序不变 | 对应概念模式和内模式之间的映像。指应用程序与磁盘中的数据互相独立。当数据的物理存储改变时,应用程序不变 |
数据模型三要素:数据结构、数据操作、数据的约束条件。
关系模型表现形式
形式一:
学生(学号,姓名,年龄,班级编号)
形式二:
学生(U,F)
U = { 学号,姓名, 年龄, 班级编号 }
F = { 学号 → 姓名,学号 → 年龄,学号 → 班级编号}
基本概念:
目或度:关系模式中属性的个数。
候选码(候选键):关系中的某一属性或属性组的值,且唯一地标识一个元组。
主码(主键):若一个关系中有多个候选码,则选定其中一个作为主码。
主属性与非主属性:组成候选码的属性就是主属性,其它的就是非主属性。
外码(外键):其他关系的码,就是外键。
全码:关系模式的所有属性组是这个关系的候选码。
完整性约束:
并(∪): 关系R与S的并是由属于或属于S的元组构成的集合。
交(∩): 关系R与S的交是由属于R同时又属于S的元组的集合。
差(—): 关系R与S的差是由属于R但不属于S的元组的集合。
笛卡尔积(X): 两个关系分别为n列和m列的关系R和S的笛卡尔积是一个(n + m)列的元组的集合。其中的前n列是关系R的一个元组,后m列是关系S的一个元组,记作R X S,如果R和S有相同的属性名,可在属性名前加关系名作为限定,以示区别。若R有K1个元组,S有K2个元组,则R和S的笛卡尔积有K1 X K2个元组。
选择(σ):取得关系R中符合条件的行。
投影(π):取得关系R中符合条件的列。
连接(Φ):
等值连接:选取关系R、S,取两者笛卡尔积中属性值相等的元组。
自然连接:一种特殊的等值连接,它要求比较属性列必须相同的属性组,并且把结果中重复属性去掉。
关系数据库设计的目标是生成一组合适的、性能良好的关系模式,以减少系统中信息存储的冗余度,但又可以方便地获取信息。
设R(U,F)是属性U上的一个关系模式,X和Y是U的子集,r为R的任意关系,如果对于r中的任意两个元组u,v,只要有u[Y] = v[Y],则称X函数决定于Y,或称Y函数依赖于X,记X → Y,称为函数依赖。
例如:学号→ 系号, 系号 → 系名
求候选键实例
从已知的函数依赖,可以推导出另外一些函数依赖,这就需要一系列的推理规则,这些规则常被称为”Armstrong 公理“。
设定关系式R(U, F),U是关系模式R的属性集,F是U的一组函数依赖,则有以下三条推理规则:
(1) 自反律:若Y ⊆ X ⊆ U, 则X → Y为F所蕴含。
(2) 增广律:若Z ⊆ U且X → Y为F所蕴含,则XZ → YZ为F所蕴含。
(3) 传递律:X → Y,Y → Z为F所蕴含,则X → Z为F所蕴含。
根据上面的推理规则,又可以推出下面三条规则:
(1) 合并规则:若X → Y,X → Z,则X → YZ为F所蕴含。
(2) 伪传递规则:若X → Y,WY → Z,则XW → Z为F所蕴含。
(3) 分解规则:若X → Y,Z ⊆ Y,则X → Z为F所蕴含。
关系数据库设计的方法之一就是满足适当范式模式,通常可以通过判断分解后的模式达到几范式来评价模式的规范化程度。范式包括:1NF、2NF、3NF、BCNF、4NF、5NF。
(1)第一范式(1NF):在关系模式R中,当且仅当所有域只包含原子值,既每个属性都是不可再分的数据项,则关系模式R属于第一范式。
(2)第二范式(2NF):若关系模式R ∈ 1NF,且每个非主属性完全依赖主码时(不存在部分依赖),则关系模式R属于第二范式。
(3)第三范式(3NF):若关系模式R ∈ 2NF,且没有非主属性对主码的传递函数依赖。则关系模式R属于第三范式。
(4)BC范式(BCNF):设R是一个关系模式,F是它的依赖集,R属于BCNF当且仅当其F中每个依赖的决定因素必定包含R的某个候选码。
数据库设计的基本步骤,可以分为用户需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施阶段(应用程序设计)、运行维护
数据库设计过程:
ER模型简称E-R图 ,是描述概念世界、建立概念模型的实用工具。E-R图的三个要素:
(1)实体:用矩形表示,框内标注实体名称。
(2)属性:用椭圆图形表示,并用连线与实体连接起来。
(3)实体之间的联系:用菱形框表示,框内标注联系名称,用连线将菱形框分别与有关实体相连,并在连线上注明联系类型。
集成的方法:
多个局部ER图一次集成
逐步集成,用累加的方式一次集成两个局部ER。
集成产生的冲突及解决办法:
属性冲突:包括属性域冲突和属性取值冲突
命名冲突:包括同名异议和异名同义
结构冲突:包括统一对象在不同应用中具有不同的抽象,以及同一实体在不同局部ER图中所包含的属性个数和属性排列次序不完全相同。
(1)一对一联系的转换有两种方式
独立的关系模式:并入两端主键及联系自身属性。(主键:任一端主键)
归并(任意一端):并入另一端主键及联系自身属性。(主键:保持不变)
(2)一对多联系的转换有两种方式
独立的关系模式:并入两端主键及联系自身属性。(主键:多端主键)
归并(多端):并入另一端主键及联系自身属性。(主键:保持不变)
(3)多对多联系的转换只有一种方式
独立的关系模式:并入两端主键及联系自身属性。(主键:两端主键的组合键)