Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 如何处理一个表中的未知数据类型_Database - Fatal编程技术网

Database 如何处理一个表中的未知数据类型

Database 如何处理一个表中的未知数据类型,database,Database,我有一种情况,我需要在数据库中存储一段通用数据(可以是int、float或string),但我不知道会提前存储哪些数据。我需要一个表(最好是表)来存储这些未知类型的数据 我想我要做的是为每种数据类型都有一个列,每个记录只使用一个列,其余的NULL。这需要一些数据库之上的逻辑,但这不是一个太大的问题,因为我将在模型中表示这些记录 基本上,有没有一种最佳实践方法可以做到这一点?我还没有想出比这更糟糕的方法,但这似乎是一个比较常见的问题。提前谢谢 编辑:还有,这算是3NF吗?如果我这样做,我会选择您的

我有一种情况,我需要在数据库中存储一段通用数据(可以是int、float或string),但我不知道会提前存储哪些数据。我需要一个表(最好是表)来存储这些未知类型的数据

我想我要做的是为每种数据类型都有一个列,每个记录只使用一个列,其余的
NULL
。这需要一些数据库之上的逻辑,但这不是一个太大的问题,因为我将在模型中表示这些记录

基本上,有没有一种最佳实践方法可以做到这一点?我还没有想出比这更糟糕的方法,但这似乎是一个比较常见的问题。提前谢谢


编辑:还有,这算是3NF吗?

如果我这样做,我会选择您的方法,或者我会将所有内容转换为字符串,只使用一列。当然,会有另一个类型为的列(这可能对第一个方法也很有用)


<> >对于更快的代码,我可能会使用您的方法。

如果您的应用程序可以可靠地转换数据类型,则可以考虑基于可变长度二进制列的单列解决方案,第二列可以跟踪原始数据类型。(我曾经在此基础上做过一个非常小的例程,它工作得很好。)测试将显示转换是否在应用程序或数据库端得到更有效的处理。

如果您作为数据库后端:

版本3数据库中的任何列(整型主键列除外)都可用于存储任何类型的值

对于其他RDBMS系统,我将使用的解决方案


请注意,在我的软件产品线(业务应用程序)中,我想不出需要这种需求的任何情况(数据类型未知的值)。当然,除非域模型有缺陷。。。我可以想象其他的软件行可能会产生不同的实践,但是我建议你考虑重新思考你的总体设计。

是的,我忘了提到,我最初使用了所有的字符串和<代码>整型。PARSETIN()/Cux>,但是这被证明是太慢了(并且资源密集型的——一个相当简单的应用程序不应该占用CPU)。