数据库系统复习之设计篇

Chapter 4 概念数据库设计

实体-联系模型(Entity-Relationship model)

  • 实体: 是ER模型的基本对象,是现实世界中可区别所有其他对象的一个“事务”或“对象”。
  • 属性: 每个实体都有一组特征或性质,称为实体的属性。实体属性的一组特定值确定了一个特定的实体,是数据库中存储的主要数据。
  • 联系: 不同实体集的实体之间可能具有某种关联,我们称这种关联为实体间的联系。

联系的约束

映射基数(基数比率)

  • 一对一
  • 一对多(E-R图中箭头指向“一”)
  • 多对多

参与约束

  • 全域关联约束
  • 部分关联约束

Chapter 5 逻辑数据库设计

函数依赖

定义

R R R是一个关系模式, U U U R R R的属性集合, X X X Y Y Y U U U的子集。对于 R R R的任意实例 r r r r r r中任意两个元组 t 1 t_{1} t1 t 2 t_{2} t2,如果 t 1 [ X ] = t 2 [ X ] t_{1}[X]=t_{2}[X] t1[X]=t2[X],则 t 1 [ Y ] = t 2 [ Y ] t_{1}[Y]=t_{2}[Y] t1[Y]=t2[Y],我们称X函数地确定 Y Y Y,或 Y Y Y函数依赖 X X X,记作 X → Y X \to Y XY

非平凡函数依赖

如果 X → Y X \to Y XY而且 Y Y Y不是 X X X的子集,则称 X → Y X \to Y XY非平凡函数依赖。若不特别声明,我们总是讨论非平凡函数依赖。

完全/部分函数依赖

如果 X → Y X \to Y XY,并且对于X的任何一个真子集 Z Z Z Z → Y Z \to Y ZY都不成立,则称 Y Y Y完全函数依赖 X X X。若 X → Y X \to Y XY,但 Y Y Y不完全函数依赖于 X X X,则称 Y Y Y部分函数依赖 X X X

传递函数依赖

如果 X → Y X \to Y XY Y → Z Y \to Z YZ(非平凡函数依赖),则称 Z Z Z传递函数依赖于 X X X

Armstrong公理系统

推理规则

  • 自反律:若 Y ⊆ X ⊆ U Y \subseteq X \subseteq U YXU,则 X → Y X \to Y XY
  • 增广律:若 X → Y X \to Y XY,则 X Z → Y Z XZ \to YZ XZYZ
  • 传递律:若 X → Y X \to Y XY Y → Z Y \to Z YZ,则 X → Z X \to Z XZ

导出规则

  • 合并规则:若 X → Y X \to Y XY X → Z X \to Z XZ,则 X → Y Z X \to YZ XYZ
  • 伪传递规则:若 X → Y X \to Y XY Y W → Z YW \to Z YWZ,则 X W → Z XW \to Z XWZ
  • 分解规则:若 X → Y X \to Y XY Z ⊆ Y Z \subseteq Y ZY,则 X → Z X \to Z XZ

闭包

函数依赖集的闭包

在关系模式 R < U , F > R<U,F> R<UF>中为 F F F所逻辑蕴含的函数依赖的全体叫作 F F F的闭包,记为 F + F^{+} F+

属性集的闭包

F F F为属性集 U U U上的一组函数依赖, X ⊆ U X \subseteq U XU X F + = { A ∣ X → A 能 由 F 根 据 A r m s t r o n g 公 理 导 出 } X_F^+= \{ A|X \to A 能由F根据Armstrong公理导出 \} XF+={AXAFArmstrong} X F + X_F^+ XF+称为属性集 X X X关于函数依赖集 F F F的闭包。

求属性集 X X X关于 U U U上的函数依赖集 F F F的闭包 X F + X_F^+ XF+

  1. X ( 0 ) = X , i = 0 X^{(0)}=X,i=0 X(0)=Xi=0
  2. X ( i ) X^{(i)} X(i)中的每个元素,依次检查相应的函数依赖,将依赖它的属性加入 B B B
  3. X ( i + 1 ) = X ( i ) ∪ B X^{(i+1)}=X^{(i)}\cup B X(i+1)=X(i)B
  4. 判断 X ( i ) X^{(i)} X(i) X ( i + 1 ) X^{(i+1)} X(i+1)是否相等。
  5. 若相等或 X ( i ) = U X^{(i)}=U X(i)=U,则 X ( i ) X^{(i)} X(i)就是 X F + X_F^+ XF+,算法终止。
  6. 否则 i = i + 1 i=i+1 i=i+1,返回第2步。

求属性集的候选码

属性的分类

  • L类:仅出现在 F F F的函数依赖左部的属性,一定是候选码的成员。
  • R类:仅出现在 F F F的函数依赖右部的属性,一定不是候选码的成员。
  • N类:在 F F F的函数依赖左右两边均未出现的属性,一定是候选码的成员。
  • LR类:在 F F F的函数依赖左右两边均出现的属性,需要进一步判断是否是候选码的成员。

求解算法

  1. X X X代表L、N两类,Y代表LR类。
  2. X F + X_F^+ XF+,若 X F + X_F^+ XF+包含了 R R R中的全部属性,则 X X X R R R的唯一候选码,算法停止。
  3. Y Y Y中取一属性 A A A,求 ( X A ) F + (XA)_F^+ (XA)F+,若 ( X A ) F + (XA)_F^+ (XA)F+包含了 R R R中的全部属性,则 X X X R R R的一个候选码,更换属性 A A A并反复执行此过程,直到试完Y中的属性。如果这个过程中找到了候选码,算法停止。
  4. Y Y Y中依次取两个、三个…属性,求它们的闭包,直到闭包包含了 R R R中的全部属性。

函数依赖集

函数依赖集的等价

如果 G + = F + G^+=F^+ G+=F+,那么 G G G F F F等价。

极小函数依赖集

如果函数依赖集 F F F满足下列条件,则称 F F F为一个极小函数依赖集(不唯一)。

  • F F F中任一函数依赖的右部仅含有一个属性。
  • F F F中不存在这样的函数依赖 X → A X \to A XA,使得 F F F F − { X → A } F-\{X \to A\} F{XA}等价。
  • F F F中所有的函数依赖 X → A X \to A XA都是完全函数依赖。

计算 F F F的极小函数依赖集

  1. 逐一检查F中各函数依赖 X → Y X \to Y XY,若 Y = A 1 A 2 ⋯ A k , k ≥ 2 Y=A_1A_2 \cdots A_k, k\ge2 Y=A1A2Ak,k2,则用 { A ∣ X → A j ∣ j = 1 , 2 , ⋯   , k } \{ A|X \to A_j | j=1, 2, \cdots, k \} {AXAjj=1,2,,k}来取代 X → Y X \to Y XY
  2. 逐一检查F中各函数依赖 X → A X \to A XA,令 G = F − { X → A } G=F-\{X \to A\} G=F{XA},若
    A ∈ X G + A\in X_G^+ AXG+,则从F中去掉此函数依赖。
  3. 逐一取出F中各函数依赖 X → A X \to A XA,设若 X = B 1 B 2 ⋯ B m , m ≥ 2 X=B_1B_2 \cdots B_m, m\ge2 X=B1B2Bm,m2,逐一考查 B i ( i = l , 2 , ⋯   , m ) B_i(i=l,2,\cdots,m) Bi(i=l,2,,m) A ∈ ( X − B i ) F + A\in (X-B_i)_F^+ A(XBi)F+,则以 X − B i X-B_i XBi取代 X X X

关系模式的规范形式

第一范式(1NF)

R R R是一个关系模式。如果 R R R的每个属性的值域都是不可分的简单数据项的集合,则称这个关系模式为第一范式关系模式,记作1NF。

第二范式(2NF)

若关系模式 R R R是1NF,而且每一个非键属性都完全函数依赖于 R R R的候选码,则R称为第二范式关系模式,记作2NF。

第三范式(3NF)

如果关系模式 R R R是2NF, 而且它的任何一个非键属性都不传递地依赖于任何候选码,则R称为第三范式关系模式,记作3NF

BC范式(BCNF)

设关系模式 R R R是1NF。如果对于 R R R的每个函数依赖 X → Y X \to Y XY,则 X X X必为候选码,则 R R R是BCNF范式。

关系模式分解

约束

  • 无损连接性: 设关系模式 R < U , F > R<U,F> R<U,F>被分解为若干个关系模式 R 1 < U 1 , F 1 > , R 2 < U 2 , F 2 > , ⋯   , R n < U n , F n > R_1<U_1,F_1>,R_2<U_2,F_2>, \cdots, R_n<U_n,F_n> R1<U1,F1>,R2<U2,F2>,,Rn<Un,Fn>(其中 U = U 1 ∪ U 2 ∪ ⋯ ∪ U n U=U_1\cup U_2\cup \cdots \cup U_n U=U1U2Un,且不存在 U i ⊆ U j U_i \subseteq U_j UiUj F i F_i Fi F F F U i U_i Ui上的投影),若 R R R R 1 , R 2 , ⋯   , R n R1,R2,\cdots ,R_n R1,R2,,Rn自然连接的结果相等,则称关系模式 R R R的这个分解具有无损连接性。
  • 保持函数依赖: 设关系模式 R < U , F > R<U,F> R<U,F>被分解为若干个关系模式 R 1 < U 1 , F 1 > , R 2 < U 2 , F 2 > , ⋯   , R n < U n , F n > R_1<U_1,F_1>,R_2<U_2,F_2>, \cdots, R_n<U_n,F_n> R1<U1,F1>,R2<U2,F2>,,Rn<Un,Fn>(其中 U = U 1 ∪ U 2 ∪ ⋯ ∪ U n U=U_1\cup U_2\cup \cdots \cup U_n U=U1U2Un,且不存在 U i ⊆ U j U_i \subseteq U_j UiUj F i F_i Fi F F F U i U_i Ui上的投影),若 F F F所逻辑蕴含的函数依赖一定也由分解得到的某个关系模式中的函数依赖 F i F_i Fi所逻辑蕴含,则称关系模式 R R R的这个分解是保持函数依赖的。

Chapter 6 物理数据库设计

影响物理数据库设计的因素

  • 对于数据库查询事务,需得到如下信息:
    • 查询的关系
    • 查询条件所涉及的属性
    • 连接条件所涉及的属性
    • 查询的投影属性
  • 对于数据更新事务,需得到如下信息:
    • 被更新的关系
    • 每个关系上的更新操作的类型
    • 删除和修改操作条件所涉及的属性
    • 修改操作要改变的属性值
  • 了解每个事务在各关系上运行的频率
  • 了解每个事务的时间约束

聚集存储方法

把经常进行连接操作的多个关系的记录以连接属性为中心分类存储,从而提高连接操作的效率;即参加一个连接的所有关系中具有相同连接属性值的记录被物理地存储在一起;一个物理数据库可以有多个聚集存储但一个关系只能加入一个聚集存储。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
校园失物招领系统管理系统按照操作主体分为管理员和用户。管理员的功能包括字典管理、论坛管理、公告信息管理、失物招领管理、失物认领管理、寻物启示管理、寻物认领管理、用户管理、管理员管理。用户的功能等。该系统采用了Mysql数据库,Java语言,Spring Boot框架等技术进行编程实现。 校园失物招领系统管理系统可以提高校园失物招领系统信息管理问题的解决效率,优化校园失物招领系统信息处理流程,保证校园失物招领系统信息数据的安全,它是一个非常可靠,非常安全的应用程序。 ,管理员权限操作的功能包括管理公告,管理校园失物招领系统信息,包括失物招领管理,培训管理,寻物启事管理,薪资管理等,可以管理公告。 失物招领管理界面,管理员在失物招领管理界面中可以对界面中显示,可以对失物招领信息的失物招领状态进行查看,可以添加新的失物招领信息等。寻物启事管理界面,管理员在寻物启事管理界面中查看寻物启事种类信息,寻物启事描述信息,新增寻物启事信息等。公告管理界面,管理员在公告管理界面中新增公告,可以删除公告。公告类型管理界面,管理员在公告类型管理界面查看公告的工作状态,可以对公告的数据进行导出,可以添加新公告的信息,可以编辑公告信息,删除公告信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值