数据库基础理论知识研讨.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库基础理论知识研讨

1) 实体完整性 实体完整性是指关系R的主键不能取“空值” 。 所谓空值就是“不知道”或“不存在”的值。? a. 实体完整性规则是针对基本关系表而言的, 一个基本关系表通常对应现实世界的一个实体集。 b. 现实世界中的实体是可以相互区分、识别的, 也即它们应具有某种惟一性标识。 c. 相应地, 关系模式中以主键作为惟一性标识。 d. 如主关键字是多个属性的组合, 则所有主属性均不得取空值。 e. 主键中的属性 (称为主属性) 不能取空值。 否则, 表明关系模式中存在着不可标识的实体 (因空值是“不确定”的), 这与现实世界的实际情况相矛盾, 这样的实体就不是一个完整实体。 如表1.1将学号作为主键, 那么该列不得有空值。否则无法对应某个具体的学生, 这样的表格不完整, 对应关系不符合实体完整性规则的约束条件。 2) 参照完整性? 参照完整性是定义建立关系之间联系的主键与外键引用的约束条件。? RDB中通常都包含多个存在相互联系的关系, 关系与关系之间的联系是通过公共属键来实现的。 关系S中外键的取值, 或者与关系R中某元组主键的值相同, 或者取空值。 例 学生与课程之间多对多的关系, 可以用如下3个关系来表示。 (1) 学生(学号, 姓名, 性别, 专业号, 年龄); (2) 课程(课程号, 课程名, 学分); (3) 选修(学号, 课程号, 成绩)。 学号和课程号是选修关系的外键。 选修表中的“学号”值, 必须在学生表的“学号”中有, 才能满足参照完整性规则要求。 同理, 选修表中的“课程号”值, 必须在课程表的“课程号”中有, 才能满足参照完整性规则要求。 在两个关系间建立关联的主键和外键引用, 符合参照完整性规则要求。 根据实体完整性要求, 主键不得取空值。 选修关系外键“学号”的取值实际上只能取相应学生关系中已经存在的主键值。 在学生管理数据库中, 如果将选课表和学生表进行关联, 以“学号”作为两个关系进行关联的属性, 则“学号”是学生关系的主键, 是选课关系的外键。 选课关系 通过外键“学号” 参照学生关系。 3) 用户定义完整性 实体完整性和参照完整性, 是关系模型必须满足的完整性约束条件, 称作是关系的两个不变性。 它们主要是针对关系的主键和外键 取值必须有效而做出的约束。 用户定义完整性则是根据应用环境的要求和实际的需要, 对某具体应用所涉及业务规则的数据提出特殊约束性条件。 这一约束机制一般不应由应用程序提供, 而应有由关系模型提供用户定义和系统检验, 用户定义完整性主要包括字段有效性约束和记录有效性。 例 课程(课程号, 课程名, 学分), 主键“课程号”的值, 必须取不同的惟一值, 这就是实体完整性。 非主键“课程名”的值, 不能取空值; 非主键“学分”, 只能取{1, 2, 3, 4, 5}这5个不同值中的一个值。这就是用户定义完整性。 例 选修关系(学号, 课程号, 成绩), 在定义关系选课表时, 可以对“成绩”这个属性 定义必须: 0 ≤成绩≤ 100 的约束。 这就是用户定义完整性。 2.5 关系代数的数据操纵 关系数据操作, 可以分为数据查询和数据更新两大操纵类型。关系操作以集合代数为基础运算的数据操作语言称为关系代数语言, 相应的运算就称为关系代数运算。 2.5.1 一元操作与二元操作 (1) 一元操作 只涉及一个操作对象的操作, 称其操作符为一元操作符, 如关系代数操作中选择?和投影?。 (2) 二元操作 涉及两个操作对象的操作, 称其操作符为二元操作符。关系代数操作中二元操作符有: 并 ∪ 、交 ∩、笛卡尔积 ?、差 ?、除 ?、?连接 ??、自然连接 ? 和 半连接 ?。 2.5.2 传统的集合运算 数据更新操作分为插入、删除和修改几种基本类型, 它们分别由传统集合的相关二元运算来实现, 这些运算是并、交、差、笛卡尔积 。 假定关系R和S具有相同的目n(有n个属性), 并且相应的属性取自同一个域, 再假定t是元组变量。 1. 插入 (集合的并运算) 设有关系R需要插入若干元组, 这些元组构成关系S, 由集合论可知, 此时需用集合的并运算, 即插入的结果可写为: R∪S = {t | t?R∨t?S} , 其结果仍为n目关系, 它由属于R或属于S的元组组成。 2. 删除 (集合的差运算) 设有关系R要删除若干元组, 这些被删元组构成关系S, 由集合论可知, 此时需用集合的差运算, 即删除的结果可写为: R ? S = {t | t?R∧t?S} , 其结果仍为n目关系,

文档评论(0)

yy558933 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档