我有一个包含许多代表不同的产品类型不同的表的一个相当大的数据库(例如汽车,婴儿车)。存储定制MySQL的元数据 - 最佳实践
我使用的是用PHP来访问数据并显示它建立了一个网站,我允许用户过滤数据(典型的在线产品数据库之类的东西)。
我不知道如果我去了解我的存储元数据的正确方法。我使用XML来做很多事情,这需要先在MySQL中创建一个产品类型表,然后在我的大型XML“列属性”文件中添加关于该表中每个列的信息。因此,我将列出XML表中列出的每个列的名称以及有关该列的信息。我在XML文件中存储了列的本地化名称,并指出了该列中存储了什么类型的产品信息(例如,列是显示维度(将在产品维度区域中列出)还是特性(用于特征区域))。
首先,我是大错特错存储在XML这一切自定义元数据?
其次,我是否应该在MySQL被存储它的一些(我想我应该把一些它的存在),什么是做到这一点的最好方法是什么?我看到我可以在MySQL中创建列“注释”....是数据库的标准票价吗?如果我有一天搬到甲骨文,我会失去我所有的评论信息吗?我并没有想过将很多信息移动到数据库中,有些可以通过在我的列名称中添加一些标识符来实现(例如number_of_wheels变为number_of_wheels_quantity,length变为length_dimension)
来自数据库设计的任何建议那里的大师将会受到广泛的赞赏。谢谢:)
这是有益的...谢谢你。所以我假设“ColumnName”列中使用的名称将是感兴趣的表中的实际列名称?并且为了允许在不同表中使用相似的列名,我应该为表名指定另一列。你能否提出存储列名本地化的最佳方法?例如我有一列“颜色”,我使用XML来存储所有“颜色”以不同语言拼写的方式。 – neomech
是的,columnName将是实际的名称,我也会为表名称添加一个列,如同您对类似/匹配名称的情况所述。对于像这样的本地化,我会将元数据中的各种拼写作为不同的行。所以每行可能看起来像'行1:table1 |颜色|颜色|| row2:table1 |颜色|颜色||第3行:table1 |颜色| couleur ||'等然后,当你运行一个查询颜色从PHP,你会得到一个所有不同的本地化数组。 – invertedSpear
另外我想说的是,本地化并不像数据一样是真正的元数据。本地化应该可能存储在本地化表格中,以便您可以更轻松地访问它。可能有3列,“wordInEnglish | otherLanguageName | wordInOtherLanguage” – invertedSpear