数据库SQL Server关系模型概要1.ppt

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

* 参照完整性 三个相关概念 关系间的引用 外码 参照完整性规则 * 关系间的引用 在关系模型中实体间的联系都是用关系来描述的, 体现在关系与关系间的引用。 例1:专业实体与学生实体间的一对多联系 学号 姓名 性别 专业号 年龄 801 张三 女 01 19 802 李四 男 01 20 803 王五 男 01 20 804 赵六 女 02 20 805 钱七 男 02 19 学生(学号,姓名,性别,专业号,年龄) 专业(专业号,专业名) 专业号 专业名 01 信息 02 数学 03 计算机 * 关系间的引用(续) 例2:学生与课程 之间的多对多联系 学号 姓名 性别 专业号 年龄 801 张三 女 01 19 802 李四 男 01 20 803 王五 男 01 20 804 赵六 女 02 20 805 钱七 男 02 19 课程号 课程名 学分 01 数据库 4 02 数据结构 4 03 编译 4 04 PASCAL 2 学号 课程号 成绩 801 04 92 801 03 78 801 02 85 802 03 82 802 04 90 803 04 88 学生 课程 学生选课 * 关系间的引用(续) 例3 学生实体及其内部的领导联系(一对多) 学生(学号,姓名,性别,专业号,年龄,班长) 802 * 外码 设F是基本关系R的一组属性,但不是关系R的码。如果F与基本关系S的主码Ks相对应,则称F是基本关系R的外码 简单的说,如果关系R中的属性组K是其他关系的主码,那么K在R中称为外码 R称为参照关系, S称为被参照关系 例:学生(学号,姓名,性别,专业号,年龄,班长) R和S可以是同一关系 R的外码和S的主码定义在同一域,名字可以不同 * 参照完整性规则 若属性组F是基本关系R的外码它与基本关系S的主码Ks相对应,则对于R中每个元组在F上的值必须为: 或者取空值 或者等于S中某个元组的主码值。 例:选修(学号,课程号,成绩) 学号、课号是否可为空? 学号和课号两者之一为空? 学号、课号应该取哪些值? * 用户定义的完整性 是针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求。 关系模型应提供定义和检验这类完整性的机制, 而不要由应用程序承担这一功能。 例:课程(课程号,课程名,学分) 具体用户要求: 课程名”属性必须取唯一值 “学分”属性只能取值{1,2,3,4} * 关系的基本概念 关系操作 完整性约束 关系、关系模式与关系数据库 数据更新、查询、模式更新 关系数据语言 域和笛卡尔积 实体完整性 参照完整性 用户定义完整性 关系模型小结 作业:P70 5 * 1、关系直观上就是一张二维表(例学生基本信息表) 前面已经给了关系的直观描述。关系模型有严格的数学基础。下面从集合论的角度讨论关系的数据结构,给出相关形式化的定义 * * * 1、可对每个域起别名,作为表的列名 2、每个元组作为表中的一行 3、这是一个关系吗? * 1、从关系的定义中,可看出关系也是一个二维表,表的每行对应一个有意义的元组,每列对应一个域。每列的名字称为属性。 提问:SAP是几目关系 * 在后面关系模式中说明,这些概念都是关系模式中的 * 每个属性值不可分解,即不允许表中有表。 * 1、关系名和属性描述的关系模式太简单,无法很清楚知道关系的具体细节。如,SC关系中,每个属性的取值范围(域),属性之间的关系(Sno,Cno:Grade=1:n),同一个学生同一门课不允许有多个成绩。所以需要更详细的对关系的描述 * F中的数据依赖关系,简例:姓名函数依赖于学号。通过依赖关系,可以确定关系模式的码以及关系模式是否合理。 主要包括函数依赖、多值依赖、连接依赖将在规范化理论章节做详细的介绍,这里暂且不讨论 * * * 关系的查询表达能力很强,是关系操作中最主要的部分 * 1、关系数据语言确切的说应该是理论上的关系查询语言。查询语言的表达能力决定着关系操作能力。 2、这些查询语言与实际使用的查询语言是有区别的,称之为抽象的查询语言。 3、关系演算据谓词变元的不同分为元组关系演算和域关系演算 * 1、特点 非过程化:只需要描述查询,不需要指定查询的具体过程(DBMS) 表达能力:关系代数、关系演算具有等价的表达能力,因此这些语言可表达所有查询 嵌入:方便应用程序对数据的访问 * 完整性规则的集合,值随实践不断变化,保证数据的正确、有效和相容 * 0、实体完整性是保证实体的完整性。并且在存放到数据库中时其所对应的元组也是可区分的,即有唯一标识。 1、实体完整性规则和课本上不一致,以课件为准 2、满足实体完整性即要求关系S中所有的元组在Sno属性上的值不空。这是符合现实世界语义要求的。 3、若存在Sno

文档评论(0)

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

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

1亿VIP精品文档

相关文档