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个相同的表,而只有一个就可以了。