7.4关系数据库设计基础知识

简介: 7.4关系数据库设计基础知识

思维导图:

1、函数依赖

• 定义:设R(U)是属性集U上的关系模式,X、Y是U的子集。若对R(U)的任何一个可
能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,
则称X函数决定Y或Y函数依赖于X,记作:X→Y

• 如果X→Y,那么对于任意两个相同的X,所对应的Y是一定相同的。

• 如果X→Y,但Y⊈X,则称X→Y是非平凡的函数依赖。一般情况下总是讨论非平凡

的函数依赖。

• 如果X→Y,但Y⊆X,则称X→Y是平凡的函数依赖


2、完全函数依赖与部分函数依赖

• 定义:在R(U)中,如果X→Y,并且对于X的任何一个真子集X',都有X'不能决定Y,则称Y对X完全函数依赖,记作:X→Y。如果X→Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记作:X→Y。部分函数依赖也称局部函数依赖。

例:选课关系SC1(学号,课程号,成绩),F={(学号,课程号)→成绩}。

(学号,课程号)→成绩,学号⇸成绩,课程号⇸成绩。

选课关系SC2(学号,课程号,学生姓名,课程名称,成绩),F={(学号,课程号)

→成绩,(学号,课程号)→课程名称,(学号,课程号)→学生姓名,学号→学生

姓名,课程号 →课程名称}。

3、传递函数依赖

• 定义:在R(U,F)中,如果X→Y,Y→Z,Y⊈X,Y⇸X,则称Z对X传递依赖。

例:供应商(Sno,Sname,Status,City,Pno,Qty),及函数依赖集如下,判断该

关系是否存在传递函数依赖和部分函数依赖。

F={Sno→Sname, Sno→Status, Status→City,(Sno,Pno)→Qty}

1、候选码和主码:设K为R(U,F)中的属性的组合,若K→U,且对于K的任何一个真子集K',都有K'不能决定U,则K为R的候选码,若有多个候选码,则选一个作为主码

• 候选码通常也可以称为候选关键字,主码通常也可以称为主关键字或主键。

• 包含在任何一个候选码中的属性叫做主属性,否则叫做非主属性。

例:选课关系SC1(Sno,Cno,Sname,Cname,G)

选课关系SC2(Sno,Cno,Sname,Cname)

2、外码:若R(U)中的属性或属性组X非R的码,但X是另一个关系的码,则称X是R的外(ForeignKey)或称外键

例:学生(学号,姓名,班主任,所属学院)

教师(职工号,姓名)

学院(编号,名称)

多值依赖

• 多值依赖具有如下6条性质:

1、多值依赖具有对称性。即若X→→Y,则X→→Z,其中Z=U-X-Y。

2、多值依赖的传递性。即若X→→Y,Y→→Z,则X→→Z-Y。

3、函数依赖可以看成是多值依赖的特殊情况。

4、若X→→Y,X→→Z,则X→→YZ。

5、若X→→Y,X→→Z,则X→→Y ⋂Z。

6、若X→→Y,X→→Z,则X→→Z-Y。


相关实践学习
体验RDS通用云盘核心能力
本次实验任务是创建一个云数据库RDS MySQL(通用云盘),并通过云服务器ECS对RDS MySQL实例进行压测,体验IO加速和IO突发带来的性能提升;并通过DMS执行DDL,将数据归档到OSS,再结合云盘缩容,体验数据归档带来的成本优势。
相关文章
|
机器学习/深度学习 资源调度 算法
【机器学习基础】对数几率回归(logistic回归)
【机器学习基础】对数几率回归(logistic回归)
323 0
|
6月前
|
机器学习/深度学习 物联网 开发者
秒级生图,SDXL-turbo、LCM-SDXL魔搭社区最佳实践
最近一个月,快速生图成为文生图领域的热点,其中比较典型的两种方式的代表模型分别为SDXL-turbo 和 LCM-SDXL。
|
3月前
|
SQL 关系型数据库 PHP
深入理解 Laravel 的 ORM:Eloquent
【8月更文挑战第31天】
72 0
|
6月前
|
安全 网络安全 数据安全/隐私保护
DMZ与端口转发的区别
【4月更文挑战第9天】
437 4
|
Linux 网络安全 开发工具
SecureCRT 绝佳配色方案
SecureCRT 绝佳配色方案
372 0
|
6月前
buuctf-misc-29.九连环
buuctf-misc-29.九连环
|
6月前
|
缓存 安全 PHP
攻防世界06-get_post
攻防世界06-get_post
|
6月前
|
Python
20基础解决-buuctf-1.RSA1
20基础解决-buuctf-1.RSA1
|
存储 SQL 缓存
【数据库设计与实现】第三章:数据后像与前滚
数据后像与前滚设计原则事务的持久性要求事务提交时本次事务的修改必须完成持久化工作,而事务修改的block或page在大部分场景下并不是连续的,在持久化设备上表现为大量的随机IO。通过记录后像,可以将随机IO转换为对持久化设备更为有利的顺序IO,并将dirty block或dirty page(指被修改过但尚未完成持久化的block或page)的多次修改合并,节约block或page的持久化次数。后
【数据库设计与实现】第三章:数据后像与前滚
|
6月前
|
安全 PHP 数据安全/隐私保护
攻防世界17.fileinclude
攻防世界17.fileinclude