翻译 大型共享数据库的数据关系模型(精选.)
- 格式:doc
- 大小:208.00 KB
- 文档页数:17
关系模型(计算机)-名词详解出自 MBA智库百科()(重定向自关系模型)关系模型(Relational Model)目录• 1 关系模型• 2 关系模型理论的起源与发展• 3 关系模型的原理与特点• 4 关系模型的组成• 5 关系模型的优点关系模型用于数据库管理的关系模型是基于谓词逻辑和集合论的一种数据模型,广泛被使用于数据库之中。
最早于1969年由埃德加•科德提出。
关系模型的基本假定是所有数据都表示为数学上的关系,就是说n个集合的笛卡儿积的一个子集,有关这种数据的推理通过二值(就是说没有NULL)的谓词逻辑来进行,这意味着对每个命题都没有两种可能的赋值:要么是真要么是假。
数据通过关系演算和关系代数的一种方式来操作。
关系模型是采用二维表格结构表达实体类型及实体间联系的数据模型.关系模型允许设计者通过数据库规范化的提炼,去建立一个信息的一致性的模型。
访问计划和其他实现与操作细节由DBMS引擎来处理,而不应该反映在逻辑模型中。
这与SQL DBMS普遍的实践是对立的,在它们那里性能调整经常需要改变逻辑模型。
基本的关系建造块是域或者叫数据类型。
元组是属性的有序多重集(multiset),属性是域和值的有序对。
关系变量(relvar)是域和名字的有序对(序偶)的集合,它充当关系的表头(header)。
关系是元组的集合。
尽管这些关系概念是数学上的定义的,它们可以宽松的映射到传统数据库概念上。
表是关系的公认的可视表示;元组类似于行的概念。
关系模型理论的起源与发展网状数据库和层次数据库已经很好地解决了数据的集中和共享问题,但是在数据独立性和抽象级别上仍有很大欠缺。
用户在对这两种数据库进行存取时,仍然需要明确数据的存储结构,指出存取路径。
而后来出现的关系数据库较好地解决了这些问题。
关系数据库理论出现于60年代末到70年代初。
1970年,IBM的研究员E.F.Codd博士发表《大型共享数据银行的关系模型》一文提出了关系模型的概念。
数据库关系模型数据库关系模型数据库关系模型是一种数据组织方式,它使用表格和键来描述数据之间的关系。
关系模型是现代数据库系统最常用的数据模型之一,它使用关系(表格)来表示实体和实体之间的联系。
表格中的每一行代表一个记录,每一列代表一个属性。
这些属性是具有相同数据类型的数据项集合。
关系模型中的键是一种特殊列,它用来唯一地标识表格中的每一行。
主键是一种特殊的键,它用来唯一地标识表格中的每一行,并且不能重复。
如果一个表格没有主键,则它不符合关系模型的要求。
在关系模型中,每个表格代表一个实体,每个实体都有一个或多个属性。
属性可以是数值、字符串、日期、时间或其他数据类型。
属性可以是必需的或可选的,也可以是单值的或多值的。
关系模型中有三种基本的关系:一对一关系、一对多关系和多对多关系。
一对一关系表示两个实体之间的唯一对应关系。
例如,一个人只能有一个身份证号码,一个身份证号码也只能对应一个人。
一对多关系表示一个实体可以对应多个实体,但是每个实体只能对应一个实体。
例如,一个订单可以对应多个订单项,但是每个订单项只能对应一个订单。
多对多关系表示两个实体之间的关系是多对多的。
例如,一个学生可以选修多个课程,一个课程也可以被多个学生选修。
在关系模型中,表格之间的关系可以通过外键来表示。
外键是一个表格中的列,它引用另一个表格中的主键。
外键用来确保表格之间的数据完整性和一致性。
关系模型的优点是数据结构清晰,易于理解和维护。
它还具有灵活性,可以方便地进行数据查询和分析。
缺点是不适合处理大规模数据和高并发访问。
此外,关系模型需要进行表格设计和规范化,这需要花费大量时间和精力。
数据库关系模型是一种常用的数据组织方式,它使用表格和键来描述数据之间的关系。
关系模型具有结构清晰、易于理解和维护的优点,但是不适合处理大规模数据和高并发访问。
在实际应用中,需要根据具体情况选择合适的数据模型。
书名:SID Model(共享信息数据模型)TMFC2148 GB922_Addendum_5PR_V3dot0_ME.pdf说明:******Device翻译成设备;Equipment翻译成器材******1.本书中说明的资源为“基础设施”。
2.本书中的资源等同eTom模型中的资源,也是业务实体定义的基础。
3.Holder:4.Container:物理容器是可控硬件定义的一个扩展。
物理容器主要是通过属性来定义可控硬件对象是否能够被删除或替换,同时确定这个动作是否需要电力的支持。
5.资源是SID的核心。
资源有两点需要关注的:1、资源是由谁拥有、由谁管理的2、客户应该能够清楚哪个资源能够满足他们的需求6.资源的分类:1、Device:(设备)例如路由器、交换机、防火墙等能够完成用户的功能的。
2、Device Component:(设备构件)组成设备的构件。
3、Auxiliary Component:(辅助构件)例如电力供应、风扇、电缆等。
设备构件和辅助构件并不能提供给客户完整的功能,而是通过嵌入到设备当中发挥作用。
举例:路由器(router)是由EquipmentHolder和Equipment组成的。
7.设备(Device)分类的说明描述:8.此处将资源分为物理资源和逻辑资源的概念。
9.在器材类(Equiment Class)和器材容器类(Equipment Holder Class)的定义方面,标准M.3100没有考虑器材类和器材容器类的物理特性的定义。
10.举例说明设备的组成:11.为了使EquipmentHolder(EquipmentHolders 有两种类型:Slots andChassis)能够持有任意类型的Hardeware。
建立如下关系:12.建立简单的路由器样例图:13.本书在page35/188处提出了Device Role(设备角色)这样的概念。
a。
概念的提出:定义了Router和Switch之后,当我们要增加三层Switch的时候,我们需要增加另外一个子类三层Switch和Router、Switch在同一个层次。
数据库教父E.F.CODD在数据库技术发展的历史上,1 9 7 0 年是发生伟大转折的一年。
这一年的6 月,I B M 圣约瑟研究实验室的高级研究员埃德加·考特 (Edgar Frank Codd) 在Communications of ACM 上发表了《大型共享数据库数据的关系模型》一文。
而用关系的概念来建立数据模型,用以描述、设计与操纵数据库,考特是第一人。
由于关系模型既简单、又有坚实的数学基础,所以一经提出,立即引起学术界和产业界的广泛重视,从理论与实践两方面对数据库技术产生了强烈的冲击。
在关系模型提出之后,以前的1968年基于层次模型和1969年网状模型的数据库产品很快走向衰败以至消亡,一大批商品化关系数据库系统很快被开发出来并迅速占领了市场。
1 9 8 1 年的图灵奖授予了这位“关系数据库之父”。
生平:考特原是英国人,1 9 2 3 年8 月1 9 日生于英格兰中部的港口城市波特兰。
第二次世界大战爆发以后,年轻的考特应征入伍在皇家空军服役,1 9 4 2 至1 9 4 5 年期间任战斗机机长,参与了许多重大空战,为反法西斯战争立下了汗马功劳。
二战结束以后,考特上牛津大学学习,于1 9 4 8 年取得学士学位以后到美国谋求发展。
他先后在美国和加拿大工作,参加了I B M 第一台科学计算机7 0 1 以及第一台大型晶体管计算机 S T R E T C H 的逻辑设计,主持了第一个有多道程序设计能力的操作系统的开发。
他自觉硬件知识缺乏,于是在6 0 年代初,到密歇根大学进修计算机与通信专业( 当时他已年近4 0 ) ,并于1 9 6 3 年获得硕士学位, 1 9 6 5 年取得博士学位。
这使他的理论基础更加扎实,专业知识更加丰富。
加上他在此之前十几年实践经验的积累,终于在1 9 7 0 年迸发出智慧的闪光,为数据库技术开辟了一个新时代。
1 9 7 0 年以后,考特继续致力于完善与发展关系理论。
大型共享数据银行的关系模型Title: Relationship Model of Large-scale Shared Data Bank大型共享数据银行是一种通过集成和共享数据资源,促进数据交流和开放式合作的平台。
在构建这样一个平台时,设计和建立适当的关系模型至关重要。
关系模型是描述数据之间关系的方式,它有助于数据的组织、管理和应用。
大型共享数据银行的关系模型包括以下几个方面的关系:1. 用户与数据:在大型共享数据银行中,用户与数据之间存在着多对多的关系。
一个用户可以访问多个数据资源,同时一个数据资源也可以被多个用户共享。
为了实现这种多对多的关系,可以建立一个用户表和一个数据资源表,并通过关系表来记录用户和数据之间的关联。
2. 数据与数据:数据之间可能存在多种关系,如父子关系、上下级关系、或者共享关系等。
在关系模型中,可以使用外键来表示数据之间的关联。
通过定义适当的外键约束,可以确保数据之间的关系的完整性和一致性。
3. 用户与用户:大型共享数据银行中的用户之间也可以存在关联。
用户之间可以通过共享数据资源进行交流和合作。
为了建立用户之间的关系,可以建立一个用户关系表,并在其中记录用户之间的关联关系。
4. 数据属性与数据:数据属性是描述数据特征的属性。
在关系模型中,可以为每个数据资源定义相应的属性。
属性与数据之间存在一对多的关系,一个数据资源可以有多个属性。
通过为数据资源和属性建立关系,可以更好地描述数据的结构和特征。
大型共享数据银行的关系模型是一个复杂的系统,需要充分考虑数据之间的关系以及相关的约束和规则。
通过合理地设计和建立关系模型,可以有效地管理和利用共享的数据资源,促进数据的价值实现和创新发展。
大型共享数据库的数据关系模型E.F.CoddIBMResearchLaboratory,SanJose,California未来的数据库使用者一定是和数据在机器中的存储(即数据库的内部模式)相隔离的。
而通过提示服务来提供信息是一个不太令人满意的解决方法。
当数据的内部模式表示发生改变,甚至数据内部表示的多个方面发生改变时,终端用户和大多数应用程序的活动都不会受到影响。
因此,查询、更新和报告存储信息类型的自然增长和变动都需要在数据表示中表现出来。
现存的不可推断的、格式化的数据系统给用户提供了树结构的文件或者更一般的网格模式的数据。
本文在第一部分讨论这些模式的不足之处。
并且会介绍一种基于n元组关系的模式,一种数据库关系的正式形式和通用数据子句的概念。
第二部分将讨论一些关系的操作(不是逻辑层面的),并且把这些操作应用于用户模式上解决冗余和一致性问题。
1关系模式和一般模式1.1简介这篇文章是关于系统的基本关系原理的应用,这个原理提供了共享大型格式化数据库的方法。
除了Childs[1]的文章有介绍外,用于数据库系统的关系的主要应用还表现在演绎推理型的问-答系统中。
Levein和Maron[2]提供了大量关于这个领域的参考资料。
相比之下,这里要解决的问题是一些数据独立性的问题一一应用程序和终端活动之于数据类型增长和数据表示变动的独立性,而数据一致性问题即使在非演绎推理型系统中也是很棘手的。
在目前流行的非推论性系统中,第一部分要介绍的数据的关系视图(或叫做模式)在一些方面似乎优于图模式和网格模式[3,4]。
这种模式提供了一种根据数据的自然结构来描述描述数据的方式一一也就是说,不用为了数据的机器表示而添加其他的将结构。
因此,这种模式为高水准的数据语言提供了基础,而这种数据语言机制一方面可以达到最大化程序之间的独立性,另一方面也可以最大化数据的机器表示和组织之间的独立性。
关系模式更高一级的优势在于它构成了关系处理可导性、冗余性和一致性的坚固基础一一这些将在第二部分讨论。
数据库的关系模型数据库是应用于计算机系统中的重要组成部分,广泛应用于企业信息化、电子商务、社交网络等各个领域。
而数据库的关系模型则是其中最为重要的一种模型,其性能、可扩展性、数据存储和查询都得到了广泛应用和推广。
数据库的关系模型主要分为以下几个方面:一、概述关系模型是由父亲Codd于1970年提出的,它是一种数据模型,主要用于描述数据之间的关系。
在关系模型中,数据被组织成一个或多个表格,每个表格由若干行和若干列组成。
每行表示一个数据实例,每列表示一个属性,属性的值唯一确定了每一行的数据实例。
二、关系模型的组成关系模型由以下三个基本要素组成:数据表、元组和属性。
1、数据表数据表是关系模型中的基本概念,也是最为常见的数据结构之一。
数据表由名字和若干个列组成,每个列都拥有自己的属性名和数据类型。
数据表一般具有以下几个特征:表格中的数据是按列组织的;表格中的每一列都具有唯一的列名;表格中的每一个实例对应于一行数据。
2、元组元组是表格中的一行数据,也称为“记录”或“行”。
元组是由一组属性值组成的,每一个属性值对应一个属性名。
元组是表格中最基本的数据单位,也是表格实例的单元。
3、属性属性是用来描述数据的一个特征,通常用来描述一个数据的特点。
属性由属性名、属性类型、限制条件等组成。
属性是表格中列的基本组成单位,也是表格中数据的基本描述单位。
三、数据库的关系模式关系模式是数据库中一个描述表格的元数据,由表格名称、属性、主键、外键、约束条件、索引等组成。
关系模式描述的是一个表格的具体结构信息,包括属性、数据类型、属性值的数据范围、主键、外键、参照完整性约束等。
四、数据库的关系操作关系操作是对关系模型进行操作的过程,主要包括:选择、投影、连接、差集、交集和并集等。
这些操作可以对表格中的数据进行特定的处理,筛选出符合特定要求的数据。
选择是从表格中选择出符合特定条件的元组;投影是从表格中选择出指定列的数据信息;连接是将两个表格之间的元组组合在一起,形成一个新的表格。
大型共享数据库的数据关系模型E.F.CoddIBM Research Laboratory,SanJose,California未来的数据库使用者一定是和数据在机器中的存储(即数据库的内部模式)相隔离的。
而通过提示服务来提供信息是一个不太令人满意的解决方法。
当数据的内部模式表示发生改变,甚至数据内部表示的多个方面发生改变时,终端用户和大多数应用程序的活动都不会受到影响。
因此,查询、更新和报告存储信息类型的自然增长和变动都需要在数据表示中表现出来。
现存的不可推断的、格式化的数据系统给用户提供了树结构的文件或者更一般的网格模式的数据。
本文在第一部分讨论这些模式的不足之处。
并且会介绍一种基于n元组关系的模式,一种数据库关系的正式形式和通用数据子句的概念。
第二部分将讨论一些关系的操作(不是逻辑层面的),并且把这些操作应用于用户模式上解决冗余和一致性问题。
1关系模式和一般模式1.1简介这篇文章是关于系统的基本关系原理的应用,这个原理提供了共享大型格式化数据库的方法。
除了Childs[1]的文章有介绍外,用于数据库系统的关系的主要应用还表现在演绎推理型的问-答系统中。
Levein和Maron[2]提供了大量关于这个领域的参考资料。
相比之下,这里要解决的问题是一些数据独立性的问题——应用程序和终端活动之于数据类型增长和数据表示变动的独立性,而数据一致性问题即使在非演绎推理型系统中也是很棘手的。
在目前流行的非推论性系统中,第一部分要介绍的数据的关系视图(或叫做模式)在一些方面似乎优于图模式和网格模式[3,4]。
这种模式提供了一种根据数据的自然结构来描述描述数据的方式——也就是说,不用为了数据的机器表示而添加其他的将结构。
因此,这种模式为高水准的数据语言提供了基础,而这种数据语言机制一方面可以达到最大化程序之间的独立性,另一方面也可以最大化数据的机器表示和组织之间的独立性。
关系模式更高一级的优势在于它构成了关系处理可导性、冗余性和一致性的坚固基础——这些将在第二部分讨论。
另一方面,网络模型产生了一些混淆,尤其是把连接的源误作为关系的源(见第二部分“连接陷阱”)最后,关系视图允许对目前格式化数据系统的范围和逻辑限制的更清晰的估算,并且有在单独的系统内竞争数据表示方式的优点(从逻辑的观点)。
更清楚的这个观点的示例会在本文中的不同部分中被阐释。
但是支持关系模式的系统实现不会讨论。
1.2目前系统的数据相关性最近发展的信息系统中数据描述表的提供是向数据独立性目标[5,6,7]靠近的重要提高。
这些表可以使改变数据库中数据表示的某些特征变得更容易些。
但是,许多数据表示特征可以在不逻辑地削弱一些应用程序的情况下被改变的功能仍受到相当的限制。
更进一步,与用户交互的数据模式仍然有一些散乱的代表性特征,特别是关于数据收集的描述(如个人名目)。
三个仍然需要提高的数据独立性的主要类型是:排序依赖,索引依赖和存取路径的依赖。
在一些系统中这些依赖之间并不是明确分隔的。
1.2.1顺序依赖。
数据库中的数据元素可以有很多种存储方式,一些是不考虑顺序的,一些是允许一个元素只参与一个排序,而另外一些允许每个元素参与多个排序。
现在让我们来看看要求或允许数据元素存储在至少一个总排序的现存系统,而这种总体排序是与硬件决定的排序地址密切相关的。
这种系统通常允许应用程序自己假定文件记录的表示顺序与其在磁盘上的存储顺序是相同的(或者说是存储排序的子目)。
这些运用文件存储顺序有利条件的应用程序,如果由于某些原因而变得需要用一个新排序替换这种顺序时,很可能不能正确运行。
以指针方式实现的存储排序也有相似的问题。
我们没有必要挑选出任何一个系统作为例子,因为现在上市的所有著名的信息系统在清楚区别表示顺序和存储顺序两方面都是失败的。
重要的实现问题必须得到解决来提供这种独立性。
1.2.2索引依赖。
格式化数据的上下文联系中,索引通常被看成数据表示的一个纯粹的效能导向组件。
它倾向于提高对查询和更新的响应,同时减慢了对插入和删除的响应。
从信息的观点来看,索引是数据表示的冗余构成成分。
如果一个系统王全用索引,并且如果它在变化活动形式的数据库环境中能够表现的很好,那么不时地产生和销毁索引的能力可能是必须的。
那么问题产生了:应用程序和终端活动在索引项来去的时候仍然能够不受影响吗?目前格式化数据系统采用很不相同的方法来进行索引。
TDMS[7]无条件地提供了所有属性上的索引。
IMS[5]目前发布的版本为用户提供了为每一文件选择的权利:是完全没有索引(层次序列的组织)和只有主键索引(层次化索引序列组织)之间的选择。
没有一种会使用户的应用逻辑依赖于无条件提供的索引的存在。
但是,IDS[8]允许文件设计者选择用于索引的属性和指定用于与索引通过外加链的方式组合成文件结构的属性。
运用索引链性能的优势的应用程序必须通过名字来引用这些链。
如果这些链后来被删除,那么这些程序就无法正确运行。
1.2.3存取路径依赖。
许多现存格式化数据系统为用户提供了树结构的文件或者更一般的数据网络模式。
为和这类系统共同工作而发展的应用程序,在树或网格的结构改变时,往往会在逻辑层受到削弱。
一个简单的例子如下。
设想数据库包含关于部件和工程的信息。
对于每一个部件,其部件号码、部件名字、部件描述、在手的数量和订单上的数量的信息都被记录。
对于每一个工程,其工程编号、工程名字和工程描述信息被记录。
无论什么时候,一个工程要用特定部件时,用于这个工程的那种部件的数量也会被记录。
假如系统要求用户或者文件创作者根据树结构声明或者定义数据。
那么,任一层次结构都可以用到如上提到的信息上(见结构1——5)。
现在考虑打印用于名为“alpha“的工程每个部件的编号、部件名和数目。
不考虑可用于面向树的信息系统可以用于解决这个问题,我们可以得到以下的发现。
如果程序P是开发用于解决这个问题(假设结构是上面五种结构中的一种),也就是说P不会检测哪一种结构对他来说有效,然而这样的结果是P至少在其中三个结构上是失败的。
更具体地,如果P对结构5行之有效,那么在其他结构上就会失败;如果P对结构3或4行之有效,那么它至少会在结构1,2,5上是失败的;如果P对结构1或2行之有效,那么它至少会在结构3,4,5上是是小的。
对于每一种情况的原因都很简单。
在没有经过检测来决定哪种结构是有效的情况下,P会失败是因为它试图引用一个不存在的文件(现可用的系统把这种情况视为error)或者是它没有引用包含它必需信息的文件。
有疑问的读者应该找一些样例程序来理解这个简单的问题。
由于在一般情况下,开发可以检测系统允许的所有树结构的应用程序是不实际的,而且这种程序在结构需要改变时也会失败。
为用户提供网格数据模式的系统也会遇到相似的问题。
在树和网格两种情形下,用户(或者是用户的程序)都被要求采用用户数据存取路径的集合。
这些路径是否与存储表示的指针定义的路径有较近通信是没有影响的,而在IDS中这种通信时极其简单的,但在TDMS中就正好相反了。
不考虑存储表示来看这种问题,结果就是,终端活动和程序变得依赖于用户存取路径的连续存在性。
对于这个问题的一个解决方案就是采用如下策略:一旦用户存取路径被定义了,那么除非所有应用这个路径的所有程序都废弃了(finish了),否则这个路径就不会过时。
由于在团体总体模式的数据库用户的存取路径的数量最终可能变得过大,因此这种策略是不实际的。
1.3数据的关系视图关系这个词在这里使用的是其被广泛认可的数学意义。
给定集合S1,S2,……,Sn(这些集合没有必要一定是不同的),如果R是一个满足如下条件的n元组集合:其每个元素的第一个元素来自S1,第二个元素来自集合S2,以此类推,那么R就是这n 个集合(S1,S2,……,Sn)上的一个关系。
我们用Sj来表示R的第j个域。
正如上面所定义,R被称作是n级的。
1级的关系通常叫做一元关系,2级的被叫做二元关系,3级的被叫做三元关系,而n级的叫n元关系。
(更简单地说,R是S1,S2,……,Sn这n个集合的笛卡尔乘积的一个子集)说明一下,我们将频繁地使用关系的数组表示,但是必须清楚的是这个特定表示并不是用于解释关系视图必须的部分。
用于表示n元关R的数组有如下特征:(1)每一行代表R的一个n元组(2)行的排列顺序是无关紧要的(3)所有行都是不相同的(4)列的顺序是有意义的——列应该符合R定义时的域的顺序S1,s2,……,Sn(但是注意,排序的域和无序的域下标之间的关系)(5)每个列的意义部分是由命名相应域来传达的图1中的例子展示了一个叫做supply 4级的关系,这个关系显示的是特定工程的特定供应者的特定数量的零件发货过程。
图1有人可能会问:如果列由相应域的名字来标识,那么为什么列的顺序会有影响呢?正如图2中例子显示的一样,两列可以有相同的头(表示同样的域),但是对于这个关系他们有不同的含义。
这里描述的关系叫做component。
它是一个三元关系,其中前两个域叫做part而第三个域叫做quantity。
Component(x,y,z)的意思就是部件x部件y的直接构成成分(或者子部件),而需要z个的x部件来组成一个的y部件。
这个关系在零件扩大问题中有重要作用。
图2一个引人注目事实是,一些现存的信息系统(主要是基于树结构文件组织)不能够为有两个或两个以上的相同域的关系提供有效地数据表示。
IMS/360[5]的目前版本就是这种系统的一个实例。
一个数据库中的总体数据可以看做一个随着时间变化的关系的集合。
这些种类的关系有各种各样的级(或度)。
随着时间的前进,每个n元关系都可能经历插入另外的n元组,删除现存的n元组和改变现存任意n元组的组成部分的操作。
但是,在很多商业、政府和科学数据库中,一些关系的度(或作级别)是相当高的(30级的关系也是很常见的)。
用户通常不能记住任何关系的所有域的顺序(例如,关系supply中定序的提供者、零件、工程和数量)。
因此,我们提出用户不必处理域排序的关系,而处理与其非排序域的有同样效果的关系的方法。
为了达到这个目的,关系中的域必须是在不采用位置时唯一可确认的,至少在某个给定的关系中是这样的。
因此,在有两个或更多相同域的地方,我们要求对每一种情况下域名都是合格的不同的角色名(rol e name),这些角色名用于识别给定的关系中的域所扮演的角色。
例如,在图2的component关系中,第一个域part可以用合格角色名sub指示,而第二个用super,以便用户能够处理component关系和它的域——sub.partsuper.part,quantity——而不用考虑这些域之间的任何排序。
总之,提出多数用户应该与由随时间变化的联系集合(而不是关系)组成的数据的关系模式交互。