如何在SQL上创建多值属性

时间:2016-06-11 15:15:19

标签: mysql sql mysql-workbench

有一种方法可以在SQL命令中创建多值属性吗?

enter image description here

有一个代码:

CREATE TABLE fornecedor (
    Id INTEGER,
    Nome VARCHAR(30),
    Morada   ????????????????
    Email VARCHAR(20)
)

3 个答案:

答案 0 :(得分:2)

有两种方法:

  1. 直接在表格中包含四个属性:

    • fornecedor:id,nome,rua,n_porta,cod_postal,localidade,email,telefone。
  2. 有一个地址表:

    • endereço:id,rua,n_porta,cod_postal,localidade。
    • fornecedor:id,nome,id_endereço,email,telefone。
  3. 如果您有多个使用相同地址的fornecedores,您将决定后者。否则,只需使用第一个解决方案,并在fornecedor表中包含地址字段。

答案 1 :(得分:1)

您应该有4个属性Morada_RuaMorada_NPorta,.... Sql没有与date数据类型相当的地址数据类型的标准,其中定义了许多功能以获得YearMonth和其他日期部分。

答案 2 :(得分:0)

另一种选择是使用属性(列)Morada的JSON数据类型,它允许以结构化方式存储任何类型的数据。 MySQL自5.7以来就支持这种类型。