过了好久,又重新开始学习SQL ,前一阶段确实被java ee压得够呛,现在只能慢慢捡一捡
1.关系模式的一般形式:R(U,D,DOM,F)
R:关系名 U:全部属性集合 DOM:U和D之间的映射关系 F:属性间的各种约束关系
2.关系模式存在的一般问题:1.数据冗余 2.更新异常 3. 删除异常 4.插入异常(冗余+增删改)
3.关于符号的约定
1.A.B,C 表示单个属性 U,V,W表示属性集
4.函数依赖:记住完全函数依赖(p),与部分寒素依赖的关系(f)
5.范式:规范化:一个第一级范式的关系模式通过模式分解可以转换为若干个高一级范式的关系模式的结合。
1NF:每一个属性不可再分(不满足1NFd的成为非规范化关系) ->确保每列的原子性
2NF:每一个非主属性完全函数依赖于任何一个候选码(有可能有两个属性) -->确保表中的每列,都和主键相关
3NF:不存在传递依赖 ->确保表中的每列,都和主键相关,而不是间接相关
BCNF:每一个决定因素都包含码
如何判断:首先判断它有几个码,如果有两个就很容易出现2NF不符的情况=
以上是通过书本自己稍微总结下的一些内容,接下来将过一下学习的课件
1.如果属性X与Y有m:n的联系时,则X与Y之间不存在任何函数依赖关系
2.
3.
链接:https://www.cnblogs.com/gulvzhe/archive/2013/05/24/3096913.html(有关闭包的链接)
4.Armstrong公理
自反性
增广性
传递性
5.
6.求Fmin
7.
关系模式的分解
1.若在投影、连接后仍能恢复成原来的关系,即未丢失信息,把这种分解成为无损分解
2.关系模式分解必须遵循两个准则:
1.无损连接性
2.函数依赖保持性
3.算法:
4.
5.
6.
7.分解算法的研究结论:
1.若分解具有无损联接性,那么分解一定可以得到BCNF
2.若要求分解既保持函数依赖,又具有无损联接,则 可以打开3NF
8.
以下是一些错题,予以重视:
1.
2.
解析:
3.
4.
5.
6.
因期末考临近,又重新开始学习数据库的关系理论,感觉这部分还是有点难的,要好好研究下
1.属性间存在数据依赖厝,该关系模式太单一,包含内容太多
2.函数依赖是关系模式中属性之间的一种逻辑依赖关系。
3.一般讨论的都是非平凡的函数依赖
4.完全函数依赖 f 部分函数依赖p(只有当决定因素是组合属性时,讨论部分函数依赖才有意义)
5.函数依赖集F的闭包F+的相关概念
6.若两个函数依赖集F和G,满足F+=G+,称其为等价
7.模式分解后等价的概念有三种
8.无损分解:投影,连接后并未丢失信息
9.要会判断无损连接性和保持函数依赖性
这个题目为:关系模式R<U,F>,其中:U={A,B,C,D,E},F={A→C,C→D,B→C,DE→C,CE→A},将其分解成BCNF并保持无损连接。(这题很好,很不错,值得学习)
http://blog.51cto.com/black4yl/1589471
10
来源的地址:http://blog.51cto.com/black4yl/1589469
11.SQL_SERVER编程基本语法
http://blog.51cto.com/black4yl/1589473
12.求SQL_SERVER闭包的:http://blog.51cto.com/black4yl/1588555