【问题标题】:design database table structure设计数据库表结构
【发布时间】:2013-02-17 14:29:56
【问题描述】:
我正在使用关系数据库编写应用程序。我有一个必须保存在数据库中的 document 实体。该文档只是具有许多行和列的大表:
但问题是许多行和列可能会因情况而异。每个文档都可以有自己的一组行和列。偶数行和列可以改变。
因此,我不能只在数据库中创建单个表DOCUMENT。在这种情况下,我将不得不使用DDL 不断更改表的结构。
我需要想出灵活和适应性强的数据库结构。这样一个用户只有数据操作的权利(CRUD-operations)可以使用这个数据库方案。
【问题讨论】:
标签:
sql
database
database-design
data-structures
data-modeling
【解决方案1】:
我想到的一件事是:您为每个document 拥有的属性创建一个表。比如名字、创建日期等等。
对于所有可能变化的事物,您创建另一个表,在其中插入数据,该表确实存在。像这样:
document_id paramater_name string_value int_value date_value
----------- -------------- --------------- --------- -----------
1987 comment "cool doc."
1987 due_date 12/24/2014
20124 old_name abc.txt
20124 cost 1.99
但可以肯定的是,这是很多工作!
【解决方案2】:
什么是in文件?它们的本质是什么?
您是否需要对各个属性进行排序/过滤/计数/等?
您可以将文档存储在一个文本字段中,然后使用全文搜索来搜索它们。
或者您可以将它们存储在 Solr/Lucene 中。