【发布时间】:2013-03-25 19:03:36
【问题描述】:
与同事讨论数据结构时,我被提醒我使用从“模式 A”转换为“模式 B”,这被认为是“规范化/反规范化”或模式转换还是什么?任何见解将不胜感激。
“架构 A”
表A ID 键值 ------------ 1 A 23 1 B 250 2 乙 100 表B 关键描述 --------------- 一个时代 B 重量“模式 B”
表C 身份证年龄体重 -------------- 1 23 250 2 无 100【问题讨论】:
-
我冒昧地编辑了标题。希望您同意修改。
-
模式 A 称为 EAV 模式 (EntityAttributeValue)。模式 B 是一个“正常”的 3 列表。该操作在 SQL 术语中称为 PIVOT(-ing),在数学(和 SAS)中称为 TRANSPOSE
-
正如@usr 刚刚提醒我的那样,它们都已标准化。如果您对最适合您的需求感兴趣,这可能会对您有所帮助。 stackoverflow.com/questions/870808/…
标签: database normalization denormalization