数据库原理--关系数据模型

关系数据模型

关系模型是目前最常用的一种数据模型。关系数据库系统采用关系模型作为数据的组织方式。1970年美国IBM公司San Jose研究室的研究员E.F.Codd首次提出了数据库系统的关系模型,开创了数据库关系方法和关系数据理论的研究,为关系数据库技术奠定了理论基础。20世纪80年代以来,计算机厂商推出的数据库管理系统几乎都支持关系模型,非关系模型系统的产品也大都加上了接口。数据库领域当前的研究工作也都是以关系方法为基础。本书的重点也将放在关系数据模型上,以后各章节的讨论都是基于关系模型的。

1. 关系数据模型的数据结构

在现实世界中,人们经常用表格形式表示数据信息。在关系模型中,数据的逻辑结构是一张二维表格,它由行和列组成。如图1.13所示的学生基本信息表就是一个关系模型。

1.13 学生学籍表关系模型的结构

1.13所示的学生学籍表的左侧是日常生活的一般术语,而右侧所列的是关系模型的一些主要概念术语,

l     关系(relation):一个关系对应一张二维表,如学生学籍表对应一个关系。

l     元组(tuple):表格中的一行即为一个元组,如学生学籍表中的一个学生记录即为一个元组。

l     属性(attribute):表格中的一列即为一个属性,相当于记录中的一个字段。

l     主码(key):可唯一标识元组的属性或属性集,也称为关系键或关键字,如学生学籍表中的学号可以唯一确定一个学生,为学生关系的主码。

l     域(domain):属性的取值范围,如性别的域是(男,女),出生年月的域可以是(1900.01.01~2050.12.31)。

l     分量(element):每一行对应的列的属性值,即元组中的一个属性值,如学号、姓名、年龄等均是一个分量。

l     关系模式(relational schema):对关系的描述,表现为关系名和属性的集合,一般表示为:关系名(属性1,属性2……属性n)。例如学生学籍表关系可以描述为:

学籍表(学号,姓名,性别,出生日期,籍贯,所属专业)。

在关系模型中,实体集以及实体间的联系都是用关系来表示的。

实例1.5  描述教务系统中学生选课数据库TC的关系模型。

在这个数据库中包含五个关系:教师关系T、学生关系S、课程关系C、选课关系SC和授课关系TC。在关系模型中,实体是用关系来表示的,如本例中的教师、学生和课程等实体都是关系。不仅如此,实体间的关系也是用关系来表示的,如本例中的学生与课程之间的多对多联系、教师与课程之间的多对多联系也可以用关系加以描述。

教师关系T(教师号,姓名,性别,出生日期,职称,岗位工资,所在系)

学生关系S(学号,姓名,性别,出生日期,籍贯,所属系)

课程关系C(课程号,课程名,类别,课时)

课程关系SC(学号,课程号,成绩)

开课关系TC(教师号,课程号)

关系模型要求关系必须是规范的,即要求关系模式必须满足一定的规范要求。这些规范条件很多,但最基本的一条就是关系的每一个分量必须是不可分的数据项,也就是说不允许表中还有表。在表1.1中,成绩被分为英语、数学、数据库等多项,这相当于在大表中还有一张小表(成绩表),因此表1.1不符合规范要求。

1.1  学生学籍与成绩表

2. 关系模型的数据操纵与完整性约束

关系数据模型的操纵主要不可查询、插入、删除和更新数据。这些操作必须满足关系的完整性约束条件。关系的完整新约束条件不可三大类:实体完整性、参照完整性和用户定义的完整性,具体含义及其定义方式将在后面章节中介绍。

关系模型中的数据操作是集合操作,操作对象和操作结果都是关系,即若干元组的集合,而不像非关系模型中那样是单记录的操作。用户只要指出干什么,而不必详细说明怎么干,从而大大地提高了数据的独立性,提高了用户的生产率。

3. 关系模型的优缺点

关系模型的主要优点:

l     与非关系模型不同,它是建立在严格的数学概念基础上。关系及其系统的设计和优化有较强的数学理论根据。

l     数据结构简单、清晰,用户易懂易用,不仅用关系描述实体,而且用关系描述实体间的联系。

l     关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库建立和开发的工作。

关系模型的主要缺点:

由于存取路径对用户透明,查询效率往往不如非关系模型,因此,为了提高性能,必须对用户的查询表示进行优化,增加了开发数据库管理系统的负担。

转载于:https://www.cnblogs.com/JimmyShen/archive/2011/10/09/2204904.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值