gpt4 book ai didi

mysql - 存储自定义 MySQL 元数据 - 最佳实践

转载 作者:行者123 更新时间:2023-11-29 07:05:21 26 4
gpt4 key购买 nike

我有一个相当大的数据库,其中包含许多代表不同产品类型(例如汽车、婴儿车)的不同表格。

我正在使用一个用 PHP 构建的网站来访问数据并显示它,我允许用户过滤数据(典型的在线产品数据库之类的东西)。

我不确定我是否以正确的方式存储了我的元数据。我正在使用 XML 做很多事情,这需要首先在 MySQL 中创建一个产品类型表,然后在我的大 XML“列属性”文件中添加关于该表中每一列的信息。因此,我将在 XML 表中列出每一列的名称以及有关该列的信息。我将列的本地化名称存储在 XML 文件中,并指示有关产品的信息类型正在存储在列中(例如,列是否显示维度(将在产品维度区域中列出)或功能(对于功能区))。

首先,我是否偏离了以 XML 格式存储所有这些自定义元数据的基础?

其次,如果我应该将其中的一些存储在 MySQL 中(并且我认为我应该将其中的一些移动到那里),那么最好的方法是什么?我看到我可以在 MySQL 中创建列“注释”……这些是数据库的标准票价吗?如果有一天我转到 Oracle,我会丢失所有评论信息吗?我没有考虑将太多信息移动到数据库中,其中一些信息可以通过在我的列名中添加一个小标识符来完成(例如,number_of_wheels 变为 number_of_wheels_quantity,长度变为 length_dimension)

我们将不胜感激来自数据库设计专家的任何建议。谢谢:)

最佳答案

First off, am I way off base storing all this custom metadata in XML?

是的,XML 是一种很好的标记,用于以几乎人类可读的格式传输数据,但用于存储它却很糟糕。通过 XML 进行搜索的成本非常高,而且我不知道有一种(好的)方法可以通过存储在数据库字段中的 XML 进行查询搜索。你可能最好使用一个直接存储这些东西的表,如果需要,你可以在从数据库中查询它们之后轻松地将它们转换为 XML。我认为在您的情况下,包含以下列的表会很有用:"ColumnName","MetaData" 将是您所需要的,根据您的示例填充值:

__________________________________________________________________________________________________
|colDimension | Is a column showing a dimension (to be listed in the product dimensions area) |
|colFeature | a feature (for the features area) |
--------------------------------------------------------------------------------------------------

这个方案也将解决您的评论难题,因为您可以在上表中添加另一个字段来存储评论,如果您需要,这将使您的中间层(在您的情况下为 php)更容易访问它们显示这些评论。

我不得不对意图和现有数据等做出一些假设,所以如果我有任何错误,请告诉我为什么它对你不起作用,我会做出一些更正或其他指示.

关于mysql - 存储自定义 MySQL 元数据 - 最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7520500/

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