本文已参与「掘力星计划」,赢取创作大礼包,挑战创作激励金。
小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
一 数据库设计过程
- 需求分析,数据流图、数据字典、需求说明书
- 概念结构设计,根据需求画ER模型图,
- 逻辑结构设计,列出实体属性,标示主键和外键。其实就是数据库中常用的表。S就是一个关系模式就是一张表。
二 三级模式两级映像
- 外 和 概念模式映像
- 概念 和 内模式映像。 概念模式也称为模式
- 用户级--> 外模式(反映了数据库系统的用户观)
- 概念级--> 概念模式(反映了数据库系统的整体观)
- 内模式 --> 物理级(反映了数据库系统的存储观)
三 关系代数运算
3.1 笛卡尔积 选择行 投影列
选择的运算: 也有可能是某1列等于某1列的行。 如 1,3,表示第1列的等于第3列的值相同的行。
3.2 并 交 差
3.3 自然连接
效率和笛卡尔积差不多,慢。
四 关系数据库的规范化
4.1 函数依赖
给定一个X,能唯一确定一个Y,就称X确定Y,或者说Y依赖于X,例如Y=X*X函数。 函数依赖又可扩展以下两种规则:
- 部分函数依赖: A可确定C,(A,B)也可确定C,(A,B)中的一 部分(即A)可以确定C,称为部分函数依赖。
- 传递函数依赖:当A和B不等价时,A可确定B, B可确定C,则A可确定C,是传递函数依赖;
解题思路:
- 只出现在函数依赖左边的,或者没出现的属性一定是主属性。(组成候选键的属性都叫主属性)
- 只出现在函数依赖右边的属性一定是非主属性 因为AD没有出现在右边, 所以A D一定是候选关键字 ,符合答案的只有C,所以根据答案C推出有4个主属性。
4.2 无损分解
分解后的关系模式能够还原出原关系模式,就是无损分解,不能还原就是有损。
因为CD 已经能全部推出所有了,所以答案是CD, 若ACD才能推出所有,答案就是ACD