数据库系统基础教程二:关系数据库设计理论

数据库系统概论 思维导图 阅读详情

        在前一篇里介绍了关系代数,本节将基于关系代数说明关系数据库设计的理论。其中函数依赖作为基础部分,在模式设计的约束中引入各种范式及其应对的问题。

        3.1 函数依赖

        关系设计理论使人们可以根据少数简单的原则来检验一个设计并进行改进。设计理论规定了作用在关系上的约束,最常见的约束为函数依赖FD。

        3.1.1 FD的定义

        关系R上的函数依赖:如果R的两个元组在属性A1,A2, ... , An上一致,那么它们必须在属性B1,B2,...,Bm上也一致,我们称Ai函数决定Bj,形式地记作A1,A2,..,An -> B1,B2,..,Bm。

        如果关系R的每个实例都使得一个FD f 为真,则称R满足函数依赖f。

        3.1.2 关系的键

        如果关系R的属性集t={A1,A2,...,An}是键,则必须满足1) 这些属性函数决定关系所有其他属性,2)在t的所有真子集中,没有一个可以函数决定R的其他属性。概括说来键是最小属性集且函数决定其他属性。如果一个属性集只满足第1个条件,不满足第2个条件,则称其为超键。

        若一个关系中有多个键,则要指定其中一个为主键。

        3.2 函数依赖的推导和规则

        3.2.1 FD的推导

        对于关系R,FD有不同的表示方式。记S和T是R的函数依赖集合

        S=>T:关系实例在满足S的函数依赖的同时,也满足函数依赖T,但反之不成立。

        S和T等价:关系实例在满足S和满足T的情况完全一样。此时有S=>T,且T=>S。

        传递性:若存在FD X->Y,Y->Z,则有X->Z。

        传递函数依赖:有R(U),若X->Y,Y->Z,不存在Y->X,且Y不是X的真子集,Z不是Y的真子集,则称Z传递依赖于X。

        增广性:若存在X->Y,则有XZ->YZ。

        3.2.2 分解/结合规则

        FD A1,A2,...,An -> B1,B2,...,Bm 等价于一组FD的集合:

        (1) A1,A2,...,An -> B1;  (2) A1,A2,...,An -> B2;  .... ,  (m) A1,A2,...,An -> Bm。

        3.2.3 平凡函数依赖

        平凡函数依赖的右边是左边的真子集。形式化的,对于关系R(U),U是属性的全集,有U的子集X和Y,FD X->Y,若Y ⊆ X,则称此FD为平凡函数依赖。反之,则称FD为非平凡的函数依赖。

        3.2.4 计算属性集的闭包

        若有T={A1,A2,...,An}是属性集合,S={f1,f2,..,fm}是函数依赖的集合,则S集合下属性集合T的闭包记作T+,T+中的每个元素都满足S,且可以由T推断出来。

        属性闭包算法:

        输入:属性集合T {A1, A2, ..., An} ,FD集合S

        输出:闭包{A1,A2,....,An}+

        1 如有必要,分解S中的FD,使其右边只有一个属性

        2 设D为结果集,并初始化为T

        3 从S中寻找FD X->Y 使得 X⊆D 中,而Y不在D中。若找到,将Y加入D中,并重复这一过程。当最终不能有元素再加入D时终止。

        4 此时D即为{A1,A2,....,An}+

        算法的有效性可以由传递性来导出。

        3.2.5 函数依赖的基本集

        给定一个FD集合F,任何与F等价的FD集合都称为F的基本集,这里我们只考虑右边为单个属性的FD所组成的基本集。

        最小化基本集:1) 所有FD右边均为单一属性 2) 从中删除任意一个FD,此集合不再是基本集 3) 从任意一个FD中删除一个或多人属性,此集合不再是基本集     

        3.2.6 函数依赖的投影

        对于关系R,及其上的FD集合F,若对R进行投影生成新的关系S,则S对应的FD集合F' 称为函数依赖F的投影。F'中的FD满足从F推断而来且只包含S中的属性。

        函数依赖集的投影算法:

        输入:关系R及其投影S=πL(R),R的FD集F

        输出:在S中成立的FD集合

        1 令T为待求结果集,初始为空集

        2 对于S的每个子集X,计算X+,计算依据FD集合F。对于所有在X+中且属于S的属性A,将所有非平凡FD X->A添加到T中。

        3 此时T是S中成立的FD的基本集,但可能不是最小化基本集。通过以下步骤构造T的最小化基本集:(最小基本集算法)

        3.1 若T中某个FD能从T中其他FD推断出来,则从T中删除之。

        3.2 对于每个FD的左边是多个属性的FD f ,若FD的左边删除一个属性后的新FD f'1 仍能从T中其他FD推断出来,则用f1替代f。

        3.3 重复上面两个步骤,直到T不再变化。


        3.3 关系数据库模式设计与BCNF范式

        3.3.1 异常

        不好的设计会产生数据库使用上的异常,其基本类型有冗余(占用大量空间)、更新异常(无法全部更新)、删除异常(删除后导致某些数据丢失)。

        一般用分解关系的方法来消除异常。即将一个不合理的关系,分解为多个合理的关系。

        3.3.2 BCNF范式

        若R属于BCNF当且仅当:R的非平凡FD的左边都是超键。形式化的若R的非平凡FD X->Y,则X为R的超键。

        3.3.3 BCNF分解算法

        输入:关系R0和其上的函数依赖F0

        输出:由R0分解出的关系集合,其中每个关系均属于BCNF

        1 设置R=R0,F=F0

        2 若R已经是BCNF,若返回{R}

        3 若R存在BCNF违例,假设为X->Y。使用属性闭包算法计算X+,选择R1=X+作为关系模式,使用R2包含属性X和不在X+中的属性。

        4 使用FD的投影算法计算R1和R2的FD集,分别记为F1和F2。

        5 使用本算法递归地分解R1和R2。返回分解得到的结果集合。

        3.4 分解的优劣

        分解具有三个性质:1 消除异常 2 信息可恢复 3 依赖的保持 

        上面介绍的BCNF分解可以保持前两条性质,而下节介绍的3NF可以保持后两条性质。事实上,没有办法同时保证这三个性质。

        3.4.1 从分解上恢复信息

        如果一种连接在分解后,可以通过连接重新获得R,则称此分解含有无损连接。

        对于关系R,R的属性集为X U Y U Z,如果有X->Y成立,则R =πx,y(R) ⋈ πx,z(R)。从这条结论上看,BCNF分解算法可以保证分解包含无损连接。

        3.4.2 无损连接的chase检验

        当一个关系分解含有无损连接时,即πs1(R) ⋈ πs2(R) ⋈ ...⋈πsi(R) = R时,连接结果的每个元组都属于R。

        chase检验法:

        1) 初始化图表:假设R包含属性A,B...,使用a,b,...来表示元组在对应属性上的分量。如果t在连接结果中,则R中必然存在元组t1,t2,...,tk,使得每个ti在对应的属性集Si上的投影结果的连接为t。由此ti和t在对应关系Si的属性一致,但ti的其他分量未知。对于ti,使用和t相同的字母表示地些Si属性上的分量,若不属于Si,则加下标i。

        2) chase过程。使用F中FD来尽可能等同图表中的字母。在等同字母时,如果其中一个是不带下标的,将另一个也变为不带下标的。如果等同两个带不同下标的字母,可以将任一个字母的下标变得和另一个相同。如果发现某一行与t相同,即可以证明连接后为无损。

       3.4.3 chase检验的形式化描述

  设关系模式R=A1,…,An,R上成立的FD集F,R的一个分解p={R1,…,Rk}。无损连接分解的判断步骤如下:
  (1)构造一张k行n列的表格,每列对应一个属性Aj(1≤j≤n),每行对应一个模式Ri(1≤i≤k)。如果Aj在Ri中,那么在表格的第i行第j列处填上符号aj,否则填上符号bij。
  (2)把表格看成模式R的一个关系,反复检查F中每个FD在表格中是否成立,若不成立,则修改表格中的元素。修改方法如下:对于F中一个FD:X→Y,如果表格中有两行在X分量上相等,在Y分量上不相等,那么把这两行在Y分量上改成相等。如果Y的分量中有一个是aj,那么另一个也改成aj;如果没有aj,那么用其中的一个bij替换另一个(尽量把ij改成较小的数,亦即取i值较小的那个)。
  若在修改的过程中,发现表格中有一行全是a,即a1,a2,…,an,那么可立即断定p相对于F是无损连接分解,此时不必再继续修改。若经过多次修改直到表格不能修改之后,发现表格中不存在有一行全是a的情况,那么分解就是有损的。特别要注意,这里有个循环反复修改的过程,因为一次修改可能导致表格能继续修改。
  修改过程中要特别注意,若某个bij被改动,那么它所在列的所有bij都需要做相应的改动。为了明确这一点,举例说明。例如,我们根据FD“H→I”、“ K→L”来修改表格之前时的表格如表1所示(已经过多次修改,非初始表,空的单元表示省略):
  表1
H
I
J
K
L
R1
 
b12
 
 
b35
R2
a1
a2
 
a4
b25
R3
a1
b12
 
a4
b35
R4
 
b12
 
 
b35
  R2、R3所在行的H分量都为a1,根据FD“H→I”,需要修改这两行对应的I分量,而R2所在行的I分量为a2,因此,要将R3所在行的I分量b12修改为a2,注意到,R1、R4所在行的H分量也为b12,因此,这两行对应的I分量也必须修改为a2。R2、R3所在行的K分量都为a4,根据FD“K→L”,需要修改这两行对应的L分量,于是将R3所在行的L分量b35修改为较小的b25,同时注意到,R1、R4所在行的L分量也为b35,因此,这两行对应的L分量也必须修改为b25。修改后的表格如表2所示:
  表2
 
H
I
J
K
L
R1
 
a2
 
 
b25
R2
a1
a2
 
a4
b25
R3
a1
a2
 
a4
b25
R4
 
a2
 
 
b25


       3.4.4 依赖的保持

       在某些情况下,分解为BCNF后,在无损连接后,得到的一些元组可能不满足原始关系的函数依赖。

        3.5 第1-3范式

        3.5.1 范式定义

        第三范式:关系R是第三范式,当且仅当对于R的非平凡FD,FD的左边要么是超键,要么右边仅由主属性构成。(主属性为键的构成属性)。

        第二范式:关系R是第二范式,当且仅当R符合第一范式,且R的非主属性完全函数依赖于R的主属性。

        第一范式:关系R的每个元组必须有一个主键,且属性的取值只能为单个值。

        从第一范式到BCNF,是对R中非平凡FD的约束增强的一个过程。在1NF约束下,元组可能由多个FD组成,会存在多个不相关的属性。在2NF约束下,将不相关的属性限制为可由各个FD推断的属性。在3NF约束下,更是限制只能有一个FD存在或存在传递依赖。在BCNF约束下,只能存在一个FD。

        3.5.2 3NF分解算法

        输入:关系R和其FD集F

        输出:由R分解出的关系集合,每个关系都属于3NF

        1 找到F的一个最小基本集,记为G

       2 对于G中的每个FD X->A,将XA作为分解出的一个关系模式Ri

        3 若第2步分解得到的关系均不包含R的超键,则增加一个关系,其模式为R的任意一个键

        3.6 多值依赖与第四范式

        3.6.1 多值依赖MVD

        给定关系模式R(U),X,,Y,Z是U的子集,且Z=U-X-Y。若多值依赖X->->Y成立,当用仅当给定一对(x,z)的值有一组Y的值,Y的值仅仅决定于X而与Z不相关。

        更精确的,对于R中每个在X属性集上一致的元组t,u,能在R中找到元组v,满足以下条件:1) v在X属性集上与t,u相同 2) v在Y属性集上与 t 相同 3) v在属性集Z上与 u 相同

        MVD常常发生在试图把基于X属性两个独立属性集Y,Z合并在单个关系中(两个或以上个1:N关系出现在单个关系中),这就导致关系中需要对Y,Z进行完全配对组合,产生大量冗余。如下面的例子,监护人列仅仅于姓名有关,而与联系方式列无关。

        姓名 联系方式  监护人
       小明    10000  明爸
       小明    20000  明爸
       小明    10000  明妈
       小明    20000  明妈    

        3.6.2 多值依赖的推导

        平凡MVD:若Y是X的子集,则MVD X->->Y在任何关系中成立。

        传递规则:如果MVD X->->Y, Y->->Z,则有X->->Z,Z中属于A的属性要从Z中去掉。

        FD提升:FD是MVD,即如果有X->Y,则X->->Y。

        互补规则:由MVD的定义,在R上,Z=U-X-Y。如果存在MVD X->->Y,则也存在MVD X->->Z。

        附加平凡MVD:对R(U),若U = X U Y,则MVD X ->->Y成立。

        3.6.3 第四范式

        关系R为4NF,当且仅当,对于R的每个非平凡MVD X ->->Y,其X为超键。

        第四范式分解算法:

        输入:关系R0(U0),其上的FD和MVD集合F0

        输出:由R0分解出来的关系集合,每个关系都属于4NF。分解具有无损连接性质。

        1 初始化R(U)=R0,F=F0

        2 在F中寻找1个4NF违例,如果不存在,R已为4NF,返回R

        3 若存在4NF违例X->->Y,则将R分解为以下两个模式:R1(X,Y),R2(X,U-X-Y)

        4 计算R1,R2的投影FD和MVD。根据投影后的依赖集合递归的分解R1和R2。(在3.7节会讨论MVD的投影算法)

        例如对于上例,可以分解为两个模式(姓名,联系方式)  (姓名,监护人)

        3.6.4 范式间的关系

        

        3.7 MVD发现算法

        3.7.1 闭包与chase

        前面介绍的闭包其实和chase算法本质是相同的。判断X->Y是否可由F推断可基于chase方法如下:

        1 初始化图例包含两行,它们仅在属性集X上一致

        2 使用F中的FD在图例上执行chase过程

        3 若最终的图例在属于Y的所有列上一致,则X->Y成立,否则不成立。

        3.7.2 将chase扩展到MVD

        将chase的FD推导方法也同样可用来推导MVD。如果要从给定的FD和MVD集中推导出MVD X->->Y,则初始图例要包含两个在X上一致但在所有其他属性上均不同的行。使用给定的FD来等同字母,使用给定的MVD来交换已有的两行中的Y属性的值以产生新行。如果在图例中发现了一个原始元组的Y属性被另一个原始元组的Y属性替换,则可推导出MVD成立。

        简单的方法是定义一个目标元组行,并从不改变它。即令目标行的每个分量均为不带下标的字母。初始时,令图例中与X-和Y对应的两个原始行中所有属于X的分量均为不带下标的字母。第一行中所有属于Y的分量也不带下标,第二行中所有不属于X和Y的分量不带下标。这样在chase过程中,只需要观察是否有所有分量均为不带下标字母的行出现在图例中即可。

        3.7.3 投影MVD

        在将关系分解以后需要计算投影关系的MVD及FD的投影,FD的投影算法之前已有描述。这里可以借用chase方法来在每个分解得到的关系上检验所有的FD和MVD。然而通常不需要对所有MVD进行处理,下面是简化方法:

        1 平凡FD和MVD不需要检验

        2 对于FD,由于存在合并规则,只需要寻找右边为单个属性的FD

        3 如果一个FD或MVD的左边不包含任何给定依赖的左边,则其必定不成立,不需要检验。

        参考文献

        多值依赖与第四范式  http://en.wikipedia.org/wiki/Fourth_normal_form

        数据库系统基础教程 原书第三版  Jeffrey D.Ullman , Jenifer Widom著  机械工作出版社


【数据库】— 无损连接、Chase算法、保持函数依赖 无损连接和保持函数依赖是关系数据库设计中的两个重要概念。 无损连接指的是在关系模式分解过程中,如果原始关系模式中存在某些函数依赖关系,那么这些函数依赖关系应该在分解后的新关系模式中仍然能够被保持。也就是说,无论是在原始的关系模式中还是在分解后的新关系模式中,都应该能够通过关联操作(join)来获取与原始关系模式相同的信息。 保持函数依赖指的是在关系模式分解过程中,如果原始关系模式中存在某些函数依赖关系,那么这些函数依赖关系在分解后的新关系模式中仍然应该被保持。、 阅读详情

相关推荐

chase2译码算法+bch

SNR=(2:1:10); N_trials=10000; N=255; k=239; qnumber=[2,4];%最不可靠位数 Eb=1; a=zeros(N_trials,length(SNR)); ber_m=zeros(length(qnumber),length(SNR)); ber_m0=zeros(1,length(SNR));%硬译码 ber_m1=zeros(1,length(SNR));%bch译码 for trial=1:1:N_trials msg=round(rand...

domastar的博客 2290

chase算法

chase是一种简单的定点算法测试测试,它强制执行数据库系统中数据依赖关系。它在数据库理论和实践中都起着重要作用。设计数据库的人员每天都直接或间接使用它,并且在商业系统中使用它来推理数据设计的一致性和正确性。chase在元数据管理和数据交换中的新应用仍在被发现。 例子、令R(A,B,C,D)是一个已知的关系图,它服从功能依赖集F= {A→B,B→C,CD→A}。假设R分解为三个关系模式S1= {A,D},S2= {A,C}并且S3= {B,C,D}。可以通过执行如下所示的...

qq_38107043的博客 3346

数据库系统原理之理论基础

一、数据库系统概述 1.数据库基本概念 数据(Data):描述事物的符号记录 数据库(Database):长期存储在数据库中有组织、可共享的数据集合。 数据库管理系统(Database Management System):用于建立和管理数据库的一套软件,介于应用程序和操作系统之间。 主要功能: 数据定义功能:提供数据定义语言DDL 数据操纵功能:提供数据操纵语言DML 数据...

qq_43641035的博客 1194

数据库/范式

给定关系模式R<U,F>,U={ABCXYZ},F={AB->Y,C->BX,BX->A,B->X} 求Fmin 试问属于R的关系是第几范式 写出分解算法,将R分解为3NF并保持函数依赖和具有无损连接性 求最小化基本集的方法如下: 一般直接从题目所给的FD集合开始推,先将右边有多个属性的FD分解,然后删去集合中能被其他FD推出来的FD;对于左边有至少两个以上属性的FD,例如本题中的AB->Y,将其分为A->Y(或B->Y),观察A->Y(或B-

corn6的博客 2841

关系数据库核心技术:从理论到实战的备考全解析

关系数据库的理论基础是关系代数笛卡尔积(Cartesian Product):设关系(Relation):笛卡尔积的有限子集,用二维表表示。表中每行是一个元组(记录),每列是一个属性(字段)。关键术语候选键(Candidate Key):能唯一标识元组的最小属性集(如学生表的“学号”)。主码(Primary Key):从候选键中选定的一个(如“学号”作为主码)。外码(Foreign Key):属性或属性组,引用另一个关系的主码(如选课表的“学号”引用学生表的主码)。示例学生表Sno。

yue_yun_的博客 1042

关系数据库设计核心

1、设计一个合适的关系数据库系统的关键是关系数据库模式的设计,即应构造几个关系模式, 每个模式有哪些属性,怎样将这些相互关联的关系模式组建成一个适合的关系模型,关系数据库 的设计必须在关系数据库设计理论的指导下进行。 2、关系数据库设计理论有三个方面的内容:函数依赖、范式和模式设计。函数依赖起核心作用, 它是模式分解和模式设计的基础,范式是模式分解的标准。 【例1】设计一个学生课程数据库,其关系...

流楚丶格念的博客 5215

数据库系统基础教程(原书第三版)课后答案汇总

数据库系统基础教程(原书第三版)课后答案 下面的链接均来自百度文库,仅作汇总.答案虽然都是英文,但是不影响阅读. 第2章 关系数据模型 第3章 关系数据库设计理论 第4章 高级数据库模型 第5章 代数和逻辑查询语言 第6章 数据库语言SQL 第7章 约束与触发器 配套练习题 ...

扬扬说 7万+

chase译码算法

matlab编程算法,硬译码,chase译码

《数据库系统概论》第五版 +学习笔记总目录

文章目录前言第 1 章 绪论第 2 章 关系数据库第 3 章 关系数据库标准语言SQL第 4 章 数据库安全性第 5 章 数据库完整性第 6 章 关系数据理论 前言 本篇文章学习书籍:《数据库系统概论》第5版 王珊 萨师煊编著 学习软件:Navicat Premium 15 && SSMS 采用数据库:SQL Sever 说明:虽然数据库是SQL Sever 有些书上的语句执行不了,貌似书采用的是Oracle数据库的SQL,不过没关系,初学我们最重要的是掌握其思想,很多思想和方法语句在

BitHachi 26万+

Educoder | 计算机网络实验-IP协议分析

本关任务:使用 Ping 命令发送数据报,用 Wireshark 截获数据报,分析 IP 数据报的格式,理解 IPV4 地址的编址方法,加深对 IP 协议的理解。

Mksg_28的博客 4751

【tips】在PyCharm中安装opencv图文版详细教程

pip如下图所示,左边的蓝色图标就是终端。点开终端后,键入命令,按下回车后就开始下载了。如果你更喜欢图形化操作,可以在 PyCharm 中直接安装:。点击右上角的 +按钮(添加包)。搜索或,点击。

zhousanguhe的博客 6740

数据库系统概论第五版(笔记+习题答案)(全)

因学习数据库系统概论,将会对每一个章节进行一个整理,包括笔记和习题答案。 目录 前言 第 1 章 绪论 第 1 章习题答案 第 2 章 关系数据库 第 2 章习题答案 第 3 章 关系数据库标准语言SQL 第 3 章习题答案 第 4 章 数据库安全性 第 4 章习题答案 第 5 章 数据库完整性 第 5 章习题答案 第 6 章 关系数据理论 第 6 章习题答案 第 7 章 数据库设计 第 7 章习题答案 前言 本篇文章学习参考书:《数据库系统概论》第5版 王珊 萨师煊

m0_61481871的博客 7万+

5分钟搞懂SCMA:稀疏码多址接入的核心原理与实战应用

本文深入浅出地解析了SCMA(稀疏码多址接入)的核心原理与实战应用。通过对比传统正交多址技术,阐释了SCMA如何通过非正交叠加和稀疏码本设计,实现远超资源单元数的用户接入,从而有效应对5G海量机器通信(mMTC)的挑战。文章还探讨了其在上行海量连接、免授权接入等场景的应用潜力及工程实现中的关键考量。

zeta9的博客 264

数据库原理概论理论知识点总结

数据库原理概论复习指南!

梁凉的博客 1万+

HighScore3.0实战指南:XRD物相分析从入门到精通(持续更新版)

本文提供HighScore3.0软件进行XRD物相分析的完整实战指南。从软件设置、数据导入、背景扣除、寻峰等预处理步骤,到核心的Search & Match物相搜索匹配、Rietveld精修定量,以及结果输出与常见问题排查,系统讲解了从入门到精通的全流程操作与核心技巧,帮助用户高效完成材料物相鉴定与分析工作。

weixin_29310605的博客 1042

百条网络工程师基础面试题(不断更新)

1)什么是链接? 链接是指两个设备之间的连接。它包括用于一个设备能够与另一个设备通信的电缆类型和协议。 2)OSI 参考模型的层次是什么? 有 7 个 OSI 层:物理层,数据链路层,网络层,传输层,会话层,表示层和应用层。 3)什么是骨干网? 骨干网络是集中的基础设施,旨在将不同的路由和数据分发到各种网络。它还处理带宽管理和各种通道。 4)什么是 LAN? LAN 是局域网的缩写。它是指计算机与位于小物理位置的其他网络设备之间的连接。 5)什么是节点? 节点是指连接发生的点。它可以是作为网络一部分的计算机

weixin_42728126的博客 2万+

6.0 《数据库系统概论》之关系数据库的规范化理论(数据依赖对表的影响[插入-删除-修改-冗余]、1NF-2NF-3NF-BCNF-4NF、函数依赖与多值依赖)

文章目录0.思维导图1.为什么要学习关系数据库规范化理论?(1)基本概念回顾(2)关系模式的形式化定义(3)什么是数据依赖F?(4)数据依赖F对关系模式的影响1️⃣ 数据冗余(Data redundancy)2️⃣ 更新异常(update anomalies )3️⃣ 插入异常(insertion anomalies )4️⃣ 删除异常( deletion anomalies)2.规范化---改造关系模式,解决插入异常、删除异常、更新异常和数据冗余问题。(1)规范化研究什么?(2)函数依赖① 函数依赖② 平

BitHachi 3万+

VOS3000线路对接、路由配置与路由分析操作教程

通过本教程,你应该已经掌握了VOS3000的线路对接、路由配置和路由分析的基本操作。添加备用路由:为常用前缀添加备用路由,确保在主路由失效时呼叫仍能正常进行。进入线路管理:点击“系统管理” -> “线路管理” -> “添加线路”。查看日志:在“系统日志”中查看路由选择情况,确保路由配置正确。失败原因:查看失败呼叫的原因(如“无应答”、“线路忙”等)。线路选择:选择之前添加的线路(如“供应商A”)。保存并启用:填写完毕后,点击“保存”并启用路由。路由名称:自定义一个名称(如“路由A”)。

AI_wx_3307623172的博客 2967

十、关系数据库设计理论(二)

定义 10.18设R∈1NFR \in 1NFR∈1NF,若在RRR中没有非主属性传递依赖于RRR的候选键,则关系模式R∈3NFR \in 3NFR∈3NF。如果数据库模式RRR中每个关系模式都是 3NF,则数据库模式R∈3NFR \in 3NFR∈3NF。一个 2NF 的关系模式不一定属于 3NF。2NF 仅消除了非主属性和主属性之间的部分依赖,如果存在传递依赖还需要进一步规范化。一个关系模式若是 3NF 的,则一定属于 2NF。

xjsj62728的博客 795

DSI3协议介绍

分布式系统接口(DSI)是一种通用且功能强大的总线协议,旨在将多个遥感器和执行器设备互连到中央控制模块。该网络的主要目标应用是汽车安全系统。这种应用的一些特点是需要低成本、高鲁棒性、中速互连,仅限于两根导线。此外,它必须具有故障安全性、确定性和良好的EMC特性。即使具有所有级别的智能和可编程性的设备都可以连接到网络,远程设备也必须能够通过简单的状态机实现。由于模块尺寸非常重要,因此中央模块和远程单元中的最小组件至关重要。

汽车电子软件领域知识分享 1万+

SAP 成本分摊逻辑与案例(含具体数据)

摘要: SAP成本分摊通过**分配(Allocation)与分摊(Assessment)**两种方式,将间接成本中心费用按预设规则(如人数、工时、比例等)结转至直接成本对象。分配保留原始成本要素(如电费、工资),适用于需明细追踪的场景;分摊则打包为次级成本要素(如管理费用),简化核算。实操案例涵盖行政费用分配(按人数)、水电车间分摊(按工时)、机修作业分摊(作业成本法)及内部订单结算,系统通过KSV1/KSU1配置循环规则,KSV5/KSU5执行结转。关键点在于选择匹配业务的分摊基础,合理配置次级成本要素,

金牌架构师 550

《数据库系统概论》第五版(王珊版)全书知识梳理

写在前面: 恰逢期末复习,用了几天时间结合老师勾画的重点以及课件教材等,将全书重要内容做了个大整合。一方面便于自己复习记忆,另一方面po出来让更多需要的人也可以做个参考。 同类梳理: 《数据库系统概论》第五版(王珊版)全书知识梳理 《计算机组成原理》第五版(唐朔飞考研版) 全书知识梳理 《数据结构》C语言版 (清华严...

12 26 25 的博客 6万+

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

我读《数据库系统基础教程》

错位竞争,单点突破。 2843

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

关系数据库理论

关系数据库理论 关系模式的组成 一个关系模式应当是一个五元组R(U,D,DOM,F) 这里R是符号化的元组语义 U为一组属性 D为属性组U中的属性所来自的域 DOM为属性到域的映射 F为属性组U上一组数据依赖(是一组数据依赖的集合) 由于D,DOM与模式涉及关系不大,因此本章中把关系模式看作一个三元组:R<U, F>,当且仅当U上一个关系r满足F时,r称为关系模式R<U, F>的一个关系 第一范式1NF 每一个分量必须是不可分的数据项 数据依赖 定义:数据依赖是一个关系内部属性和

Weightlessly的博客 5825

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

数据库系统的关系数据库设计理论、ER图

目录 一、关系数据库设计理论 函数依赖 异常 范式 二、ER图 实体的三种联系 表示出现多次的关系 联系的多向性 表示子类 一、关系数据库设计理论 函数依赖 记 A->B 表示 A 函数决定 B,也可以说 B 函数依赖于 A。 如果 {A1,A2,... ,An} 是关系的一个或多个属性的集合,该集合函数决定了关系的其它所有属性并且是最小的,...

trytrylmt的博客 1510

数据库系统概念

目录 第一章、引言 1.1 文件管理系统坏处 1.2 数据视图 1.3 数据模型 1.4 数据库语言 第二章、关系模型介绍 2.1 关系数据库的结构 2.2 数据库模式 2.3 码 第三章、SQL 3.1 SQL 查询语言概览 3.2 SQL数据定义 3.2.1基本类型 3.2.2基本模式定义 3.3 sql查询的基本结构 3.3.1 单关系查询 3.3.2 多...

王文萱的博客 2万+
上一篇: 数据库系统基础教程一:关系数据库与关系代数
下一篇: 数据库系统基础教程三:高级数据库模型的表示
zzulp
博客等级 码龄19年 464粉丝 176原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值