`

RDB的规范化理论(函数依赖+范式)

    博客分类:
  • Web
F# 
阅读更多

 

一、概念分析

 

1、函数依赖:这个概念术语语义范畴,只能根据语义确定属性间是否存在这种依赖,此外别无原则。就是说,从字面上读起来觉得“A能唯一确定B”这句话是通顺的、不违反你的常规逻辑的,那么B就函数依赖于A,我记作AB.

    a、区别完全函数依赖和部分函数依赖

    存在一个关系RU)(U是一个关系的所有属性),如有XY属于U且满足XY,且对于任何X的真子集X1 都有Y不函数依赖于X1,则称Y完全函数依赖于X,我暂时记作

X  (f)  Y

如果A  (f)  B,那么(A ,C) (p)  B  (部分函数依赖)。

 

    

     b、区分直接函数依赖和传递函数依赖

R(U)  中,如果XY(Y不属于X)X不函数依赖与YZ函数依赖于Y,则称ZX传递函数依赖

 

2、范式:

 

范式和规范化方法,规范化目的是介绍冗余和异常:

 

 

 

第一范式(1NF):R中每个属性都是不可分的原子值

第二范式(2NF):R(U)中每个非主属性完全函数依赖与关键字。

第三范式(3NF):R(U)中每个非主属性都不部分依赖也不传递依赖于关键字,则称R满足第三范式。

BCNF(扩充的第三范式):如R(U)XY属于U,假定满足R属于1NF,且若Y非平凡函数依赖于XX必含关键字,则称R满足BCNF

 

 

 

二、实例说明:

 

这些概念比较抽象,所以我设计了“博客系统”的几个表来应用上面的理论:

 

用户信息表userinfo:

 


 

 

 

 



 

 


 

 

显然,这三个表都满足1NF

 

接着,因为三个表的primary不是复合主键,所以不存在部分函数依赖的关系。所以,满足2NF。如果user的主键是id+name,因为idpwd,那么将不满足完全函数依赖的关系。

 

接着,在reviews表中,IdButtetin_board_nameIns_id,并且Buttetin_board_nameid不成立,所以Ins_id间接函数依赖于id,所以不满足3NF

 

最后,显然不满足BCNF:如userinfo表中的namepwdname中不含关键字。

 

  • 大小: 67.1 KB
  • 大小: 26.6 KB
  • 大小: 26.1 KB
  • 大小: 34.4 KB
  • 大小: 42.3 KB
分享到:
评论

相关推荐

    RDB持久化机制: - RDB默认开启 - RDB存储二进制数据

    - RDB持久化机制: - RDB默认开启 - RDB存储二进制数据,RDB在持久化和读取持久化文件时,速度较快 - RDB持久化的时机: save second keys # 在second时间内,执行了key次写操作,就执行RDB的持久化 - 优缺点...

    Freescale官方 QorIQ处理器T1024RDB 原理图(ORCAD+pdf).rar

    The QorIQ® dual-core T1024 and T1023 and single-core T1014 and T1013 communications processors combine 64-bit cores, built on Power Architecture...T1024RDB revC DSN (PDF).pdf (1.09 MB, 下载次数: 16 )

    Freescale官方 QorIQ处理器T4240RDB 原理图(ORCAD+pdf).rar

    参考设计板T4240RDB电路图.pdf T4240PB.pdf T4240RDBQS.pdf T4240RDB.rar 带有24个虚拟内核的T4240是QorIQ T系列的旗舰产品。该产品与T4160 (16个虚拟内核)及T4080 (8个虚拟内核)共同构成了T4系列。该系列可通过引脚...

    尚硅谷——Redis之RDB和AOF持久化

    标题中提到的“尚硅谷——Redis之RDB和AOF持久化”意味着本文将重点讨论Redis数据库的两种主要持久化机制:RDB(Redis Database)和AOF(Append Only File)。RDB是通过创建内存数据集的快照来实现数据持久化,而AOF...

    RDB 持久化.pdf

    Redis支持两种主要的持久化策略:RDB(Redis Database)和AOF(Append Only File)。 RDB持久化是通过创建数据集的快照来实现的。Redis通过fork操作创建一个子进程,子进程将数据写入临时文件,完成快照后用临时...

    Freescale官方 QorIQ处理器T1040RDB 原理图(ORCAD+pdf).rar

    概述 QorIQ T1040四核和T1020双核通信处理器可...T1040RDB_0116_Reversion_B.rar (492.93 KB, 下载次数: 137 ) T1040RDB_SCH0116.pdf (461.69 KB, 下载次数: 134 ) 处理器 , 防火墙 , 可扩展性 , 路由器 , 软件设计

    Redis 持久化之RDB和AOF.doc

    Redis 持久化是确保数据安全的重要机制,它提供了两种主要的方法:RDB(Redis Database)和 AOF(Append Only File)。RDB 是一种快照式的持久化方式,而 AOF 则记录每次写操作的日志。 RDB 持久化在特定条件下将...

    Redis RDB持久化.flv

    Redis RDB持久化.flv

    自动驾驶软件VTD的输出RDB结构说明

    为了进一步利用这些数据,用户可以编写脚本或程序,读取RDB文件并与VTD的3D视图结合,实现数据可视化和分析。 ### 实战应用 1. **训练数据集创建**:RDB数据可以作为训练机器学习模型的基础,为自动驾驶系统的感知...

    redis-rdb-tools-master的安装与简单使用.zip

    为了方便管理和维护Redis的数据,开发者设计了一系列的工具,其中`redis-rdb-tools`是一个专门用于分析Redis的RDB(持久化文件)的工具集。RDB是Redis默认的持久化方式之一,它会定期将内存中的数据快照保存到磁盘上...

    Redis的安装/连接/Redis中的五种数据累心的基本操作/Redis的持久化方案-Rdb+AOF

    【Redis的持久化方案 - Rdb+AOF】 Redis 提供了两种持久化方式来保证数据不丢失: 1. RDB (Redis Database Backup):定期创建数据库的快照(snapshot)。当达到预设条件时,Redis会执行一次全量备份,生成一个RDB...

    RDB打包解包工具

    在IT行业中,RDB(Resource Database)...总的来说,RDB打包解包工具是IT专业人士和爱好者手中的一大利器,它简化了RDB文件的处理,为个性化定制和开发工作提供了便利。然而,使用时也需谨慎,尊重知识产权,合法使用。

    rdb 文件查看工具

    在IT领域,数据库存储是关键的一环,而RDB(Relational Database)文件通常是数据库管理系统中用于持久化数据的一种文件格式。"rdb文件查看工具"是一个专门设计用来查看和处理RDB文件的应用,尤其适合那些需要访问和...

    RDB格式文件打包解包工具

    其中,Redis是一种广泛应用的内存数据存储系统,它使用RDB(Redis Database)格式来持久化数据。RDB格式是Redis的一种快照备份机制,用于将内存中的数据集定期或手动保存到磁盘上,以防止数据丢失。本文将详细探讨...

    (转)rdb文件解包和打包为rdb格式文件的工具

    在IT领域,特别是软件开发和数据处理中,各种文件格式被广泛使用,其中RDB(Relational Database)文件是数据库管理系统的典型代表,通常用于存储结构化的数据。然而,这里的"rdb文件"可能指的是腾讯QQ等应用程序...

    RDB文件解包/打包工具

    RDB(Redis Database)文件是Redis数据库的一种持久化方式,它将数据库的状态在某一时间点保存为一个二进制文件。这种文件格式紧凑且高效,适用于快速恢复数据,尤其是在系统崩溃或者重启后。RDB文件包含了Redis...

    redis的 dump.rdb 文件

    dump.rdb---

    rdb文件修改工具.zip

    在IT领域,RDB文件通常指的是Redis数据库的持久化文件。Redis是一款开源的、高性能的键值存储系统,用于存储键值对数据,并提供多种数据结构支持,如字符串、哈希、列表、集合和有序集合。RDB文件是Redis的一种持久...

    RBD_w4_Rdb_

    6. **范式理论**:包括第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、BCNF(博科斯范式)等,这些是数据库设计中为了减少冗余和提高数据一致性的规范化过程。 7. **ER模型(实体-关系模型)**:在设计数据库...

    RDB打包解包工具 QQ解包

    RDB以其结构化、规范化的特性,广泛应用于各种业务系统,例如社交应用QQ。本文将重点讨论“RDB打包解包工具”及其在QQ解包中的应用。 “RDB打包解包工具”是一种专门用于处理RDB文件的软件工具,它的主要功能是对...

Global site tag (gtag.js) - Google Analytics