相关疑难解决方法(0)

如何在MySQL中存储数组?

我在MySQL中有两个表.表人员具有以下列:

id | name | fruits
Run Code Online (Sandbox Code Playgroud)

fruits列可以保存null或字符串数​​组(如'apple','orange','banana')或('strawberry')等.第二个表是Table Fruit并具有以下三列:

____________________________
fruit_name | color  | price
____________________________
apple      | red    | 2
____________________________
orange     | orange | 3
____________________________
...,...
Run Code Online (Sandbox Code Playgroud)

那么我应该如何设计fruits第一个表中的列,以便它可以保存从fruit_name第二个表中的列中获取值的字符串数组?由于MySQL中没有数组数据类型,我应该怎么做?

mysql database-schema

95
推荐指数
5
解决办法
27万
查看次数

何时归一化数据库设计

我知道在Stack Overflow上已经广泛讨论了normalis(z)ation.我读过很多以前的讨论.我有一些额外的问题.

我正在研究一个至少有100个表的遗留系统.数据库具有一些非规范化结构,包含各种不同数据的表以及其他问题.我被赋予了改善它的任务.我不能再重新开始,但需要修改现有架构.

在过去,我一直试图设计规范化的数据库.现在的问题.一位高级开发人员建议在某些情况下我们无法规范化:

1)使用时态数据.例如,创建了一个链接到产品的发票.如果客户在一年后要求提供此发票的副本,我们必须能够生成原件的精确副本.如果产品价格,名称或描述已更新怎么办?资深人士建议将价格和其他产品信息复制到发票表中.我想也许我们应该有另一个表,例如productPrice,它有一个日期字段,所以我们可以跟踪价格随时间的变化.我想对产品描述和名称需要相同的东西吗?看似复杂.你怎么看?

2)数据库是一个会计系统.我对会计不是很熟悉.目前,一些摘要数据被导出并存储在数据库中.例如,当年的总销售额.我的高级助理表示,会计师喜欢通过将此值与实际根据发票等计算的数据进行比较来检查事情是否正确,以使他们相信应用程序正常工作.他说,目前我们可以判断是否有人错误地从去年删除了发票,因为总数不会相同.他还指出,在飞行中计算这些总数可能会非常缓慢.当然,我说数据不应该重复,应该在需要时进行计算.我建议我们可以使用SQL Reporting Services或其他一些解决方案来隔夜生成这些报告并缓存它们.无论如何,他不相信.对此有何评论?

非常感谢:)
干杯
马克

编辑

感谢您的出色回应.遗憾的是我只能将其中一个作为答案,因为这里有很多好的建议.

sql database-design normalization denormalization

48
推荐指数
6
解决办法
2万
查看次数

在数据库字段中存储数字数组

上下文:SQL Server 2008,C#

我有一个整数数组(0-10个元素).数据不会经常更改,但会经常检索.

我可以创建一个单独的表来存储数字,但由于某种原因,感觉这不是最佳的.

问题1:我应该将我的阵列存储在一个单独的表中吗?请说明这种或那种方式的原因.

问题2 :(无论Q#1的答案是什么),在数据库领域存储int []的"最佳"方法是什么?XML?JSON?CSV?

编辑: 一些背景:存储的数字只是一些不参与任何关系的系数,并且总是用作数组(即永远不会检索或隔离使用某个值).

database sql-server data-storage datastore

20
推荐指数
3
解决办法
4万
查看次数

使用 SQLalchemy 在数据库中存储数组

我目前正在构建一个项目,其中我需要为每个用户保存一个字符串列表(他阅读的文章的网址)。

我正在使用 python + Flask + SQLalchemy 和 sqlite。

我知道 sqlite 不支持数组,所以我正在考虑切换到不同的数据库而不是支持数组的 sqlite。

我想知道你会做什么?哪个数据库支持数组或者是否有更好的方法解决它。

python database sqlite sqlalchemy

2
推荐指数
2
解决办法
7852
查看次数