关系数据模型

关系模型是由E.F.Codd在1970年引入到数据库领域中来的。在这之后,数据库的专家们又定义了关系数据库的基本概念,引进了规范化的理论,提出了关系代数和关系演算等数据操纵语言,为数据库的发展奠定了坚实的基础。由于关系数据库是建立在较为完善的关系数学理论基础上的,它很好地解决了在数据库逻辑设计中存在的如何构造一个好的数据库逻辑结构问题,并且关系数据库中的规范化理论是数据库设计中的一种理论指南,所以到目前为止,关系数据库系统已成为数据库领域最为活跃的一个分支。

关系数据模型是以集合论中的关系概念为基础而建立起来的数据模型,以下我们将介绍关系数据模型的基本知识。

1.关系的数学定义

在这里我们应该先给出笛卡尔乘积的定义。给定一组集合D1,D2,...,Dn,则这组集合的笛卡尔乘积是集合:

这其中:笛卡尔乘积集合D中的每一个元素称为元组,n表示参与笛卡尔乘积中的集合个数,又称为笛卡尔乘积的度。

关系数据库中关系的含义和我们平时所见到的关系的含义不尽相同。在数学上,关系的定义为:笛卡尔乘积D1×D2×...×Dn的一个子集R,被称为定义在集合D1,D2,...,Dn之上的一个关系。集合D1,D2,...,Dn称为关系R的域。例如,现有集合NUMBER={9511007,95110033,9511042},集合NAME={周,刘、张},集合AGE={21,23},集合SEX={M,F},其笛卡尔乘积的一个子集如下图所示:

2.关系数据模型

关系数据模型是定义在E-R模型和关系的数学定义基础上的一种数据模型,它将描述实体和联系的有关属性看成是集合,而将实体和联系认为是建立在这些集合之上的关系。一个关系实际上是由若干元组所构成的。这里的关系与数学上的关系在概念上有所不同,在数学上,关系中元组值是有序的,而在关系模型中,其元组值是无序的。为了形象地描述关系数据模型中各关系,通常是用一张简单的二维表格来描述一个关系的。该二维表分成两个不同部分,一个是表头部分,它描述关系的名称,又称为表名;另一个是表格内容,它描述关系中的具体元组值。即表格中的每一行对应一个元组值,表格中的每一列对应一个属性,如下图所示:

 返回“数据库基础知识ABC”目录

时间: 2024-11-03 10:51:25

关系数据模型的相关文章

《数据库原理与应用(第3版)》——3.1 关系数据模型的组成

3.1 关系数据模型的组成 关系数据库使用关系数据模型组织数据.这种思想源于数学,最早提出类似方法的是COD-ASYL(数据系统语言会议)于1962年发表的"信息代数"一文,之后,David Child于1968年在计算机上实现了集合论数据结构.而真正系统.严格地提出关系数据模型的是IBM的研究员E.F.Codd,他于1970年在美国计算机学会会刊(<Communication of the ACM>)上发表了题为"A Relational Model of Da

关系数据模型-这题可以用嵌套查询吗

问题描述 这题可以用嵌套查询吗 已知学生表S和学生选课表SC,其关系模式如下: S(SNO,SN,SD,SSEX,SAGE,PROV) SC(SNO,CN,GR) 其中,SNO为学号,SN为姓名,SD为系名,SSEX为性别,SAGE为年龄,PROV为省名,CN为课程名,GR为分数. 用SQL语句完成36-39题. 查询"中文系"学生选修了"计算机"课程的姓名和分数,查询结果按分数降序排序. 解决方案 SELECT S.* ,SC.GR,SC.CN FROM S,SC

关系数据库系统

关系数据库系统的应用开始于20世纪80年代,到目前为止它已成为最为流行的数据库系统.在关系数据库系统中,其数据库中的数据是基于关系进行逻辑组织的.一个关系数据库是由若干个关系(即二维表格)所组成的.通常在关系数据库系统中,这些关系又被称为关系表.在关系数据库系统中,可以通过数据描述语言对其数据库中的各关系表进行描述.这种描述通常包括两个部分,即对关系表本身以及关系表中所包含的各属性集合进行描述. 为了对数据库中的各关系表进行存取,就必须提供基于关系数据模型的操作语言.从关系的角度出发,对关系的操

浅析Hibernate继承关系树的三种映射方式

在向大家详细介绍Hibernate继承关系树的三种映射方式之前,首先让大家了解下Employee类为抽象类,然后全面介绍. 在域模型中,类与类之间除了关联关系和聚集关系,还可以存在继承关系,Company类和Employee类之间为一对多的双向关联关系(假定不允许雇员同时在多个公司兼职),Employee类为抽象类,因此它不能被实例化,它有两个具体的子类:HourlyEmployee类和 SalariedEmployee类.由于Java只允许一个类最多有一个直接的父类,因此Employee类.H

精通Hibernate之映射继承关系八

由于关系数据模型不允许一个表的外键同时参照两个表的主键,因此无法对TABLE_D表的A_ID字段定义外键参照约束,而应该通过其他方式,如触发器,来保证A_ID字段的参照完整性.由于TABLE_D表的A_ID字段既可能参照TABLE_B表的ID主键,也可能参照TABLE_C表的ID主键,要求TABLE_B表和TALBE_C表的ID主键具有相同的SQL类型. 在ClassD.hbm.xml文件中,用元素来映射ClassD的a属性: <any name="a" meta-type=&q

精通Hibernate之映射继承关系二

把每个具体类映射到一张表是最简单的映射方式.如图14-2所示,在关系数据模型中只需定义COMPANIES.HOURLY_EMPLOYEES和SALARIED_EMPLOYEES表.为了叙述的方便,下文把HOURLY_EMPLOYEES表简称为HE表,把SALARIED_EMPLOYEES表简称为SE表. HourlyEmployee类和HE表对应,HourlyEmployee类本身的rate属性,以及从Employee类中继承的id属性和name属性,在HE表中都有对应的字段.此外,Hourly

精通Hibernate之映射继承关系一

在域模型中,类与类之间除了关联关系和聚集关系,还可以存在继承关系,在图14-1所示的域模型中,Company类和Employee类之间为一对多的双向关联关系(假定不允许雇员同时在多个公司兼职),Employee类为抽象类,因此它不能被实例化,它有两个具体的子类:HourlyEmployee类和SalariedEmployee类.由于Java只允许一个类最多有一个直接的父类,因此Employee类.HourlyEmployee类和SalariedEmployee类构成了一棵继承关系树. }else

数据库精华知识点总结(1)—数据库的三层模式和二级映像,E-R(实体联系图)图,关系模型

Data base: 长期存储在计算机内,有组织的,可共享的大量数据集合.基本特征:永久存储,可共享,有一定的物理和逻辑结构. Data base manage system(DBMS):用户和os之间的一层数据管理软件. 1.提供数据操纵语言DML对数据库增删改查 2.数据库的建立和维护 3.提供数据控制功能:在数据库建立,运行和维护时,DBMS管理数据的安全性,完整性,并发控制和故障的系统恢复,(也就是数据库的事务管理和运行管理) 4.与其它软件系统通信 Data base system(D

《MySQL DBA修炼之道》——3.2 数据模型

3.2 数据模型 3.2.1 关系数据模型介绍     目前数据库领域使用最广泛的就是关系数据模型,业内主流的数据库产品都是建立在关系数据模型之上的,如Oracle.MS SQLServer.MySQL.PostgreSQL.DB2.关系型数据库系统的技术发展了几十年,已经相当成熟,在数据库中也得到了高效的实现.关系型数据库管理系统的标准语言--结构化查询语言(SQL),是一种高级的非过程化编程语言,它已经成为事实上的工业标准而被广泛使用,而且也变成了一项必须被程序员掌握的标准技能.     下