范氏之间的关系基础知识(一)
目录
基础知识
函数依赖
(资料图片仅供参考)
1NF 第一范式
2NF 第二范式
3NF 第三范式
BCNF 鲍依斯-科得范式
四种范氏之间的关系
基础知识
实体:现实世界中客观存在并可以被区别的事物。比如“一个学生”、“一本书”、“一门课”等等。值得强调的是这里所说的“事物”不仅仅是看得见摸得着的“东西”,它也可以是虚拟的,比如说“老师与学校的关系”。
属性:教科书上解释为:“实体所具有的某一特性”,由此可见,属性一开始是个逻辑概念,比如说,“性别”是“人”的一个属性。在关系数据库中,属性又是个物理概念,属性可以看作是“表的一列”。
元组:表中的一行就是一个元组。
分量:元组的某个属性值。在一个关系数据库中,它是一个操作原子,即关系数据库在做任何操作的时候,属性是“不可分的”。否则就不是关系数据库了。
码:表中可以唯一确定一个元组的某个属性(或者属性组),如果这样的码有不止一个,那么大家都叫候选码,我们从候选码中挑一个出来做老大,它就叫主码。
全码:如果一个码包含了所有的属性,这个码就是全码。
主属性:一个属性只要在任何一个候选码中出现过,这个属性就是主属性。
非主属性:与上面相反,没有在任何候选码中出现过,这个属性就是非主属性。
外码:一个属性(或属性组),它不是码,但是它别的表的码,它就是外码。
函数依赖
部分函数依赖:设X,Y是关系R的两个属性集合,存在X→Y,若X’是X的真子集,存在X’→Y,则称Y部分函数依赖于X。
举个例子:
码用(学号+课程),为什么要加课程呢?因为不同课程成绩是通过学号查不出来的。
不过用(学号+课程)当作码是不是有些问题?
(学号+课程)->姓名,但是学号->姓名
(学号+课程)->系名,但是学号->系名
(学号+课程)->系主任,但是学号->系主任
这个就是部分依赖,说实话我看定义一脸懵逼。
要是上面那张表符合第二范式。需要将表拆分为两张表。
一张是 学号、课程、分数表
另外一张是 学号、姓名、系名、系主任表
完全函数依赖:设X,Y是关系R的两个属性集合,X’是X的真子集,存在X→Y,但对每一个X’都有X’!→Y,则称Y完全函数依赖于X。
例子:学生基本信息表R(学号,班级,姓名)假设不同的班级学号有相同的,班级内学号不能相同,在R关系中,(学号,班级)->(姓名),但是(学号)->(姓名)不成立,(班级)->(姓名)不成立,所以姓名完全函数依赖与(学号,班级);
传递函数依赖:设X,Y,Z是关系R中互不相同的属性集合,存在X→Y(Y !→X),Y→Z,则称Z传递函数依赖于X。
例子:在关系R(学号 ,宿舍, 费用)中,(学号)->(宿舍),宿舍!=学号,(宿舍)->(费用),费用!=宿舍,所以符合传递函数的要求;
1NF 第一范式
数据库表中的字段都是单一属性的,不可再分。这个单一属性由基本类型构成,包括整型、实数、字符型、逻辑型、日期型等。
定义:如果一个关系模式R的所有属性都是不可分的基本数据项,则R属于1NF。
也可表述为:数据库表中的字段都是单一属性的,不可再分。
例如,下面的数据库表是符合第一范式的:
字段1 字段2 字段3 字段4
而这样的数据库表是不符合第一范式的:
字段1 字段2 字段3 字段4
字段3.1 字段3.2
具体的例子:
比如“地址”属性应该拆分为“城市”、“区县”、“具体地址”便于使用。
很显然,在当前的任何关系数据库管理系统(DBMS)中,谁也不可能做出不符合第一范式的数据库,因为这些DBMS不允许你把数据库表的一列再分成二列或多列。因此,想在现有的DBMS中设计出不符合第一范式的数据库都是不可能的。
2NF 第二范式
若关系模式R∈1NF,并且每一个非主属性都完全函数依赖于R的码(多个主属性字段的组合),则R∈2NF
也可表述为:数据库表中不存在非关键字段对任一候选关键字段的部分函数依赖(部分函数依赖指的是存在组合关键字中的某些字段决定非关键字段的情况),也即所有非关键字段都完全依赖于任意一组候选关键字。
具体的可以参照上面部分函数依赖的例子
3NF 第三范式
关系模式R<U< em="">,F> 中若不存在这样的码X、属性组Y及非主属性Z(Z ÍY), 使得X→Y,Y→Z,成立,则称R<U< em="">,F> ∈ 3NF。
也可表述为:在第二范式的基础上,数据表中如果不存在非关键字段对任一候选关键字段的传递函数依赖则符合第三范式。所谓传递函数依赖,指的是如果存在"A → B → C"的决定关系,则C传递函数依赖于A。因此,满足第三范式的数据库表应该不存在如下依赖关系:关键字段 → 非关键字段x → 非关键字段y
比如:
BCNF 鲍依斯-科得范式
设关系模式R<U< em="">,F>∈1NF,如果对于R的每个函数依赖X→Y,若Y不属于X,则X必含有候选码,那么R∈BCNF。
也可表述为:在第三范式的基础上,数据库表中如果不存在任何字段对任一候选关键字段的传递函数依赖则符合第三范式。
比如:仓库管理关系表为(仓库ID, 存储物品ID, 管理员ID, 数量),且有一个管理员只在一个仓库工作;一个仓库可以存储多种物品。这个数据库表中存在如下决定关系:
(仓库ID, 存储物品ID) →(管理员ID, 数量)
(管理员ID, 存储物品ID) → (仓库ID, 数量)
所以,(仓库ID, 存储物品ID)和(管理员ID, 存储物品ID)都是表的候选关键字,表中的唯一非关键字段为数量,它是符合第三范式的。但是,由于存在如下决定关系:
(仓库ID) → (管理员ID)
(管理员ID) → (仓库ID)
即存在关键字段决定关键字段的情况,所以其不符合BCNF范式。数据表应修改为:
仓库管理:(仓库ID, 管理员ID);
仓库:(仓库ID, 存储物品ID, 数量)。
四种范氏之间的关系
每一个范氏都是进一步约束的关系,如下图:
四种范式之间的关系
标签:
相关推荐:
最新新闻:
- d盘打不开怎么办? b盘打不开解决方法
- 电磁调速电机是什么原理?电磁调速电机常见故障分析
- 如何理解KMT字符串匹配算法?如何计算出KMT数组?
- 焦点日报:PriorityQueue(优先队列)是堆还是最小?PriorityQueue详解
- 范氏之间的关系基础知识(一)
- 天天热门:NCBI-BLAST在线使用教程详细攻略(图解)
- 次世代游戏道具制作:高低模匹配烘焙法线的加速技巧
- 环球快报:进位标志位中的数值被丢弃?汇编SHL指令和SHR指令
- SCI论文怎么分区?SCI论文分区有两种方法
- 全球信息:【RL】算法简介与实现 Value-Based-Learning算法
- 如何给U盘设置密码?U盘设置密码的方法步骤|环球速看
- 电阻的单位是什么?SMT贴片电阻510R与510K的区别在哪?
- 环球看热讯:【企业版】Mule3的新增特点-云连接
- 天天观焦点:对数的计算公式是什么?对数的计算公式性质及推导过程
- 环球速读:如何使用using声明防止命名冲突?命令空间的using声明
- 天天即时看!社交是什么?看懂这6条社交潜规则
- python中rb是什么意思?Python文件读写的几种模式
- 当前视点!戴尔XPS15/17笔记本2023款发布:搭载13代酷睿+40系显卡
- 对标比亚迪唐,领克大5座SUV领克08来了,或搭载魅族Flyme Auto车机
- 如何实现百度云盘会员下载大文件?实现百度云盘文件高速下载的方法_环球快播
- 环球快播:什么是领域?输入流和输出流应该作为设计对象看待吗?
- 世界微动态丨《爆衣战士 零》Steam页面上线 支持简繁体中文
- 打赢了!科比坠机照片泄露案其遗孀获赔2885万美元
- 报道:iPhone16Pro有望采用屏下面容 2026年用上屏下摄像头
- 微美全息开发基于图像处理的动态手势交互系统:全球热点评
- 环球观速讯丨努比亚发布裸眼3D平板电脑
- 努比亚Z50 Ultra影像参数公布:35mm+85mm最佳拍档_天天聚看点
- 新华三集团亮相CHINC,以数字技术助力智慧医院高质量发展-百事通
- 新华三:以融合网络技术支撑智慧医院全场景业务数字变革 今热点
- 全球规模最大锂资源采选冶一体化项目在新疆和田启动_今日观点
- 《守望先锋2》匹配机制糟糕 开发者回应
- 停售6年的PS3再次获得固件更新 提高了系统性能_天天热门
- SOC射击新游《The Front》登陆Steam 预告片首曝
- 《最终幻想16》将不会有多个难度选项 新游戏+包含新战斗-每日精选
- Windows 11发布更新 iPhone也能连接PC了_天天日报
- 热点聚焦:融合创新,领军2023!鸿合科技联手合作伙伴加速推进幼教数字化
- 首发2399元!vivo S16新配色“春日悠蓝”今天正式预售_天天热文
- 世界快看:ChatGPT赋能?微软或将人工智能引入Windows 11
- 天天热资讯!VMware在MWC 2023发布创新成果,帮助扩展电信运营商和企业的5G能力
- 全球快资讯:iPhone SE 4今年发布:6.1英寸全面屏 京东方提供
- 国风城镇叠叠乐 《重檐》Steam页面上线
- 全球消息!新疆队宣布退出CBA联赛捐献全部资产 周琦做出回应
- 房东纠纷 英国国家电子游戏博物馆团队被锁在门外|新要闻
- 新动态:《最终幻想16》试玩版将于发售前两周推出 支持存档继承
- 【新要闻】北欧游戏展被员工指控 调查结果:或违反《反歧视法》
- SteamDeck二月热门游戏 《霍格沃兹之遗》登顶_每日快讯
- crampfish_世界看点
- 国产动作游戏《斩妖行2》开发中 沙漠截图欣赏-快消息
- 环球新动态:三星980 PRO固态硬盘大促:1TB 649元
- 天天快资讯丨印度把苹果坑了:代工还是富士康靠谱
- 《最终幻想16》制作人:请别说“我不买PS5版 PC版还有半年就出”-天天看热讯
- 路由器的核心功能是什么?推荐几款核心路由器及相应报价
- 路由器管理员密码是什么?路由器的管理员密码详细介绍
- 环球观察:柯南最新剧场版《黑铁的鱼影》最新预告 4月14日上映
- 环球播报:机械制作模拟《Plasma》steam抢测 从机器人到街机制作
- 环球微速讯:《暗黑破坏神4》玩家打怪时 不会出现夸张伤害数值
- 《命运2:光陨之秋》现已上线,迎接我们的终局!
- 骁龙636处理器性能怎么样?高通骁龙636处理器性能详解
- 魔兽世界暗夜要塞入口怎么走?去暗夜要塞入的方法介绍
- 如何设置进入待机快捷键?待机快捷键的设置方法
- directx9.0c是什么软件?directx9.0c如何安装使用?
- 汉翔大将军手写板驱动怎么用?汉翔大将军手写板驱动安装说明常见问题解答
- Word目录怎样做?Word目录怎么自动生成?Word目录操作方法介绍
- 弹出winlogon.exe应用程序错误怎么办?winlogon.exe应用程序错误原因分析及解决方法
- SmartPrinter支持哪些格式?SmartPrinter文档转换方法
- Usb无法识别的原因是什么?电脑usb无法识别的处理步骤
- 本地连接不见了怎么办?本地连接不见了原因分析及解决方案介绍
- 940MX显卡怎么样?GeForce 940MX详细测评
- 拳头账号怎么注册?拳头账号密码忘了怎么找回?
- tcpip.sys文件造成电脑蓝屏怎么解决?tcpip.sys文件造成电脑蓝屏修复方法
- 全球即时:小米无线键鼠套装2开售:首发价89 元
- 12G+512G旗舰机超值价2149元!
- 苹果MR头显隔空打字:iPhone要酸了|全球观天下
- iPhone 15 Pro Max曝光:更厚更重了
- 2023年最完美全面屏!努比亚Z50 Ultra官宣3月7日发布