《数据库系统 数据库与数据仓库导论》读书笔记 Part 1 操作型数据库

分析型数据库 vs 操作型数据库 —— 分析信息需要在操作信息的基础上得到。

 

1:M联系或1:1联系的属性都是不必要的,M:N中必要。

 

实体完整性约束 —— PK 不为空。

 

联系到关系的映射:

  1.  1:M联系的映射 —— M侧实体所映射得到的关系又一个FK,如EMPLOYEE表中有一个FK叫DeptID,指向DEPARTMENT表中的DeptID。关于参与方式,有2中,强制参与和可选参与,可选参与可以在后面加“(O)”。

  2.  M:N联系的映射 —— 映射为关系,这个关系有2个FK,对映2个实体的PK,这2个FK构成了这个新关系的复合PK。而且一个多对多联系可以有自己的属性。

 

参照完整性 —— FK要么为空,要么有对应的PK。

 

若一个关系有一个外码参照本身的主码,则在查询中这个关系就可以和它自己建立连接,这样的链接也叫“自连接”(self-JOIN)。

 

由于参照完整性约束,主码侧对记录的删除和更新会影响外码侧;而外码侧对记录的删除和更新不会影响主码侧的记录。

  1. 删除限制:若记录的主码值被一个外码值所参照,限制删除选项不允许该记录被删除。

  2. 级联删除:若记录的主码值被一个外码值所参照,级联删除选项允许该记录被删除,那些外码值参照了被删除记录的主码值的记录也会被删除。

  3. 删除设置为空

  4. 删除设置为默认值

同理,也有限制更新、级联更新、更新设置为空、更新设置为默认值。

 

函数依赖:

部分函数依赖:是指关系中的一列函数依赖于组合主码的一部分。(只有组合主码才有不同的组成成分,单列的主码没有,因此部分函数依赖只出现在关系中有组合主码的情况下。)

                         e.g.:AdCampaignID --> AdCampaignName, StartDate, Duration, CampaignMgrID, CampaignMgrName

                                   ModeID --> Media, Range

                         这是一个部分函数依赖,AdCampaignID是主码AdCampaignID和ModeID的一部分,因此AdCampaignID函数确定关系中,其他列的函数依赖是部分函数依赖,第二行同理。

完全函数依赖:是指主码函数确定关系中的其他列,并且主码的任意一部分都不能单独确定同样的列。

传递函数依赖:是指非码列函数确定关系中的其他非码列。

若一个关系除主码外还有额外的候选码,一下给出部分函数依赖与完全函数依赖的扩展定义:

部分函数依赖:关系中的非码属性存在对主码(或任一候选码)的某个真子集的函数依赖。

完全函数依赖:关系中的一个属性存在对主码(或任一候选码)的函数依赖,且该属性不存在对主码(或候选码)的部分函数依赖。

 

聚集函数只能出现在SELECT子句或者HAVING部分,使用在HAVING部分是在给GROUP BY做分组条件。

 

WHERE和HAVING的区别:WHERE条件决定哪些记录会出现在结果中,哪些记录不会;HAVING条件则决定哪些会出现在结果中,哪些组不会。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值