- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章 数据库规范化与完整性
学习目标
本章从理论上讲解关系数据库的规范化和完整性理论。具体包括
1.理解关系模型、关系模式的基本概念
2.理解关系运算的基本方法
3.理解数据库完整性的概念
4.掌握关系规范化理论
1.1 关系模型与关系模式
1.关系模型
关系模型是建立在严格的数学概念的基础上的,其最大的优点是概念单一,是目前应该最广泛的数据模型。一个关系模型的逻辑结构就是一张二维表,它由行和列组成。
(1)关系:对应通常所说的二维表,关系是笛卡尔积的一个子集;
(2)元组:表中的一行即为一个元组,也称为记录;
(3)属性:表中的一列即为一个属性,也称为字段;
(4)域:属性的取值范围;
(5)主关键字:指表中的一个或多个属性组,它可以惟一确定一个元组,也称主键、主码(Primary Key),主关键字可以是多个属性的结合体,即属性组。
(6)外关键字:也称外键、外码(Foreign Key)。如果一个关系(R1)中的属性或属性组是另一个关系(R2)的主键,那么我们称这个属性或属性组为R1的外关键字,简称外键。
2.关系模式
关系模式是对关系的描述,一般表示为:关系名(属性1,属性2,…)。
关系实际上就是关系模式在某一时刻的状态或内容。也就是说,关系模式是型,关系是它的值。关系模式是静态的、稳定的,而关系是动态的、随时间不断变化的,因为关系操作在不断地更新着数据库中的数据。
1.2关系操作
1.2.1关系操作概述
关系模型中常用的关系操作包括:选择、投影、连接、除、并、交、差等。
关系代数和关系演算两种语言在表达能力上是完全等价的。
1.2.2传统的集合运算
传统的集合运算包括并、交、差和笛卡尔积等四种运算,对应的运算符分别用、∩、―和×表示。
1. 并运算(unin)
两个关系的并运算是指,将第一个关系的记录加到第二个关系中,生成新关系的过程。假设有两个关系R和S,它们具有完全相同的结构,那么R和S的并仍是一个关系,这个新关系的结构与R或S的结构相同,它的值是R中所有记录与S中所有记录共同组成的集合。R和S的并记作RS。
对应的SQL语句
SELECT * FROM 篮球爱好者
UNION
SELECT * FROM 足球爱好者
2. 交运算(intersect)
两个关系的交运算是指,把第一和第二个关系中相同的记录提取出来,形成新关系的过程。假设两个关系R和S具有完全相同的结构,那么R和S的交仍是一个关系,这个新关系的结构与R或S的结构相同,它的值是R和S中共同具有的记录的集合。R和S的交记作R∩S。
对应的SQL语句
SELECT * FROM 篮球爱好者
INTERSECT
SELECT * FROM 足球爱好者
注意:SQL Server 2000不支持上述操作。
3. 差运算(difference)
两个关系的差是指,在第一个关系中出现,而在第二个关系中不出现的记录组成的新关系。假设两个关系R和S具有完全相同的结构,则R和S的差仍是一个关系,这个新关系的结构与R或S的结构相同,它的值是从R中去掉在S中同时出现的记录后,由R中剩余记录所组成的集合。R和S的差记作R―S。
对应的SQL语句
SELECT * FROM 篮球爱好者
EXCEPT
SELECT * FROM 足球爱好者
注意:SQL Server 2000不支持上述操作。
4. 笛卡尔积(cartesian product)
两个关系的积是指,一个关系中每条记录和第二个关系的每条记录的连接。假设有一个具有n个属性的关系R和另一个具有m个属性的关系S,则它们的笛卡尔积仍是一个关系,这个新关系的结构是R和S的结构之连接,即前n个属性来自R,后m个属性来自S,属性个数等于n+m,该关系的值是由R中的每条记录连接S中的每个元组所构成记录的集合。R和S的笛卡尔积记作R×S。
对应的SQL语句
SELECT * FROM 篮球爱好者, 足球爱好者
1.2.3专门的关系运算
专门的关系运算包括选择、投影、连接和除四种。
1. 选择运算(select)
选择运算是指,从一个关系R中选择出满足给定条件的所有记录。这些被选择出的记录组成了一个新的关系,新关系同R具有相同的结构。选择运算实际上是一种横向划分(或称分割)关系的手段。它对应的SQL语句是:
SELECT * FROM 表名 WHERE 条件
2.投影运算(project)
投影运算是指,从一个关系R中按所需顺序选取若干个属性构成新关系。这个新关系的记录数必然小于等于原关系R中的记录数,因为要从中去掉在新关系模式下
文档评论(0)