数据库第四章1
数据库原理与应用第四章

说明:
函数依赖不是指关系模式R的某个或某些关系实例满足的约束条件,而是指R的所有关系实例均要满足的约束条件。 函数依赖是语义范畴的概念。只能根据数据的语义来确定函数依赖。 例如“姓名→年龄”这个函数依赖只有在不允许有同名人的条件下成立 数据库设计者可以对现实世界作强制的规定。例如规定不允许同名人出现,函数依赖“姓名→年龄”成立。所插入的元组必须满足规定的函数依赖,若发现有同名人存在, 则拒绝装入该元组。
四、关系模式的简化表示
关系模式R(U, D, DOM, F) 简化为一个三元组: R(U, F) 当且仅当U上的一个关系r 满足F时,r称为关系模式 R(U, F)的一个关系
五、数据依赖对关系模式的影响
例:描述学校的数据库:
学生的学号(Sno)、所在系(Sdept) 系主任姓名(Mname)、课程名(Cname) 成绩(Grade) 单一的关系模式 : Student <U、F> U ={ Sno, Sdept, Mname, Cname, Grade }
汇报时间:12月20日
Annual Work Summary Report
一、概念回顾
关系:描述实体、属性、实体间的联系。 从形式上看,它是一张二维表,是所涉及属性的笛卡尔积的一个子集。 关系模式:用来定义关系。 关系数据库:基于关系模型的数据库,利用关系来描述现实世界。 从形式上看,它由一组关系组成。 关系数据库的模式:定义这组关系的关系模式的全体。
4.2.2 码
定义5.4 设K为关系模式R<U,F>中的属性或属性组合。若K f U,则K称为R的一个侯选码(Candidate Key)。若关系模式R有多个候选码,则选定其中的一个做为主码(Primary key)。 主属性与非主属性 ALL KEY
第四章生物信息学数据库(一)主要库及其文件格式

(2)人类基因组图谱,
包含细胞遗传学图谱、连接图谱、辐射混合图谱、contig 图谱、集 成图谱,所有这些图谱都可以被直观地显示出来;
(3)人类基因组中的变化,
包括基因突变和基因多态性,加上等位基因频率数据。
• 所有序列数据都经过整理,超过99%的序列已 按蛋白质家族分类,一半以上还按蛋白质超家 族进行了分类。
除了蛋白质序列数据之外,PIR还包含以下 信息:
(1)蛋白质名称、蛋白质的分类、蛋白质的来源; (2)关于原始数据的参考文献; (3)蛋白质功能和蛋白质的一般特征,包括基因 表达、翻译后处理、活化等;
生物分子数据高速增长分子生物学及相关领域研究人员迅速获得最新实验数据建立生物分子数据库生物分子数据库几个明显的特征生物分子数据库几个明显的特征1数据库的更新速度不断加快数据量呈指数增长趋势2数据库使用频率增长更快3数据库的复杂程度不断增加4数据库网络化5面向应用6先进的软硬件配置核酸序列数据的增长趋势核酸序列数据的增长趋势纵轴代表总的核酸序列长度单位百万纵轴代表总的核酸序列长度单位百万bpbp生物分子数据库一级数据库数据库中的数据直接来源于实验获得的原始数据只经过简单的归类整理和注释二级数据库对原始生物分子数据进行整理分类的结果是在一级数据库实验数据和理论分析的基础上针对特定的应用目标而建立的
TIGR的真菌基因组数据库:/tdb/fungal 线虫基因组数据库 WormBase(the C. elegans genome database):
四膜虫基因组数据库 TGD (Tetrahymena Genome Database): 疟原虫基因组数据库 PlasmoDB(Plasmodium Genome Resource):
《数据库原理》第四章

工号 超额
101 22% 102 17% 103 14% 104 20% 101 22%
102 21% 103 15% 104 12%
W21
W22
工种 车工
工号 101 102 103 104
姓名 丁一 王二 张三 李四
定额 80
工种 车间 车工 金工 车工 金工 钳工 工具 金工 金工
• 第1NF范式
• 关系R中的所有属性都是不可再分的(却原子的),称第一范式。
背景(2)
学号
0001 0002
…
姓名 年 龄 课程 号
成绩 课程名
李明 19 C01 数据库原 理
张小 20 C210 电子学基
东
础
…… …
…
得分 80 85 …
学号
0001 0002
…
姓名
李明 张小东
…
年龄
19 20 …
• 保持函数依赖且无损联接地分解成3NF • Input:关系模式R,R上成立的函数依赖集的规范复盖F。
• O Ruit(pFu)是t:3RN的F,一且个保分持解函=数{R依1,赖…和,无Rk损},联满接足分每解个。Ri相对于
• Step: 求R的候选键 ={ },i=0; for F中每个FD XY do if 中每个模式都不包含XY then begin i=i+1;Ri=XY;= {Ri};end if 中每个模式都不包含R的候选键then begin i=i+1;Ri=R的某个候选键;= {Ri};end return ;
李B
李B 王A 王A 王A
商品 商品M1 商品M2 商品M3 商品M4 商品M1 商品M2
数据库第四章

数据库第四章在信息技术的广袤领域中,数据库如同一个精心构建的知识宝库,存储着大量有价值的信息,并以高效、准确的方式为我们提供服务。
接下来,让我们一同走进数据库的第四章,深入探索其中的奥秘。
数据库的第四章,通常聚焦于数据的存储与管理这一关键环节。
在这一章节,我们会接触到一系列重要的概念和技术,它们是确保数据库稳定运行和高效服务的基石。
首先,不得不提到的是数据存储结构。
数据在数据库中并非随意堆砌,而是按照一定的规则和方式进行组织和存储。
就好比图书馆中的书籍,按照特定的分类和编号系统摆放,方便读者查找。
常见的数据存储结构有顺序存储、链式存储和索引存储等。
顺序存储简单直观,适合于频繁进行顺序访问的数据;链式存储则具有灵活性,能够方便地进行插入和删除操作;索引存储则像是为数据建立了快速通道,能够极大地提高数据的查询效率。
数据类型也是这一章的重要内容。
不同类型的数据需要不同的存储空间和处理方式。
例如,整数、浮点数、字符、日期等常见的数据类型,都有其特定的表示方式和运算规则。
正确选择和使用数据类型,不仅能够节省存储空间,还能提高数据处理的效率和准确性。
接下来是数据的完整性约束。
这就像是给数据设定的一系列规则和限制,确保数据的准确性和一致性。
例如,主键约束保证了每条记录的唯一性,外键约束则维护了不同表之间的数据关联。
通过这些约束,我们可以避免数据的混乱和错误,保证数据库的可靠性。
数据库的第四章还会涉及到存储过程和函数。
存储过程可以看作是一组预先定义好的数据库操作步骤,将复杂的业务逻辑封装起来,提高代码的复用性和执行效率。
函数则用于对数据进行特定的计算和处理,为数据的操作提供了更多的灵活性。
在数据存储管理中,数据的备份与恢复也是至关重要的。
想象一下,如果因为某种意外导致数据库中的数据丢失或损坏,那将是一场灾难。
因此,定期进行数据备份,并在需要时能够快速、准确地恢复数据,是保障数据库正常运行的关键措施。
另外,数据库的性能优化也是不可忽视的一部分。
《数据库第4章》课件

03
SQL语言基础
SQL语言概述
总结词
简洁、高效、标准化的特点
详细描述
SQL(Structured Query Language)是一种用于管理关系数据库的标准编程语言。它以简洁的语法 和高效的性能而著称,被广泛应用于数据查询、更新、管理以及数据库设计和维护。
SQL语言的数据定义功能
总结词
定义、修改、删除数据结构
关系数据库系统的特点
要点一
总结词
关系数据库系统具有数据完整性、标准化、安全性和并发 控制等特点。
要点二
详细描述
数据完整性是指关系数据库中的数据保持准确性和一致性 ,防止错误和无效数据的输入。标准化是指通过规范化的 表格结构和关系,减少数据冗余和保证数据一致性。安全 性是指对数据库的访问进行控制,确保数据的保密性和完 整性。并发控制则是在多用户同时访问数据库时,确保数 据的一致性和避免冲突。
安全对于保护企业资产、个人隐私以及国家安全等方面都具有重要意义
。
数据库的安全性控制
用户身份认证
通过用户名和密码等身份认证方式,确保只 有经过授权的用户才能访问数据库。
访问控制
根据用户的角色和权限,限制用户对数据库 的访问范围和操作权限。
数据加密
对敏感数据进行加密存储,以防止未经授权 的用户获取和利用。
05
数据库安全与保护
数据库安全概述
01
数据库安全定义
数据库安全是指通过采取各种安全措施和技术手段,确保数据库中的数
据不被未经授权的访问、使用、泄露、破坏、修改或销毁。
02
数据库安全威胁
数据库面临的安全威胁包括数据泄露、数据篡改、数据损坏、非授权访
问等。
03
数据库课件第4章-文档资料

第4章 表 与 关 系
学习目标与要求
• 通过本章学习,应达到以下要求: 1.深入理解Access表结构的基本概念。 2.深入理解数据类型的意义,掌握Access提供的 数据类型的类别及适用对象。 3.深入了解掌握表的创建方法,可以用不同方法 创建表,并进行字段属性设置。 4.深入理解表之间关系的意义,掌握建立表之间 关系的操作方法,并应用关系实现数据之间的 参照完整性。 5.理解并掌握表的各种视图,应用不同视图完成 对表的数据记录的输入和维护、表结构的修改 以及对表中数据的其他各种操作。
4.1 表对象的结构与数据类型
• 表中所有记录具有相同字段结构,每一列字段具 有唯一的取值集合,即数据类型。 • 一般来说,表的每个记录不重复。可指定主键 (Primary Key)作为区分各记录的标识,主键是 一个或者多个字段的组合。 • 一个数据库中多个表之间常常互相联系。一个表 的主键在另外一个表中作为将两个表关联起来的 字段,称为外键(Foreign Key)。外键与主键之 间,必须满足参照完整性要求 • 整个图书销售数据库8个表的字段构成及相互之间 的关系,如图所示。
4.1 表对象的结构与数据类型
4、是/否型。 • 用于表达具有真或假的逻辑值,或者是相 对两个值。 • 作为逻辑值的常量,可以取的值有:true 与false、on与off、yes与no等。这几组值 在存储时实际上都只存一位。 • True、on、yes存储的值是-1,false、off 与no存储的值为0。
4.1 表对象的结构与数据类型
2
数据类型
• 数据类型是数据处理的重要概念。DBMS事先将所 有数据进行分类,一个DBMS中数据类型的多少是 其功能强弱的重要指标,不同DBMS在数据类型的 规定上各有不同。 • 数据类型规定了每一类数据的取值范围、表达方 式和运算种类。 • 每个数据都应该有明确的数据类型。因此,定义 表时每个字段都要指出其类型。有一些数据,可 以定义不同的类型,这样的数据到底应该指定为 哪种类型,要根据它自身的用途和特点来确定。
第4章 关系数据库理论1
成员;
若X(X∈R)是L类属性,且X+包含了R的全部属性,
则X必为R的唯一候选键;
若X(X∈R)是R类属性,则X不在任何候选键中; 若X(X∈R)是N类属性,则X包含在R的任一候选键
中;
若X(X∈R)是R的N类和L类属性组成的属性集,且
} while (result有所改变) ;
4.2.7 候选键的求解理论和算法
关键码的定义
定义4.7 设关系模式R的属性集是U,X是U的一
个子集,F是在R上成立的一个函数依赖集。
如果
X→U 在R上成立(即X→U在F+中),那么称X 是R的一个超键。 如果 X→U 在R上成立,但对X的任一真子集X'都有 f X'→U不成立(即X'→U不在F+中,或者X→U),那么 称X是R上的一个候选键。
SNo 决定函数(SN,Age,Dept) (SN,Age,Dept)函数依赖于 SNo
定义4.1 设关系模式R(U,F),U是属性全集,F是 U上的函数依赖集,X和Y是U的子集,如果对于R(U) 的仸意一个可能的关系r,对于X的每一个具体值, Y都有唯一的具体值与之对应,则称X决定函数Y, 或Y函数依赖于X,记作X→Y。我们称X为决定因素, Y为依赖因素。当Y不函数依赖于X时,记作:X→Y。 当X→Y且Y→X时,则记作:X Y。
SN Age Dept MN
SNO
Score
f
CNO
P
P
图4.4 SCD中的函数依赖关系
由此可见,在SCD中,既存在完全函数依赖,又存在部 分函数依赖和传递函数依赖。
4.4.2 第二范式
数据库chapter4
第4章 查询优化查询优化是提高查询效率和系统性能的关键。
本章介绍查询优化的重要性,查询优化的基本方法和技术,重点是使用SQL时常用的查询优化方法。
4畅1 查询优化概述相同功能的SQL语句,使用不同的写法来实现,在性能上会产生非常大的差异,执行效率也会千差万别。
举例来说,如果数据量积累到一定程度,比如数据库表信息积累到上百万甚至千万条记录,执行一次全表扫描,有的SQL语句可能只需要几分钟,有的SQL语句可能要花费几十分钟甚至几小时。
对于海量数据,优质SQL语句和劣质SQL语句之间的速度差别可以达到上百倍,因此对于一个系统不是简单地实现其功能即可,而是需要写出高质量的SQL语句,提高系统的可用性。
SQL语句优化的主要原因包括以下几个方面。
1)SQL语句是对数据库(数据)进行操作的唯一途径,应用程序的执行最终要归结为SQL语句的执行,SQL语句的效率对数据库系统的性能起到了决定性的作用。
2)SQL语句消耗了70%~90%的数据库资源,所以要优化SQL语句,合理使用数据库资源。
3)SQL语句独立于程序设计逻辑,对SQL语句进行优化不会影响程序逻辑,SQL语句的优化在时间成本和风险上的代价都很低。
4)不需要硬件的投资和额外的开销,但却会产生明显的效果。
5)采用好的查询策略会给查询技术带来极大的优化,还可以节省极大的经济开销。
SQL语句的性能往往同实际运行系统的数据库结构、记录数量等有关。
数据库的逻辑设计、包括表与表之间的关系是优化关系型数据库性能的核心。
一个好的逻辑数据库设计可以为优化数据库和应用程序打下良好的基础。
4畅2 基于索引的优化技术索引是提高查询速度的重要手段,建立“适当”的索引是实现查询优化的首要前提。
索引是除表之外另一个重要的、用户定义的存储在物理介质上的数据结构。
索引是一种用于排序和搜索的结构,在查找数据时它可以减少对I/O的需求。
某些方面的优化可以适度地提高性能,而索引优化则可以大幅提高性能。
数据库第四章
数据库第四章哎呀,咱们今天就来好好聊聊这数据库的第四章。
你知道吗,就像我们去逛一个超级大商场,每一层都有不同的宝贝。
这数据库的每一章呢,也都藏着独特的秘密和惊喜。
第四章就像是商场里那个专门卖精致饰品的区域,虽然不是最显眼的,但绝对够精彩。
先来说说这第四章里的那些关键概念吧。
就比如说“数据完整性约束”,这就好像是给数据们穿上了合适尺码的衣服,不合身可不行!要是数据在里面乱蹦跶,那整个数据库系统就得乱套啦。
我想起之前带过的一个学生小明,他在学习这部分的时候,那叫一个头疼。
我问他怎么回事,他苦着脸说:“老师,这些概念感觉就像天上的星星,看得见,就是够不着。
”我一听,笑了,给他打了个比方:“你想象一下,你有一个存钱罐,你每次往里放钱都得记清楚数目,不能多也不能少,这就是一种简单的完整性约束呀。
”嘿,他听完眼睛一下子亮了,后来还真就把这部分给弄明白了。
还有“索引”这个家伙,它就像是数据库里的快速通道。
比如说你在图书馆找一本书,要是没有索引,你得在茫茫书海中瞎翻,多费劲!有了索引,一下子就能定位到你想要的那本书的大致位置。
记得有一次,我们在课堂上做一个小实验,让同学们自己动手创建一个简单的数据库,并设置索引。
有个同学特别兴奋,手忙脚乱地操作,结果不小心把索引设置错了,找数据的时候怎么都找不到,急得满头大汗。
最后大家一起帮他找问题,才发现原来是这个小失误。
从那以后,大家对索引的理解可深刻多了。
再说说“存储过程”吧,这就像是数据库里的一套预先设定好的操作流程。
比如说你要做一顿丰盛的晚餐,把买菜、洗菜、切菜、炒菜这些步骤都安排得明明白白,这就是存储过程。
它能让数据库的操作更高效、更规范。
在实际应用中,数据库的第四章里的这些知识可太有用了。
就像我们学校的成绩管理系统,要保证每个学生的成绩准确无误,就得靠数据完整性约束来把关;要快速查询学生的成绩排名,索引就派上大用场了;而一些复杂的成绩统计和分析,就得靠存储过程来提高效率。
数据库及其应用第4章
数据并发 性:支持 多用户同 时访问和 修改数据
数据可扩 展性:支 持数据的 增加、删 除和修改 便于扩展 和升级
关系数据库系统
关系数据库系统的基本概念
关系数据库系 统是一种基于 关系模型的数 据库管理系统。
关系模型是一 种数学模型用 于描述数据之
间的关系。
关系数据库系 统由多个关系 组成每个关系 都是一个二维
数据库设计的基本概念
数据库设计:是指 根据用户需求对数 据库进行规划、设 计和实现的过程。
数据库模型:是数 据库设计的核心包 括概念模型、逻辑 模型和物理模型。
数据库设计原则: 包括规范化、完整 性、安全性和可扩 展性等。
数据库设计方法: 包括自顶向下、自 底向上和混合方法 等。
数据库设计的方法和步骤
数据扩展性:具有良好的扩展性可以方便地添加新的数据表和字段满足 不断发展的业务需求。
关系数据库系统的应用
数据分析:进行数据挖掘、 统计分析等
事务处理:保证数据的一致 性和完整性
数据库管理:存储、检索、 更新、删除数据
决策支持:为决策提供数据 支持提高决策的准确性和效
率
应用开发:支持各种应用系 统的开发如ERP、CRM等
件系统
添加标题
数据库用户:使用数据库的 人员包括数据库管理员、应
用程序开发人员等
添加标题
数据库连接:数据库管理系 统与数据库应用程序之间的
通信通道
数据库备份与恢复:确保数 据库在发生故障或灾难时能
够恢复数据的机制
添加标题
添加标题
添加标题
数据库:存储数据的集合包 括表、视图、索引等
添加标题
数据库应用程序:使用数据 库管理系统提供的接口和数
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一个好的关系模式数据冗余应尽可能少; 一个好的关系模式应避免插入、删除、更新异常; 若关系模式中存在不合适的属性间联系或属性选择不 合理,则该关系模式是一个不好的关系模式。解决的 方法是采用分解的策略消去不合适联系。
14
4.2
函数依赖
关系模式中的各属性之间相互依赖、相互制约的联 系称为数据依赖。 数据依赖一般分为: 函数依赖 多值依赖 连接依赖 其中,函数依赖是最重要的数据依赖。 函数依赖(Functional Dependency)是关系模式 中属性之间的一种逻辑依赖关系。
直接
28
4.2.1
函数依赖的定义
例如,在关系模式SCD中, SNO→DEPT,但DEPT→SNO, T 而DEPTN→MN,则有SNO→MN。
当学生不存在重名的情况下,有SNO→SN,SN→SNO, SNO ←→SN,SN→DEPT,这时DEPT对SNO是直接函 数依赖。 综上所述,函数依赖分为完全函数依赖、部分函数依赖 和传递函数依赖三类,它们是规范化理论的依据和规范 化程度的准则,下面我们将以介绍的这些概念为基础, 进行数据库的规范设计。
30
4.2.2
码
在最简单的情况下,候选码只包含一个属性。 在最极端的情况下,关系模式的所有属性组是该关系的 候选码,这时称为全码(All-key)。
学生关系S(SNO, SN, AGE, DEPT) 选课关系SC(SNO, CNO, SCORE) 系关系D(DEPT, MN)
10
SC:
S:
SNO SN AGE DEPT SNO CNO SCORE
S1 S2 S3 S4
赵亦 钱尔 孙珊 李思
17 18 20 19
计算机 信息 信息 自动化
26
4.2.1
函数依赖的定义
例如,在关系模式SCD中, F (SNO,CNO) → SCORE 因为: SNO → SCORE,且CNO → SCORE (SNO,CNO) → AGE 因为: SNO → AGE,而CNO → AGE
P
由定义3可知:当决定因素是单属性时,只能是完全函数 依赖。 例如,在关系模式S(SNO,SN,AGE,DEPT),决定因素为 单属性SNO,有:SNO→(SN,AGE,DEPT),不存在 部分函数依赖。
16
4.2.1
函数依赖的定义
定义1:设R(U)是一个关系模式,U是R的属性集合,X 和Y是U的子集。对于R(U)的任何一个可能的关系r,如 果r中不存在两个元组,它们在X上的属性值相等,而在 Y上的属性值不等,则称X函数决定Y,或Y函数依赖(FD) 于X,记作:X→Y。 定义1’:设R(U)是一个关系模式,U是R的属性集合,X 和Y是U的子集。对于R(U)的任何一个可能的关系r,A、 B是r中的任意两个元组,若A[X]=B[X]能导致A[Y]=B[Y], 则称X函数决定Y,或Y函数依赖于X,记作:X→Y。
27
4.2.1
函数依赖的定义
定义4:传递函数依赖
设有关系模式R(U),U是属性全集,X、Y、Z是U的子集。 若X→Y,但Y→X,而Y→Z, (Y∈X,Z∈Y),则称Z对X传递函数依赖(Transitive Functional Dependency), T 记作:X→Z。 若X→Y,Y→X,且Y→Z,这时称Z对X直接函数依赖, 而不是传递函数依赖。 记作:X→Z。
17
4.2.1
函数依赖的定义
我们称X为决定因素,Y为依赖因素。
当Y不函数依赖于X时,记作:X→Y。
当X→Y且Y→X时,则记作:X←→Y。 对于关系模式SCD,设U是属性全集,F是U上的函数依 赖集,则有: U={ SNO,SN,AGE,DEPT,MN,CNO,SCORE } F={ SNO→SN, SNO→AGE, SNO→DEPT, (SNO,CNO)→SCORE, DEPT→MN }
4.1
规范化问题的提出
3、删除异常
某系学生全部毕业而没有招生时,删除全部学生的记录 则系名、系主任也随之删除,而这个系依然存在,在数 据库中却无法找到该系的信息。
另外,如果某个学生不再选修C1课程,本应该只删去C1, 但C1是主属性,为保证实体完整性,必须将整个元组一 起删掉,这样,有关该学生的其它信息也随之丢失。
15
4.2
函数依赖
例:在关系模式SCD中,SNO与SN、AGE、DEPT之间 都有一种依赖关系。由于一个SNO只对应一个学生,而 一个学生只能属于一个系,所以当SNO的值确定之后, SN,AGE,DEPT的值也被唯一确定了。 这类似于变量之间的单值函数关系。设单值函数Y=F(X), 自变量X的值可以决定一个唯一的函数值Y。 在这里,我们说SNO函数决定(SN,AGE,DEPT), 或者说(SN,AGE,DEPT)函数依赖于SNO。
5
4.1
规范化问题的提出
根据上述的语义规定,并分析以上关系中的数据,我 们可以看出:(SNO,CNO)属性的组合能唯一标识一个 元组,所以(SNO,CNO)是该关系模式的主码。 但在进行数据库的操作时,会出现以下几方面的问题: 1、数据冗余 每个系名和系主任的名字存储的次数等于该系的学生 人数乘以每个学生选修的课程门数,同时学生的姓名、 年龄也都要重复存储多次,数据的冗余度很大,浪费 了存储空间。
21
4.2.1
函数依赖的定义
2、函数依赖与属性之间的联系类型有关
– 如果属性X与Y有m:n的联系时,则X与Y之间不存在
任何函数依赖关系。 例如,一个学生可以选修多门课程,一门课程又可以 为多个学生选修,所以SNO与CNO之间不存在函数依 赖关系。
由于函数依赖与属性之间的联系类型有关,所以在确定属 性间的函数依赖关系时,可以从分析属性间的联系类型入 手,便可确定属性间的函数依赖。
24
也就是说,用其投影在SNO上的自然连接可复原关系 模式SCD。 这一性质非常重要,在后一节的关系规范化中要用到。
4.2.1
函数依赖的定义
定义2:平凡的函数依赖与非平凡的函数依赖
如果X→Y,并且Y不是X的子集,则称X→Y是非平凡 的函数依赖;
如果X→Y,而且Y是X的子集,则称X→Y是平凡的函 数依赖。
20
4.2.1
函数依赖的定义
2、函数依赖与属性之间的联系类型有关 在一个关系模式中,如果属性X与Y有1:1联系时,则 存在函数依赖X→Y,Y→X,即X←→Y。 例如,当学生无重名时,SNO←→SN。
如果属性X与Y有m:1的联系时,则只存在函数依赖 X→Y。 例如,SNO与AGE,DEPT之间均为m:1联系,所 以有SNO→AGE,SNO→DEPT。
8
4.1
规范化问题的提出
4、更新异常 如果学生改名,则该学生的所有记录都要逐一修改SN; 又如某系更换系主任,则属于该系的学生记录都要修改 MN的内容,稍有不慎,就有可能漏改某些记录,这就会 造成数据的不一致性,破坏了数据的完整性。
9
4.1
规范化问题的提出
由于存在以上问题,因此SCD是一个不好的关系模式。 产生上述问题的原因,直观地说,是因为关系SCD中 “包罗万象”,内容太杂了。 那么,怎样才能得到一个好的关系模式呢? 我们把关系模式SCD分解为下面三个结构简单的关系模 式,如表4-2所示。
18
4.2.1
函数依赖的定义
有关函数依赖的几点说明: 1、函数依赖是语义范畴的概念 我们只能根据语义来确定一个函数依赖,而不能按 照其形式化定义来证明一个函数依赖是否成立。 例如,对于关系模式S,当学生不存在重名的情况 下,可以得到:SN→AGE SN→DEPT 这种函数依赖关系,必须在没有重名的学生条件下 才成立,否则就不存在函数依赖了。 所以函数依赖反映了一种语义完整性约束。
3
4.1
规范化问题的提出
根据实际情况,这些数据有如下语义规定: 一个系有若干个学生,但一个学生只属于一个系; 一个系只有一名系主任; 一个学生可以选修多门功课,每门课程可有若干学生 选修; 每个学生学习课程有一个成绩。 在此关系模式中填入一部分具体的数据,则可得到SCD 关系模式的实例,即一个教学管理数据库,如表4-1所示。
29
4.2.2
码
候选码(Candidate key) 若关系中的某一属性组的值能唯一地标识一个元组,则 称该属性组为候选码。 主码(Primary key) 若一个关系有多个候选码,则选定一个为主码。
主属性(Primary attribute) 包含在任何一个候选码中的属性叫做主属性。
非码属性(Non-key attribute) 不包含在任何候选码中的属性叫做非主属性。
第四章ቤተ መጻሕፍቲ ባይዱ
关系数据理论
1
本章主要内容
4.1 4.2 4.3 4.4
规范化问题的提出 函数依赖 范式 函数依赖的公理系统
4.5
关系模式的分解
2
4.1
规范化问题的提出
数据库的逻辑设计为什么要遵循一定的规范化理论? 什么是好的关系模式? 某些不好的关系模式可能导致哪些问题? 下面通过例子进行分析: 例:设计一个教学管理数据库,其关系模式SCD如下: SCD(SNO,SN,AGE,DEPT,MN,CNO,SCORE) MN表示系主任姓名 CNO表示课程号,SCORE表示成绩
23
4.2.1
函数依赖的定义
3、函数依赖可以保证关系分解的无损连接性 例如,对于关系模式SCD,有: SNO→(SN,AGE,DEPT,MN) SCD(SNO,SN,AGE,DEPT,MN,CNO,SCORE)= SCD[SNO,SN,AGE,DEPT,MN] SCD[SNO,CNO,SCORE]