在Oracle 11g中将规范化表(1NF)转换为嵌套表

在Oracle 11g中将规范化表(1NF)转换为嵌套表,oracle,oracle11g,nested,transformation,denormalization,Oracle,Oracle11g,Nested,Transformation,Denormalization,Oracle 11g中是否实现了将标准规范化表转换为嵌套表的函数/过程?还是有人对以下问题有想法 原因:我们所有的表都是以一种方式规范化的,即如果某个属性值为一条记录设置了两次或两次以上,则除此属性值之外的整个记录都必须冗余存储。也就是说,如果我的person表中有一个属性ID\u卡号,一个人有两个国籍和两个ID卡,那么第二个记录除了ID\u卡号之外还有多余的属性值。将这样一个属性外包到一个额外的表中不是一个选项,我也不想以一种方式去规范化,即一个属性值由先前分离的属性值串联而成。为什么创建嵌套

Oracle 11g中是否实现了将标准规范化表转换为嵌套表的函数/过程?还是有人对以下问题有想法


原因:我们所有的表都是以一种方式规范化的,即如果某个属性值为一条记录设置了两次或两次以上,则除此属性值之外的整个记录都必须冗余存储。也就是说,如果我的person表中有一个属性ID\u卡号,一个人有两个国籍和两个ID卡,那么第二个记录除了ID\u卡号之外还有多余的属性值。将这样一个属性外包到一个额外的表中不是一个选项,我也不想以一种方式去规范化,即一个属性值由先前分离的属性值串联而成。

为什么创建嵌套表是一个选项,而将ID\u卡号数据放在一个单独的表中,创建父子关系,不是吗?你的数据模型基本上是坏的。我强烈建议您查看第二和第三个正常表单。不,它不是,或者至少,我想它没有损坏。我们有很多真实世界的对象,每个对象都有几个一级特征470。此第一级要素是不相交的,并且根据第一级要素的不同,第二级要素也有10到100个。70%的查询只要求一个第一级功能。所以我一直有470个表,所有这些表都需要合并才能接收整个记录。请参阅下一篇文章…总结:我更喜欢嵌套表而不是规范化。更多的表会让我丧命,因为我们有一大堆稀疏的记录,几乎有2400个可能的属性。此外,60%到70%的二级特征属性被多次分配。。。看起来我需要使用NoSQL解决方案MongoDB,但在我尝试解决Oracle的问题之前,因为我们有一些许可证;嵌套表将在内部创建一个子表,但有很多回撤。子表上没有约束、触发器、索引,也没有对子数据的直接访问。使嵌套表成为物理数据设计的一个组成部分将给您带来各种各样的麻烦。此外,99%的开发人员从未以这种方式使用过嵌套表,100%的开发人员知道如何使用父子关系。我希望有大量的表,而不是像嵌套表这样的模糊特性。