【发布时间】:2011-03-24 23:28:03
【问题描述】:
假设您正在为一个具有许多属性 (2400+) 的实体建模,远大于给定数据库引擎的物理限制(例如 ~1000 SQL Server)。除了域/候选键之外,您对这些数据点的相对重要性(哪些是热门/最常使用的)一无所知,您将如何实现它?
A) EAV。 (嘘......原生关系工具被抛出窗外。)
B) 直接穿过。第一个表有一个主键和 1000 列,直到上限。下一个表是 1000,外键到第一个。最后一个表是剩下的 400 个,也是外键的。
C) 在ceil( n / limit ) 表中均匀分布。每个表都有偶数列,第一个表的外键。 800、800、800。
D) 别的……
为什么?
编辑:这更像是一个哲学/通用问题,与任何特定限制或引擎无关。
Edit^2:正如许多人指出的那样,数据可能没有标准化。按照惯例,当时的业务限制使深入研究成为不可能。
【问题讨论】:
-
它警告我这是一个见仁见智的问题。呃,我不知道。
-
是的,当我看到您的编辑时,我删除了“为什么 CW”查询!
标签: sql sql-server database