Database 使用关系数据库和关系数据库对象的区别

Database 使用关系数据库和关系数据库对象的区别,database,oracle,relational-database,object-oriented-database,Database,Oracle,Relational Database,Object Oriented Database,使用关系数据库和关系数据库对象(混合)之间的区别是什么 我正在申请广告。使用通用关系数据库,我想我可以为每种类型的广告制作表格:汽车、技术、房地产、就业、服务,这是我做广告的方式。但在阅读关系数据库对象时,我发现你可以在数据库(Oracle)中创建一个类型字段,允许你封装其他字段和方法,那么,如果我只制作一个广告表,知道所有广告都有共同的字段,如标题、描述、发布日期、图像,但我可以添加一个字段来封装另一个对象,这些对象将是汽车、技术、就业,并且在每个对象的内部封装它们的属性,如 汽车(型号、品牌

使用关系数据库和关系数据库对象(混合)之间的区别是什么

我正在申请广告。使用通用关系数据库,我想我可以为每种类型的广告制作表格:汽车、技术、房地产、就业、服务,这是我做广告的方式。但在阅读关系数据库对象时,我发现你可以在数据库(Oracle)中创建一个类型字段,允许你封装其他字段和方法,那么,如果我只制作一个广告表,知道所有广告都有共同的字段,如标题、描述、发布日期、图像,但我可以添加一个字段来封装另一个对象,这些对象将是汽车、技术、就业,并且在每个对象的内部封装它们的属性,如 汽车(型号、品牌、价格), 技术(状态、价格、附件、尺寸) 雇员(工作、报酬)

这就是我们的想法,实际上,对于每一个广告,你都可以扩大其功能,为每一个广告建立一个数据库。 我的问题是:使用关系数据库对象的潜在问题是什么?
最好的选择是什么?

最显著的区别是很少使用Oracle的对象关系技术

很少有程序员或DBA有对象关系技术方面的丰富经验。数据库工具不能很好地支持对象,或者根本不支持对象。甲骨文不支持这项技术,因为它有缺陷,不经常更新


当然,仅仅因为一个特性很少见并不意味着你就应该忽略它。在某些情况下,Oracle的对象关系特性工作得很好。但是,如果你计划使用对象来构建数据库中的一个重要部分,你需要考虑技能、技术和支持的损失。

最显著的区别是Oracle的对象关系技术很少使用。 很少有程序员或DBA有对象关系技术方面的丰富经验。数据库工具不能很好地支持对象,或者根本不支持对象。甲骨文不支持这项技术,因为它有缺陷,不经常更新


当然,仅仅因为一个特性很少见并不意味着你就应该忽略它。在某些情况下,Oracle的对象关系特性工作得很好。但是,如果你计划使用对象构建数据库中的一个重要部分,则需要考虑技能、技术和支持的损失。

大多数情况下,如果不是全部的话,在过去十年中最坏的数据库设计在它们的根表上构建到对象模型而不是拟合到关系模型。

OOP是一种编程工具;它将行为和数据结合在一起的概念在构建API等方面效果很好,但在持久性方面效果不佳,导致了非常大的表、大量重复数据和异常缓慢的查询。我不是说这是不可避免的,但这是打赌的方式

那么为什么Oracle支持数据库中的类型呢?因为用行为定义复杂的数据类型有很多优点:XMLType就是其中之一,而oraclespatial广泛使用对象。但这些用法仅限于常规关系表的各个列。我们的目的不是,也从来不是,使用对象表来存储数据库中的所有数据


务必在Pl/SQL编程中使用类型。我已经广泛地这样做了,对于正确的用例,它们可以非常有效。不要将数据存储在它们中。

过去十年中最糟糕的数据库设计中,大多数(如果不是全部的话)的根表都是根据对象模型而不是关系模型构建的

OOP是一种编程工具;它将行为和数据结合在一起的概念在构建API等方面效果很好,但在持久性方面效果不佳,导致了非常大的表、大量重复数据和异常缓慢的查询。我不是说这是不可避免的,但这是打赌的方式

那么为什么Oracle支持数据库中的类型呢?因为用行为定义复杂的数据类型有很多优点:XMLType就是其中之一,而oraclespatial广泛使用对象。但这些用法仅限于常规关系表的各个列。我们的目的不是,也从来不是,使用对象表来存储数据库中的所有数据

务必在Pl/SQL编程中使用类型。我已经广泛地这样做了,对于正确的用例,它们可以非常有效。只是不要把你的数据存储在它们里面