Database 哪种存储适合存储同一模式的多组表?
我使用一个表来存储字典中所有单词的各种分类 看起来是这样的:Database 哪种存储适合存储同一模式的多组表?,database,database-design,Database,Database Design,我使用一个表来存储字典中所有单词的各种分类 看起来是这样的: word category origin-language ------- --------- --------------- happy adjective English bonjour greeting French ... 从一组分类中,我可以得出一个数字。 我想找到一个产生最小值的集合,所以我想将许多这样的分类集合(每个集合都是一个表)连同它们各自的数字一起存储在一个存储器中 什么类型的存储适
word category origin-language
------- --------- ---------------
happy adjective English
bonjour greeting French
...
从一组分类中,我可以得出一个数字。
我想找到一个产生最小值的集合,所以我想将许多这样的分类集合(每个集合都是一个表)连同它们各自的数字一起存储在一个存储器中
什么类型的存储适合此任务?我认为关系数据库不合适,因为表格数据没有数据类型。我建议使用一个像您这样的表,再加上一个列来标识分类集: 分类(ClassificationSet,Word,Category,OIG语言)关键字
一些数据库管理系统确实有一个表类型,有些(例如Oracle)允许嵌套表。我认为这与你的问题无关。通常更容易找到没有嵌套表的等效模型。我目前的想法是,我将所有这些表存储在不同的数据库模式下,将它们命名为table_1、table_2。。。, 并创建一个新表:
database_obj outcome
---------------- ---------
table_1 12.3
table_2 -6.4
.....
恐怕这会使这张表变得很大,我的字典里有一百万个单词,大约有100套不同的分类。1亿行不是很大。任何流行的SQL DBMS都可以轻松处理这种大小的数据。按照您的建议将其拆分为不同的表不会使数据变得更小。在我看来,这是一个糟糕的想法:您要么必须重复查询、约束和其他逻辑,要么将其变得比需要的复杂得多(因为它必须访问多个表,而不是仅访问1个表)。查询将更加复杂,性能也会很差。管理和变革管理将更加困难。数据不一致的可能性更大。我想不出有什么好的理由来创建100个相同的表,而只有一个就可以了。