ORACLE数据库基础(持续更新)

主码(primary key):是表中的一个或多个字段,它的值用于唯一标识表中的某一条记录。 

超码(super key): 表中一个或多个属性的集合,可以在一个实体集中唯一标识一个实体。

候选码(candidate key):若关系的某一属性或属性组的值能唯一标识一个元祖,而其任何真子集都不能再标识,则称该属性组为候选码。

(真子集如果A是B的子集,并且B中至少有一个元素不属于A,那么集合A叫做集合B的真子集。)

笛卡尔积:设A,B为集合,用A中元素为第一元素,B中元素为第二元素构成的有序对,所有这样的有序对组成的集合。例:假设集合A={a,b},集合B={0,1,2},则两个集合的笛卡尔积为{(a,0),(a,1),(a,2),(b,0),(b,1), (b,2)}。

关系:关系是笛卡尔积的有一定意义的、有限的子集,所以关系也是一个二维表,表的每一行对应一个元组,表的每一列对应一个域。由于域可以相同,为了加以区分,必须对每列起一个唯一的名字,称为属性(attribute)。n目关系有n个属性。当n=1时,称该关系为单元关系,当n=2时,称该关系为二元关系。

参考关系中的外键值必须与被参考关系中的主键值一致或空值。

内连接也叫连接,还可以被称为普通连接或者自然连接,内连接是从结果表中删除与其他被连接表中没有匹配行的所有行,所以内连接可能会丢失信息

内连接的语法:

select fieldlist from table1 [inner] join table2 on table1.column=table2.column


 

SELECT COUNT(*)  FROM S WHERE DEPT=‘计算机’

注意:COUNT(*)用来统计元组的个数。此函数不消除重复行,也不允许使用DISTINCT关键字

关系数据库规范化

码是由一个或多个属性组成的可唯一标识元组的最小属性组

若候选码多于一个,则选定其中的一个为主码(primary Key)

包含在任一候选码中的属性,叫主属性(prime Attribute)

不包含在任何码中的属性称为非主属性(Nonprime Attribute)或非码属性(Non―key Attribute)

关系模式中,最简单的情况,单个属性是码,称为单码(Single Key)

最极端的情况,整个属性组是码,称为全码(All―Key)

函数依赖是指在关系R中,X、Y为R的两个属性或属性组,如果对于R的所有关系r都存在:     对于X的每一个具体值,Y都只有一个具体值与之对应,则称属性Y函数依赖于属性X。
或者说,属性X函数决定属性Y,记作X→Y。 其中X叫决定因素,Y叫被决定因素。

关系规范化的三大范式:
第一范式(1NF)
如果关系模式R中属性具有原子性(不可分),则R满足第一范式,简称1NF(First Normal Form),记作R∈1NF。
注:1NF是对关系的最低要求,不满足1NF的关系是非规范化关系

第二范式(2NF)

如果一个关系R属于1NF,且它的所有非主属性都完全函数依赖于R的任一候选码,则R属于第二范式,记作R∈2NF。

第三范式(2NF)

如果关系模式R属于2NF,且它的每一个非主属性都不传递依赖于任何候选码,则称R是第三范式,记作R∈3NF。
改进的3NF——BCNF
设关系模式R(U,F)∈1NF,若F的任一函数依赖X→Y中X都包含了R的一个码,则称R∈BCNF。 换言之,在关系模式R中,如果每一个决定因素都包含码,则R∈BCNF。

 

函数依赖公理:Armstrong公理系统

A1(自反律): 若Y属于X,则X→Y; 

A2(增广律): 若X→Y,则XZ→YZ; 
A3(传递律): 若X→Y,Y→Z,则X→Z

由Armstrong公理系统,可以得到以下三个推论:
· 合成规则: 若X→Y,X→Z,则X→YZ;
· 分解规则: 若X→YZ,则X→Y,X→Z;
· 伪传递规则: 若X→Y,WY→Z,则XW→Z。

 

 

关系数据库中候选码的求解规则:

对于给定的关系R(U, F),可将其属性分为四类:

L类:仅出现在函数依赖集F的左部的属性。

R类:仅出现在函数依赖集F的右部的属性。

LR类:在函数依赖集F的左右两边均出现的属性。

N类:在函数依赖集F的左右两边均未出现的属性。

掌握这四条黄金法则:

若X是仅在左边出现的属性,则X必定在任何候选码中。

若X是L类属性, XF+ =U,则X为R的唯一候选码。

若X是N类属性,则X必为R的任一候选码的成员。

若X是L类和N类属性组成的属性集,且XF+ =U,则X必为R的唯一候选码。

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值