一、关系模型的基本概念
1、围绕关系的相关概念
-
三级模式
- 外模式(External Schema):用户能看到和处理的数据的结构描述;
- (概念)模式(Concentual Schema):从全局角度理解和管理的数据的结构描述,含有相应的关联约束;
- 内模式(Internal Schema):存储在物理介质上的数据的结构描述,含存储路径、存储方式、索引方式;
-
两层映像
- E-C映像(E-C Mapping):将外模式映射为概念模式,从而支持实现数据概念视图向外部视图的转换;便于用户观察使用;
- C-I映像(C-I Mapping):将概念模式映射为内模式,从而支持实现数据概念视图向内部视图的转换;便于计算机进行存储和处理;
-
两个独立性
- 逻辑数据独立性:当概念模式变化时,可不改变外部模式(只需改变E-C映像),从而无需改变应用程序;
- 物理数据独立性:当内部模式变化时,可不改变概念模式(只需改变C-I映像),从而无需改变外部模式;
-
模式与数据模型
- 模式:是对数据本身结构形式的抽象
- 数据模型:是对模式本身结构的抽象;它规定了模式的统一描述方式,包括:数据结构、操作、约束;
- 关系模型是一种数据模型:
- 其所有的模式可抽象为Table的形式**[数据结构]**,而每个具体的模式有不同的列名和表名;
- 对这种表形式的数据有哪些 [操作] 和 [约束]
-
三大经典数据模型
- 关系模型:表的形式来组织数据
- 层次模型:树的形式来组织数据
- 网状模型:图的形式来组织数据
-
一个关系就是一个Table
-
关系模型就是处理Table的,由三个部分组成(三要素):
- 描述DB各种数据的基本结构形式(Table \ Relation)
- 描述Table和Table之间各种操作的(关系运算)
- 基本操作:∪\cup∪(并:Union)、−-−(差:Difference)、x(广义积:Product)、σ\sigmaσ(选择:Selection)、π\piπ(投影:Projection)
- 扩展操作:∩\cap∩(交:Intersection)、⋈\bowtie⋈(连接:Join)、÷\div÷(除:Division)
- 描述这些操作应该遵循的约束条件(完整性约束)
- 实体完整性、参照完整性、用户自定义完整性
-
关系运算:关系代数和关系演算 ;关系演算:元组演算和域演算
- 关系代数:基于集合的运算(π姓名,课程(σ课程号=c2(R⋈S))\pi_{姓名,课程}(\sigma_{课程号=c_2}(R \bowtie S))π姓名,课程(σ课程号=c2(R⋈S)))
- 元组演算:基于逻辑的运算 t∣(∃u)(R(t)∧W(u)∧t[3]<u[1]){ t | (\exist u)(R(t) \land W(u) \land t[3] < u[1] ) }t∣(∃u)(R(t)∧W(u)∧t[3]<u[1])
- 域演算:基于示例的演算 {t1,t2,t3∣S(t1,t2,t3)∧R(t1,t2,t3)∧t1<20∧t2>30}\{ t_1,t_2,t_3 | S(t_1,t_2,t_3) \land R(t_1,t_2,t_3) \land t1<20 \land t2>30 \}{t1,t2,t3∣S(t1,t2,t3)∧R(t1,t2,t3)∧t1<20∧t2>30}
-
关系\关系模式:
- 一组域的笛卡尔积的子集;笛卡尔积中具有某种意义的那些元组被称作一个关系;
- 因为关系的不同列可能来自通过一个域,那么为区分,为每个列取一个名字(属性名\列名)
- 关系可用 R(A1:D1,A2:D2,...,An:Dn)R(A_1:D_1, A_2:D_2,...,A_n:D_n)R(A1:D1,A2:D2,...,An:Dn) 来表示,简记为 R(A1,A2,...,An)R(A_1, A_2,...,A_n)R(A1,A2,...,An) ,这种描述即关系模式;
- RRR 表示关系名
- AiA_iAi 表示属性;
- DiD_iDi 表示属性的域;(在定义表的时候,像char(20)、varchar等啊都是表示域)
- nnn 是关系的度或者目;
- 关系中元组的数目称为关系的基数;
- 关系与关系模式两者间的关系:
- 同一个关系模式下,可有很多的关系;
- 关系模式是关系的结构,关系则是关系模式在某一时刻的数据;
- 关系模式是稳定的;而关系是在关系模式在某一刻的值,是随着时间变化的;
- 一组域的笛卡尔积的子集;笛卡尔积中具有某种意义的那些元组被称作一个关系;
-
候选码\候选键
- 关系的一个属性组,其值能唯一的标识一个元组,若从该属性组中去掉任意一个属性,他就不再具备该特性,这样的属性组为候选码;
-
主键\主码
- 当由多个候选码的时候,可选定一个作为主码;
- DBMS是以主码为主要的线索来管理整个关系中的各个元组的;
-
主属性\非主属性
- 包含在任何一个候选码中的属性被称作主属性;而其他属性被称作非主属性;
-
外码\外键
- 关系R的一个属性组并非是R的候选码,但却是与关系S的候选码相对应,那么这个属性组为R的外码\外键;
-
三个完整性约束:
- 实体完整性:关系中的主码属性不可为空;(主键不可为空)
- 参照完整性:关系 R1R_1R1 的外码 FkF_kFk 与关系 R2R_2R2 的主码 PkP_kPk 相对应,那么 R1R_1R1 的每个元组的 FkF_kFk 值要么等于 PkP_kPk 的值要么为空值(NULL);(某个表的外键的值,必须要么存在于另一个表的主键值之中,要么为空)
- User根据具体的应用环境定义完整性约束条件;(如年龄必须在150以下等等)
2、关系代数运算
a. 基本操作
- 并
- 定义:关系R与关系S是并相容的,R与S并运算的结果也是一个关系,记作:R∪SR\cup SR∪S,它由或者出现在R中,或者出现在S中的元组构成;(或者…或者…)
- 数学语言描述:R∪S={t∣t∈R∨t∈S}R \cup S = \{t |t \in R \lor t \in S \}R∪S={t∣t∈R∨t∈S}, 其中t是元组;
- 差
- 定义:关系R与关系S是并相容的,R与S差运算的结果也是一个关系,记作:R−SR - SR−S,它由出现在R中,但是不出现在S中的元组构成;(在…而不在… \ 是…但不含…)
- 数学语言描述:R−S={t∣t∈R∧t∉S}R - S = \{t |t \in R \land t \notin S \}R−S={t∣t∈R∧t∈/S}, 其中t是元组;
- 广义笛卡尔积
- 定义:关系R(<a1,a2,...,am>)R(<a_1,a_2,...,a_m>)R(<a1,a2,...,am>)与关系S(<b1,b2,...,bn>)S(<b_1,b_2,...,b_n>)S(<b1,b2,...,bn>)的广义笛卡尔积运算结果也是一个关系,记作:R×SR \times SR×S,它由**出现在R中的元组与出现在S中的元组进行所有可能的拼接(或串接)**所构成;()
- 数学语言描述:R×S={<a1,a2,...,am,b1,b2,...,bn>∣<a1,a2,...am>∈R∧<b1,b2,...,bn>∈S}R \times S = \{<a_1,a_2,...,a_m,b_1,b_2,...,b_n> |<a_1,a_2,...a_m> \in R \land <b_1,b_2,...,b_n> \in S \}R×S={<a1,a2,...,am,b1,b2,...,bn>∣<a1,a2,...am>∈R∧<b1,b2,...,bn>∈S}, 其中t是元组;
- 设 RRR 是 mmm 度关系,SSS 是 nnn 度关系;笛卡尔积 R×SR \times SR×S 的属性个数 = m+nm + nm+n
- 设 RRR 有 xxx 个元组,SSS 有 yyy 个元组;笛卡尔积 R×SR \times SR×S 的元组个数 = x×yx \times yx×y
- 选择(Select)
- 定义:选择运算的结果也是一个关系,记作 σcond(R)\sigma_{cond}(R)σcond(R),它由从关系 RRR 中选择满足条件 condcondcond 的元组构成;
- 数学语言描述:σcond(R)={t∣t∈R∧cond(t)=′真′}\sigma_{cond}(R) = \{t| t \in R \land cond(t) = '真' \}σcond(R)={t∣t∈R∧cond(t)=′真′}
- 投影(Projection)
- 定义:投影运算也是一个关系,记作 πA(R)\pi_{A}(R)πA(R)。它由从关系 RRR 中选出属性包含在 A 中的列构成;
- 数学语言描述:ΠAi1,Ai2,...,Aik(R)={<t[Ai1],t[Ai2],...,t[Aik]>∣t∈R}\Pi_{A_{i1},A_{i2},...,A_{ik}}(R) = \{ < t[A_{i1}],t[A_{i2}],...,t[A_{ik}]> | t \in R\}ΠAi1,Ai2,...,Aik(R)={<t[Ai1],t[Ai2],...,t[Aik]>∣t∈R}
b. 扩展操作
- 交
- 定义:关系R与关系S是并相容的,R与S的交运算结果也是一个关系,记作:R∩SR\cap SR∩S,它由出现在R中同时出现在S中的元组构成;(即…又… \ 并且)
- 数学语言描述:R∩S={t∣t∈R∧t∈S}R\cap S = \{t |t \in R \land t \in S \}R∩S={t∣t∈R∧t∈S}, 其中t是元组;
- 通过差运算来实现交运算: R∩S=R−(R−S)=S−(S−R)R\cap S = R - (R-S) = S - (S - R)R∩S=R−(R−S)=S−(S−R)
- $\theta $ 连接操作
- 定义:R与S的 θ\thetaθ 连接运算结果也是一个关系,记作:R⋈AθBSR\bowtie_{A\theta B} SR⋈AθBS,它由在R与S的笛卡尔积中,选择R中属性A与S中属性B之间满足θ\thetaθ 条件的元组构成;()
- 数学语言描述:R⋈AθBS=σt[A]θt[B](R×S)R\bowtie_{A\theta B} S = \sigma_{t[A] \theta t[B]}(R \times S)R⋈AθBS=σt[A]θt[B](R×S)
- 操作步骤:
- 对两个表进行笛卡尔积(在DBMS中并不会进行笛卡尔积操作,这里只是为了便于理解)
- 从笛卡尔积中选择符合 AθBA\theta BAθB 条件的元组
- 在所需投影字段上进行投影,得到最终结果
- 等值连接是一种特殊的 θ\thetaθ连接,而自然连接又是一种特殊的等值连接;
c. 复杂扩展操作
- 除操作
- 求解 “查询…全部的\所有的…” ;
- 前提条件:关系R(<A1,A2,...,An>)R(<A_1, A_2,...,A_n>)R(<A1,A2,...,An>)是n度关系,关系S(<B1,B2,...,Bm>)S(<B_1, B_2,...,B_m>)S(<B1,B2,...,Bm>)是m度关系,只有在S的属性集是R的属性集的真子集的时候,才可进行R÷SR\div SR÷S操作;
- R÷SR \div SR÷S的属性集以及元组的形成方式:
- 结果的属性集 {C1,...,Ck}={A1,A2,...,An}−{B1,B2,...,Bm}\{C_1,...,C_k\} = \{A_1, A_2,...,A_n\} - \{B_1,B_2,...,B_m\}{C1,...,Ck}={A1,A2,...,An}−{B1,B2,...,Bm},那么有k = n-m,即R÷SR\div SR÷S是k度关系;
- 结果的元组满足的条件:它与S的每个元组<B1,B2,...,Bm><B_1,B_2,...,B_m><B1,B2,...,Bm>组合形成的新元组都是R的某个元组;
- 数学语言描述:R÷S={t∣t∈ΠR−S(R)∧∀u∈S(tu∈R)}=ΠR−S(R)−ΠR−S((ΠR−S(R)×S)−R)R \div S = \{ t | t \in \Pi_{R-S}(R) \land \forall u \in S(tu \in R) \} = \Pi_{R-S}(R) - \Pi_{R-S}((\Pi_{R-S}(R) \times S) - R)R÷S={t∣t∈ΠR−S(R)∧∀u∈S(tu∈R)}=ΠR−S(R)−ΠR−S((ΠR−S(R)×S)−R)
- 外连接
- 外连接 = 自然连接(或者θ\thetaθ连接) + 失配的元组(与全空元组形成的连接)
- 外连接的三种形式:
- 左外连接 = 自然连接(或者θ\thetaθ连接)+ 左侧表中失配的元组(A⟕BA ⟕ BA⟕B)【保留左边的失配元组,右边的用?表示】
- 右外连接 = 自然连接(或者θ\thetaθ连接)+ 右侧表中失配的元组(A⟖BA ⟖ BA⟖B)【保留右边的失配元组,左边的用?表示】
- 全外连接 = 自然连接(或者θ\thetaθ连接)+ 两侧表中失配的元组(A⟗BA⟗BA⟗B)【保留两边的失配元组】
d. 实际应用
- 书写关系代数表达式的基本思路:
- 查看涉及的表的数量,如果是一个表,直接进行并、交、差、选择、投影等运算;
- 如果涉及多个表,检查:
- 能否进行自然连接,将多个表连接起来;
- 不能自然连接,看看能不能进行等值连或者 θ\thetaθ连接
- 如若还是不能,那么使用笛卡尔积,并写明相关条件;
- 连接完成后,针对聚合到的结果集,再次进行选择、投影等操作;
3、完整性约束
(1)数据库完整性指的是:DBMS应保证的DB的一种特性——在任何情况下的正确性、有效性、一致性;
- 广义完整性:语义完整性、并发控制、安全控制、DB故障恢复等
- 狭义完整性:专指语义完整性;(在数据库原理中只对狭义完整性进行讨论学习)
(2)**完整性约束条件(完整性约束规则)**的一般形式: Integrity Constraint::=(O,P,A,R)Integrity \; Constraint ::= (O, P, A, R)IntegrityConstraint::=(O,P,A,R)
- O:数据集合(约束的对象)
- P:谓词条件(什么样的约束)
- A:触发条件(何时检查)
- R:响应动作(不满足约束时该怎么办)
(3)完整性约束分类
- 按约束对象分类:域完整性约束条件、关系完整性约束条件;
- 按约束来源分类:
- 结构约束:如函数依赖、主键约束(实体完整性)、外键约束(参照完整性),只关心数值相等与否、是否允许空值等;
- 内容约束:用户自定义完整性,关心元组或者属性的取值范围;
- 按约束状态分类:
- 静态约束:要求DB在任何时候都要满足的约束;(如 age 应该小于 150岁)
- 列完整性——域完整性约束
- 表完整性——关系完整性约束
- 动态约束:要求DB从一状态变为另一状态的时候,需要满足的约束;(如工资只能升不能降)
- 触发器
- 静态约束:要求DB在任何时候都要满足的约束;(如 age 应该小于 150岁)
二、数据建模
1、数据建模思想与方法
- 数据模型与概念模型(抽象)

2、IDEF1X图
-
IDEF1X图的重要概念
-
实体:
-
独立实体——强实体:
-
一个实体的实例被唯一的标识而不决定于它与其他实体的联系
-
独立实体的关键字属性是自身拥有的属性

-
-
从属实体——弱实体:
-
一个实体的实例的唯一标识需要依赖于该实体于其他实体间的联系
-
从属实体需要从其他实体继承属性作为关键字的一部分
-
从属实体的主关键字包含了继承自其他实体的属性

-
-
-
联系:联系分为连接联系、分类联系和不确定联系;
(1)连接联系又称父子联系,可进一步分为标定联系和非标定联系;
-
标定联系:子实体的实例都是由它与父实体的联系而确定的。父实体的主关键字是子实体主关键字的一部分;

可标定联系表达了子父类关系,关系的图形为一条实线;要写上联系名;实点的一端在子类那边; -
非标定联系:子类实体的实例可唯一被标识,无需依赖与其他实体的联系;父类实体的关键字也不是子类实体的主关键字;

关系的图形为一条虚线;另外需要在联系的图像边写上联系名
(2)分类联系:一个实体实例是由一个一般实体实例和多个分类实体实例构成;
-
一个一般实体是若干具体实体的类
-
分类实体与一般实体有相同的关键字
-
不同的分类实体除了具有一般实体的特征外,各自还可能有不同的属性特征;

完全分类的图形是 === ;而非完全分类的图形是 −-−
(3)非确定联系:即实体之间多对多的联系
-
非确定联系必须分解为若干个一对多的联系;
-
通过引入相关实体 / 相交实体来将非确定联系拆解为若干一对多的联系;

其中借阅表为相交实体;
【确定联系通过属性继承来实现两实体间的联系;】
【非确定联系通过引入相交实体实现两实体间的联系;】
-
-
属性\关键字:
- 属性:表示一类现实或者抽象事物的一种特征或性质;
- 关键字:能唯一确定实体每个实例的属性或属性组;
- 主关键字\主码——主属性
- 次关键字\候选码
- 外来关键字\外键——外来属性:其他实体的关键字;
-
3、数据库设计过程
数据库设计的四个过程:需求分析、概念数据库设计、逻辑数据库设计、物理数据库设计;

(1)需求分析
- 要在需求分析中,明确以下内容:
- 企业的部门-岗位划分:不同岗位负责的各种日常管理信息表\报表
- 形成各种报表的基础数据表
- 各种数据表之间的处理关系;(What—How)
- 围绕数据表的业务处理关系;(Who—When—Where)
- 尚未实施但未来可能实施的需求;
- 可结合数据流图辅助分析与理解
- 最终形成需求分析报告
(2)概念数据库设计
-
要在概念数据库设计中,明确以下内容:
- 各种实体的发现、划分、定义;
- 各种实体属性的发现、划分、定义;
- 各种实体联系的发现、划分、定义;
- 外部视图(模式)和概念视图(模式)的定义;
-
最终形成IDEF1X模型图;
-
概念数据库设计的两种设计思路:
-
先局部后全局:

-
先全局后局部:

-
(3)逻辑数据库设计
- 要明确以下内容:
- 将E-R / IDEF1X 图转换成逻辑模式;
- 遵循关系范式的设计原则;
- 注意折中,但折中处理的时候需要提示应用开发者或使用者可能存在的问题;
- 外模式和概念模式的定义
- 用关系、层次、网状模型来描述设计的模式(关系)
- 数据库设计的理论(数据库设计中应遵循的原则):
- 数据依赖理论
- 关系范式理论
- 模式分解理论
(4)物理数据库设计
- 要明确以下内容:
- DBMS选型
- 确定数据库的存储结构,文件类型:如定长文件、不定长文件;堆文件、散列文件或B+Tree文件;
- 使用触发器,设计一系列的完整性控制约束
- 确定数据库的搞笑访问方式(索引访问、直接访问等)
- 评估和设置磁盘空间需求;
- 设置用户视图和访问控制规则,进行安全性控制;
- 建立索引;
- 设计使数据库运行达到最大效率的一些措施
- 设计备份Backup和恢复Recovery
4、函数依赖
1. 定义
设 R(U) 是属性集合 U={A1,A2,...,An}U=\{A_1, A_2, ..., A_n\}U={A1,A2,...,An} 上的一个关系模式,X和Y是U上的两个子集,若对R(U)的任意一个可能的关系 r,r 中不可能有两个元组满足在X中的属性值相等而在Y中的属性值不等,则称 ”X函数决定Y“ 或 ”Y函数依赖于X“, 记作 X → Y;
从本质上讲,函数依赖是对属性之间取值的一种约束,是一种数据依赖;
2. 分类
a. 部分\全部函数依赖:在 R(U)R(U)R(U) 中,若 X→YX→YX→Y 并且对 XXX 的任何真子集 X′X'X′ ,都有 X′X'X′ 不能决定 YYY,则称 YYY 完全函数依赖于 XXX ,记作X⟶fYX \stackrel{f}{\longrightarrow} YX⟶fY;否则称 YYY 部分函数依赖于 XXX,记作:X⟶pYX \stackrel{p}{\longrightarrow}YX⟶pY;
b. 传递函数依赖:在 R(U)R(U)R(U) 中,若 X→YX \rightarrow YX→Y,Y→ZY \rightarrow ZY→Z ,且 Y⊄X,Z⊄Y,Z⊄X,Y↛XY \not\subset X,Z \not\subset Y, Z \not\sub X, Y \not\rightarrow XY⊂X,Z⊂Y,Z⊂X,Y→X,则称Z传递依赖于X。
3. 几个重要概念
a. 候选键: 设 K 为 R(U) 中的属性活或属性组合,若 K⟶fUK \stackrel{f}{\longrightarrow}UK⟶fU,则称K为 R(U) 上的候选键;
b. 外来键: 若 R(U) 中的属性或属性组合 X 并非 R 的候选键,但 X 确实另一个关系的候选键,则称 X 为 R 的外来键,简称外键。
c. 逻辑蕴含: 设 F 是关系模式 R(U) 中的一个函数依赖集合,X,Y 是 R 的属性子集,如果从 F 中的函数依赖能推导出 X → Y,则称 F 逻辑蕴含 X → Y,或者称 X → Y 是 F 的逻辑蕴含。
d. 闭包: 被 F 逻辑蕴含的所有函数依赖集合称为 F 的闭包, 记作 F+F^+F+;
4. 函数依赖的公理与定理
5. 函数依赖集的最小覆盖
5、关系范式
1. 1NF
若关系模式 R(U)R(U)R(U) 中关系的每个分量都是不可分的数据项(值、原子),则称 R(U)R(U)R(U) 属于第一范式是,记作 R(U)∈1NFR(U) \in 1NFR(U)∈1NF。
第一范式要求关系中不可有符合属性、多值属性及其组合;
2. 2NF
若 R(U)∈1NFR(U) \in 1NFR(U)∈1NF,却 UUU 中的每一个非主属性完全函数依赖于候选键,则称 R(U)R(U)R(U) 属于第二范式,记作 R(U)∈2NFR(U) \in 2NFR(U)∈2NF。
第二范式消除了关系的非主属性对候选键的部分函数依赖;
3. 3NF
若R(U)∈2NFR(U) \in 2NFR(U)∈2NF,且 RRR 中不存在这样的情况:候选键 X,属性组 Y⊆UY \sube UY⊆U 和非主属性A,且 A∉X,A∉Y,Y⊄X,Y↛XA \notin X, A \notin Y, Y \not\sub X,Y \not\rightarrow XA∈/X,A∈/Y,Y⊂X,Y→X,使得 X→Y,Y→AX \rightarrow Y, Y \rightarrow AX→Y,Y→A成立。满足以上条件则称 R(U) 属于第三范式,记作:R(U)∈3NFR(U) \in 3NFR(U)∈3NF;
第三范式消除了非主属性对候选键的传递函数依赖;
关系模式的设计中,如果满足了第三范式,就一定能满足第二范式;反之不然;
将关系模式分解成3NF:
- 将每个函数依赖单独组成一个关系,此时每个模式都满足第三范式;
- 将一些模式进行合并;
4. BCNF
若R(U)∈1NFR(U) \in 1NFR(U)∈1NF,若对任何 X→Y∈F(或X→A∈F)X \rightarrow Y \in F(或X \rightarrow A \in F)X→Y∈F(或X→A∈F),当Y⊄X(或A∉X)Y \not\sub X(或A \notin X)Y⊂X(或A∈/X)时, X比含有候选键,则称 R(U) 属于Boyee-Codd范式,记作:R(U)∈BCNFR(U) \in BCNFR(U)∈BCNF;
将关系模式分解成BCNF:
- 将左侧不含候选键的函数依赖单独写成一个关系,将包含候选键的组成一个关系;
- 将部分模式进行合并;
5. 4NF
设R(U)∈1NFR(U) \in 1NFR(U)∈1NF,D是其上的一组依赖(函数依赖,多值依赖),对任意 X→→Y∈DX \rightarrow\rightarrow Y \in DX→→Y∈D,若Y≠∅Y \not= \emptyY=∅,Y⊄X,XY≠UY\not\sub X, XY \not= UY⊂X,XY=U, 则必有X为超键,则称 R(U) 属于第四范式,记作:R(U)∈4NFR(U) \in 4NFR(U)∈4NF;
6. 多值依赖及其公理
6、模式分解
关系模式 R(U)R(U)R(U) 的分解:即用 $ R$ 的一组子集 p={R1(U1),...,Rk(Uk)}p = \{R_1(U_1),...,R_k(U_k)\}p={R1(U1),...,Rk(Uk)} 来代替 RRR ;其中 U=U1∪U2∪...∪UkU = U_1 \cup U_2 \cup ... \cup U_kU=U1∪U2∪...∪Uk;
-
无损连接分解和保持依赖分解的概念
无损连接分解即 RRR 与 ppp 在数据内容方面是不是等价的;
保持依赖分解即 RRR 与 ppp 在数据依赖方面是不是等价的; -
如何进行无损连接分解和保持依赖分解
判断算法:
a. 判断是不是无损连接;
b. 判断是不是保持依赖 -
五个算法
本文详细介绍了关系数据库的基本概念,包括三级模式、两层映像和两个独立性,强调了关系模型的数据结构、操作及完整性约束。重点阐述了关系代数运算,如并、差、选择、投影,以及交、连接、除和外连接等。此外,还探讨了数据建模的重要性,IDEF1X图的关键概念,如实体、联系和属性,并概述了数据库设计的四个阶段:需求分析、概念设计、逻辑设计和物理设计。最后,讨论了函数依赖、关系范式以及模式分解的概念,为数据库设计提供了理论基础。
772

被折叠的 条评论
为什么被折叠?



