关系系统的定义

关系系统的定义,第1张

能够在一定程度上支持关系模型的数据库管理系统是关系系统。

由于关系模型中并非每一部分都是同等重要的

并不苛求一个实际的关系系统必须完全支持关系模型。

一个数据库管理系统可定义为关系系统,当且仅

当它至少支持:

1. 关系数据库(即关系数据结构)

系统中只有表这种结构

2. 支持选择、投影和(自然)连接运算

对这些运算不要求用户定义任何物理存取路径

对关系系统的最低要求不支持关系数据结构的系统显然不能称为关系系统

仅支持关系数据结构,但没有选择、投影和连接运算功能的系统仍不能算作关系系统。

原因:不能提高用户的生产率

支持选择、投影和连接运算,但要求定义物理存取路径,这种系统也不能算作真正的关系系统

原因:就降低或丧失了数据的物理独立性

选择、投影、连接运算是最有用的运算

分类依据:支持关系模型的程度

在关系数据库中有型和值两种类型结构。关系模式是型,关系是值,关系模式是对关系的描述。

描述一个关系需要从以下两个方面来定义:第一方面,关系实质上是一个二维表,表的每一行为一个元组,每一列为一个属性。一个元组就是该关系所涉及的属性集的笛卡儿积的一个元素。关系是元组的集合,因此关系模式必须指出这个元组集合的结构,即它由哪些属性构成,这些属性来自哪些域,以及属性与域之间的映象关系。

第二方面,一个关系通常是由赋予它的元组语义来确定的。元组语义实质上是一个n目谓词(n是属性集中属性的个数)。凡使该n目谓词为真的笛卡儿积中的元素(或者说凡符合元组语义的那部分元素)的全体就构成了该关系模式的关系。

1.3.1关系数据库基本概念关系数据中,关系模式涉及众多概念、术语,初学者对这方面不容易把握与理解,以下用通俗易懂的语言来对这些概念及术语作简单的介绍。

1.关系关系(Relation)是指数据库中实体的信息,也就是数据库中二维表的数据。一个关系就是一个数据库表的值,表中的内容是对应关系模式在某个时刻的值,称为一个关系。例如,关系A表示数据库有一张名字为A的数据表所记录的所有数据。关系数据库中每一个关系都具有以下六方面的性质:((1)列是同质的。即每一列中的分量为同一类型的数据,来自同一个域。

(2)不同的列可出自同一个域,称其中的每列为一个属性,不同的属性要给予不同的属性名。

(3)列的顺序无所谓。即列的次序可以任意交换。

(4)任意两个元组不能完全相同。

(5)行的顺序无所谓。即行的次序可以任意交换。

(6)分量必须取原子值。即每一个分量都必须是不可分的数据库属性。

2.模式模式(Schema)是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图,也称逻辑模式。有以下几方面性质:((1)一个数据库只有一个模式。

(2)模式是数据在逻辑级上的视图。

(3)以某一种数据模型为基础。

定义模式时不仅要定义数据的逻辑结构,包括数据项的构成、名字、类型、取值范围等,而且要定义与数据有关的安全性、完整性要求,定义这些数据之间的联系。

3.关系模式关系模式(RelationSchema)描述的是与关系相对应的二维表的表结构,即关系中包含哪些属性,属性来自哪些域,以及与域之间的映象关系。

关系模式与关系的区别:((1)关系模式描述了关系数据结构和语义,是关系的型。而关系是一个数据集合,是关系模式的值,是关系模式的一个实例。

(2)关系实际上就是关系模式在某一时刻的状态或内容。关系模式是静态的、稳定的,而关系是动态的、随时间不断变化的,因为数据库 *** 作会不断地更新数据库中的数据。

4.元组元组(Tuple)是关系数据库中的基本概念,一个关系表中的每行就是一个元组。也就是说数据库表中的每条记录都是一个元组,表结构的每列就是一个属性,在二维表里,元组也称为记录。元组可表示一个关系或关系之间的联系。

一般情况下,一个关系数据表中的每条记录均有一个唯一的编号(记录号),这个编号也叫元组号。

5.码码(Key)是关系数据库系统中的基本概念。所谓码,就是能唯一标识实体的属性集,是整个属性集,而不是单个属性。在关系数据库中,码包括多种类型,如超码、候选码和主码。

((1)超码(SuperKey)。超码是一个或多个属性的集合,这些属性可以在一个实体集中唯一地标识一个实体。如果K是一个超码,那么K的任意超集也是超码,也就是说如果K是超码,那么所有包含K的集合也是超码。例如,学生是一个实体,则学生的集合是一个实体集,而超码用来在学生的集合中区分不同的学生。假设学生(实体)具有多个属性:学号,身份z号,姓名,性别。因为通过学号可以找到唯一一个学生,所以{学号}是一个超码,同理{学号,身份z号}、{学号,身份z号,姓名}、{学号,身份z号,姓名,性别}、{身份z号}、{身份z号,姓名}、{身份z号,姓名,性别}也是超码。在这里,因为不同的学生可能拥有相同的姓名,所以姓名不可以区别一个学生,即{姓名}不是一个超码,{性别}、{姓名,性别}也不是。

(2)候选码(CandidateKey)。候选码是可以唯一标识一个元组的最少的属性集合。候选码是从超码中选出的,因此候选码也是一个或多个属性的集合。因为超码的范围太广,很多是无用的,所以候选码是最小超码,它们的任意真子集都不能成为超码。例如,如果K是超码,那么所有包含K的集合都不能是候选码;如果K,J都不是超码,那么K和J组成的集合{K,J}有可能是候选码。

虽然超码可以唯一标识一个实体,但是可能大多数超码中含有多余的属性,所以需要候选码。

例如学生表,学生(学号,姓名,年龄,性别,专业),其中的学号是可以唯一标识一个元组,所以学号可以作为候选码。既然学号都可以作候选码,那么学号和姓名这两个属性的组合就可以唯一区别一个元组。此时的学号可以成为码,学号和姓名的组合也可以成为码,但是学号和姓名的组合不能成为候选码,因为即使去掉姓名属性,剩下的学号属性也完全可以唯一地标识一个元组。也就是说,候选码中的所有属性都是必需的,缺少任何一个属性,都不能唯一标识一个元组。

(3)主码(PrimaryKey)。主码是从多个候选码中任意选出一个作为主键,这个被选中的候选码就称为主码。如果候选码只有一个,那么候选码就是主码。虽然说主码的选择是比较随意的,但在实际开发中还是需要一定的经验,不然开发出来的系统会出现问题。一般来说,主码都应该选择那些从不或者极少变化的属性。

例如,在一个职工实体中,职工(职工号,姓名,入职时间,部门,岗位,工资,职级,工龄,电话),职工号可以用来唯一确定实体中的一个元组,所以职工号是一个候选码。如果实体属性——姓名、入职时间、部门三者组合也能唯一地确定一个元组,则(姓名,入职时间,部门)也是一个候选码。在上述两个候选码中任选一个均可作为职工实体的主码,一般来说直接选择职工号作为实体的主码是最为简单方便的。

1.3.2关系模式的定义关系是数据库二维表中的数据记录,关系模式是数据库二维表的表结构,关系是动态的,关系模式是静态的。

关系模式可由六个元素来描述,分别是R、U、D、dom、I、F。其中,R为关系的名称;

U为组成该关系的属性名的集合;D为U集合中属性的域集合;dom为属性集U向域集D的映射;I为完整约束集合;F为属性间数据的依赖关系集合。

一个关系模式通常表示为R(U,D,dom,I,F),也可以忽略其他元素,直接简化为R(U)或R(A1,A2,A3,…,An),其中A1,A2,A3,…,An为属性名。

例如,在一个选课模块中,包含“学生”“课程”“选修”等关系实体。“学生”实体的属性有SNO(学号)、SNAME(姓名)、AGE(年龄)、SEX(性别)、SDEPT(系部),其中“学号”为主键;“课程”实体的属性有CNO(课程号)、CNAME(课程名称)、CDEPT(系部)、TNAME(教师),其中“课程号”为主键;“选修”实体的属性有GRADE(成绩)、SNO(学号)、CNO(课程号),其中“学号”和“课程号”为联合主键。学生和课程之间是多对多的关联关系,即一个学生可以同时选修多门课程,一门课程也可以同时被多个学生选修。这种多对多的关联关系可以通过“选修”关系实体作为中间桥接实体,变成两个一对多的实体关联关系,如图所示。

图学生选课实体

66037833981

从图的实体关系图中可以得到选课模块的实体关系模式集——学生关系、课程关系、选修关系,具体关系模式如下:学生关系模式Student(SNO,SNAME,AGE,SEX,SDEPT);

课程关系模式Course(CNO,CNAME,CDEPT,TNAME);

选修关系模式StudentCourse(SNO,CNO,GRADE)。

对以上定义的三个关系模式实例化,插入初始化数据后,可得到学生、课程、选修三个关系的实例,如图所示。图中矩形框圈住部分为选课模块中的关系模式(表结构);椭圆框圈住部分为选课模块中的关系(数据)。整个选课模块的表环境由关系模式与关系两部分共同组成,缺一不可。关系模式的分解标准关系模式的规范化过程实际上就是关系模式的“分解”过程,即把逻辑上独立的信息放在独立的关系模式中。分解是解决数据冗余的主要方法,也是规范化的一条原则——关系模式有冗余问题就要分解。

数据库设计者在进行关系数据库设计时,应参照模式规范化理论,尽可能使数据库模式保持高的标准。一般尽量把关系数据库设计成巴斯−科德范式(BCNF)的模式集,如果设计成巴斯−科德范式(BCNF)模式集时达不到保持函数依赖的标准,那么只能降低要求,设计成第三范式(3NF)的模式集,以达到保持函数依赖和无损分解的基本要求。

学生、课程、选修三个关系的实例

66037830023

1.分解的定义一个关系模式可以分解成众多子关系模式,分解方式不同,得到的子关系模式也不同。

关系模式的分解是指把某一个关系模式按照某一种方式进行分解得到的所有子关系模式。

如关系模式R按照某一种方式分解,可以得到一个关系集ρ={R1,R2,…,Rn}。其中属性集U=U1∪U2∪…∪Un,并且不能存在Ui⊆Uj,1≤i,j≤n。

函数依赖关系集F=F1∪F2∪…∪Fn,其中F1,F2,…,Fn是F在U1,U2,…,Un上的投影。

2.分解的标准把低级的关系模式分解成高级的关系模式的方法不是唯一的,只要能够保证分解后的关系模式与原关系模式等价,就是一个完整、标准的分解方法。关系模式的标准分解方法应同时达到以下两方面的要求:((1)分解具有无损连接性。

(2)分解要保持函数依赖性。

具有无损连接性的分解保证信息不会丢失,但无损连接不一定能解决插入异常、删除异常、修改复杂、数据冗余等问题,如要解决这些问题,则要考虑更高的关系数据范式理论原则。

1、数据库(database,DB)

作用是数据库中的数据按一定的数学模型组织、描述和存储,有组织,可共享的数据的集合。具有较小的冗余,较高的数据独立性和易扩展性,并可为各种用户共享。

2、硬件

构成计算机系统的各种物理设备,包括存储所需的外部设备。作用是硬件的配置应满足整个数据库系统的需要。

3、软件

包括 *** 作系统、数据库管理系统及应用程序。数据库管理系统是数据库系统的核心软件,作用是在 *** 作系统的支持下工作,科学地组织和存储数据,高效获取和维护数据的系统软件。其主要功能包括数据定义功能、数据 *** 纵功能、数据库的运行管理和数据库的建立与维护。

4、人员

主要分类及其作用是系统分析员和数据库设计人员,负责应用系统的需求分析和规范说明,确定系统的硬件配置,并参与数据库系统的概要设计;应用程序员,负责编写使用数据库的应用程序,利用系统的接口或查询语言访问数据库;数据库管理员负责数据库的总体信息控制。

扩展资料:

数据库系统的模型

1、层次模型:用一颗“有向树”的数据结构来表示各类实体以及实体间的联系,树中每一个节点代表一个记录类型,树状结构表示实体型之间的联系。层次数据模型的提出,首先是为了模拟这种按层次组织起来的事物。层次数据库也是按记录来存取数据的。

2、网状模型:取消了层次模型的不能表示非数状结构的限制,两个或两个以上的结点都可以有多个双亲结点,则此时有向树变成了有向图,该有向图描述了网状模型。网状模型中以记录为数据的存储单位。记录包含若干数据项。

3、关系模型:基本假定是所有数据都表示为数学上的关系。关系数据模型以集合论中的关系概念为基础发展起来的。关系模型中无论是实体还是实体间的联系均由单一的结构类型关系来表示。

参考资料来源:百度百科-数据库系统


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9654074.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存