SQL如何将一列拆分为多个变量列

SQL如何将一列拆分为多个变量列,第1张

SQL如何将一列拆分为多个变量列

将此数据拆分为单独的列是一个很好的开始(逗号分隔的值是一个异端)。但是,通常应将“可变数量的属性”建模为一对多关系。

CREATE TABLE main_entity (  id INT PRIMARY KEY,  other_fields INT);CREATE TABLE entity_properties (  main_entity_id INT PRIMARY KEY,  property_value INT,  FOREIGN KEY (main_entity_id) REFERENCES main_entity(id));

entity_properties.main_entity_id
是一个外键来
main_entity.id

恭喜,您处在正确的道路上,这称为规范化。您即将到达第一范式。

但是,请注意,这些属性应具有明显相似的性质(即所有电话号码或地址等)。不要陷入阴暗面(也称为Entity-Attribute-
Value反模式
),并极易将所有属性扔到同一张表中。如果可以识别几种类型的属性,请将每种类型存储在单独的表中。



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5675248.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存