gpt4 book ai didi

database-design - 存储多类型字段的最佳方式

转载 作者:行者123 更新时间:2023-12-04 07:05:24 25 4
gpt4 key购买 nike

假设我们有一个可以是多种类型的字段,例如:字符串或日期或 XML 数据类型。

现在我们有两种方法可以将其存储在数据库中

1- 使用字符串类型字段 + 字段定义类型:失去“类型感知”排序功能,需要转换

2-单独的表(StringValues、DateValues、Decimal、XML ...等):指向值+字段定义类型的外键:有点复杂,性能

如果仅存储唯一值,则第二种方法可能具有额外的优势:它将用作索引。

你有什么想法吗?

Note1:最好考虑基于 MS SQL Server 2008 和 Linq2SQL 的项目

注2:也许我们会在另一个问题中讨论如何实现EAV,我问的是关系存储中的EAV。

注3:类型可以改变,但不频繁

最佳答案

听起来您正在设计 EAV解决方案,您的表存储多个属性的值,每行一个值。

EAV 是一种非关系设计。对于正确的 rules of relational database design,没有“正确”的方法可以做到这一点.

正确的设计是将每个属性存储在一个表的单独列中。为每一列指定正确的数据类型和描述性名称。仅在每列中存储相同逻辑类型的值。

如果您需要动态属性,请使用 non-relational data management solution .

关于database-design - 存储多类型字段的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1344157/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com