五 数据库系统-原理实战

219 阅读2分钟

本文已参与「掘力星计划」,赢取创作大礼包,挑战创作激励金。

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

一 数据库设计过程

image.png

  • 需求分析,数据流图、数据字典、需求说明书
  • 概念结构设计,根据需求画ER模型图,

image.png

  • 逻辑结构设计,列出实体属性,标示主键和外键。其实就是数据库中常用的表。S就是一个关系模式就是一张表。

image.png

二 三级模式两级映像

  • 外 和 概念模式映像
  • 概念 和 内模式映像。 概念模式也称为模式
  • 用户级--> 外模式(反映了数据库系统的用户观)
  • 概念级--> 概念模式(反映了数据库系统的整体观)
  • 内模式 --> 物理级(反映了数据库系统的存储观) image.png

三 关系代数运算

3.1 笛卡尔积 选择行 投影列

image.png 选择的运算: 也有可能是某1列等于某1列的行。 如 1,3,表示第1列的等于第3列的值相同的行。

3.2 并 交 差

image.png

3.3 自然连接

效率和笛卡尔积差不多,慢。 image.png

四 关系数据库的规范化

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,是传递函数依赖; image.png

image.png

image.png

image.png 解题思路:

  • 出现在函数依赖左边的,或者没出现的属性一定是主属性。(组成候选键的属性都叫主属性)
  • 出现在函数依赖右边的属性一定是非主属性 因为AD没有出现在右边, 所以A D一定是候选关键字 ,符合答案的只有C,所以根据答案C推出有4个主属性。

4.2 无损分解

分解后的关系模式能够还原出原关系模式,就是无损分解,不能还原就是有损。 image.png

image.png image.png

image.png 因为CD 已经能全部推出所有了,所以答案是CD, 若ACD才能推出所有,答案就是ACD

image.png