我想创建一个网页,用户可以组织他们收集的东西。随着每个人都收集其他东西,我希望用户创建自己的数据模型(具有严格的限制)。如果两个人收集相同的“事物”,他们可以共享一个数据结构。 我的想法是给每个集合一个ID,并且属于该集合的所有表都将ID作为前缀。MySQL:数百张桌子或一张大桌子?
Table: Collections
ID | Collection
1 | Poststamps
2 | Barbie Dolls
Table: 1_Base
ID | StampValue | StampPic
....
Table: 2_Base
ID | EAN | Pic
....
因此,我会创建很多表,因为每个用户在理论上可以创建自己的集合。我也可以只使用一个非常大的表和映射表。例如:
Table: Colleactions
ID | Collection
1 | Poststamps
2 | Barbie Dolls
Table: Mapping
fkCollection | FieldName | Mapping
1 | DoubleField1 | StampValue
1 | BlobField1 | StampPic
2 | StringField1 | EAN
2 | BlobField1 | StampPic
Table: CollectionData
fkCollection | DoubleField1 | ... | DoubleField10 | StringField1 | ... | Stringfield10 | BlobField1 | ...
1 | 30 | | | | | | ... |
2 | | | | 21312412414 | | | ... |
还有其他想法吗?
感谢您的帮助!
你有没有尝试创建'VIEW'?或者使用'UNION'? –
据我所知,工会不在MySQL的工作...纠正我,如果我错了请...不知道虽然 –
视图嗨!我还没有测试过任何东西。我正在计划这个项目。据我所知UNION不起作用。如果解决方案2是一张大桌子,VIEW将有所帮助。正确? – AlexWerz