适当的sql表结构,具有多个字段值

时间:2011-12-05 16:19:50

标签: mysql

我一直在使用一些基本的sql数据库,我正在设计一个应用程序,我想知道在1个字段中有多个值。我习惯了关系数据库模型,我想知道sql是否支持这个。这是一个示例分隔记录: PartID:part1 描述:第一部分 选项:opt1 | opt2 | opt3 子选项:SA1~SA2~SA3 | SA2 | SA3~SA4

在U2中,我会像这样写一个记录。在sql中,你有3个表,但是它的值是否正确?

部分表: PartID:part1 描述:第一部分

零件选项表: ID:1 PartID:part1 选项:opt1

ID:2 PartID:part1 选项:opt2

ID:3 PartID:part1 选项:opt3

部分选项子选项表: ID:1 PartID:part1 选项:opt1 SubOption:SA1

ID:2 PartID:part1 选项:opt1 SubOption:SA2

ID:1 PartID:part1 选项:opt1 SubOption:SA3

....等等。

我有2个问题。 sql可以处理记录中1个字段中的多个值吗?基本上将数组保存在记录中的记录或多维数组中。我知道你可以写和读,但是你可以选择数组中的元素吗?

我在这里描述的是处理我所描述的样本数据结构的正确方法吗?

提前感谢您的帮助。如果有关于此的良好文件,请提供链接。

2 个答案:

答案 0 :(得分:0)

我担心MySQL不支持单列中的多个属性。我建议你用N:N关系做那些事。在某些情况下,如果您不需要使用这些值来进行连接,那么使用字符串分隔的多个项目的VARCHAR / TEXT字段也可以("one|two|three")。

答案 1 :(得分:0)

是的,调用mysql中单个字段的多个值: - set
你可能会感到失望,
这个值不是数组格式的真实故事

如果您正在寻找多维数组,请 这是一个: - XML