1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库系统概念 华东师范大学 计算机系 孙蕾 第3章 关系模型 在商用数据处理应用中,关系模型已经成为当今主要的数据模型 ,占居主要地位 。 本章我们先学习关系模型的基础,它提供了一个非常简单但是有效的表示数据的方法。 第3章 关系模型 随后我们讨论三个形式化查询语言: 第一种查询语言是关系代数。关系代数形成了应用广泛的SQL查询语言的基础。 另外两种形式语言是元组关系演算和域关系演算。它们是基于数学逻辑的陈述式查询语言。域关系演算是QBE查询语言的基础。 查询语言用来对信息指定需求。 3.1 关系数据库的结构 关系数据库是表(table)的集合,每个表有唯一的名字。 表这个概念和数学上的关系这个概念是密切相关的,这也正是关系数据库名称的由来。 3.1 关系数据库的结构 3.1.1 基本结构 参见图3-1中的account表。 该表有三个列首:account-number,branch-name和balance。 用关系模型的术语来说,我们称这些列首为属性(attribute)(正如第2章中我们对E-R模型所做的一样)。每个属性有一个允许的值的集合,称为该属性的域(domain)。 3.1 关系数据库的结构 3.1 关系数据库的结构 一般地说,有n个属性的表是 D1×D2×… × Dn-1×Dn 的一个子集。 数学家将关系(relation)定义为一系 列域上的笛卡儿积的子集。 3.1 关系数据库的结构 关系是一个元组集合,所以元组出现在关系中的顺序是不相关的。 如果域的元素被看成是不可再分的单元,则域是原子的。 有时几个属性会属于相同的域。 值null是所有可能的域的成员,表明值未知或不存在。 3.1 关系数据库的结构 3.1.2 数据库模式 首先比较数据库模式(database schema)和数据库实例(database instance)的不同,前者是数据库的逻辑设计,后者是给定时刻数据库中数据的一个快照。 关系的概念对应于程序设计语言中变量的概念,而关系模式(relation schema)的概念对应于程序设计语言中类型定义的概念。 3.1 关系数据库的结构 在我们采用的表示法中,关系的名字由小写字母组成,关系模式的名字以大写字母开头。 根据这样的表示法,我们用Account-schema 表示关系account 的关系模式。 Account-schema=(account-number,branch-name,balance) 3.1 关系数据库的结构 我们用account(Account-schema)表示account 是Account-schema 上的关系。 account(Account-schema) 一般地说,关系模式由属性序列及各属性对应域组成。关系实例(relation instance)的概念对应于程序设计语言中变量的值的概念。 3.1 关系数据库的结构 例如,一个描述客户信息的关系,该关系模式为 : customer-schema=(customer-name,customer-street,customer-city) 3.1 关系数据库的结构 3.1.3 码 超码、候选码和主码的概念同样适用于关系模型 。 设R是一个关系模式。如果我们说R的子集K是R的超码,则限制了关系r(R)中任意两个不同元组不会在K的所有属性上值完全相等。也就是说,如果t1和t2在r中且t1≠ t2,则t1[K]≠t2[K]。 3.1 关系数据库的结构 如果关系数据库模式基于由E - R模式导出的表,那么我们就可以由导出关系数据库模式的实体集和联系集的主码确定关系模式的主码。 3.1 关系数据库的结构 ? 强实体集。实体集的主码成为关系的主码。 ? 弱实体集。与弱实体集对应的表以及关系包括:

文档评论(0)

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

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

1亿VIP精品文档

相关文档