【发布时间】:2013-09-16 02:45:59
【问题描述】:
我有很多这种结构的对象:
~ PlaceID
= Upvotes
= Downvotes
= Names
- Title
+ Upvotes
+ Downvotes
- Other names[]
+ Upvotes
+ Downvotes
= Location
- Lat
- Long
- Address
= Images
- Top
+ id/url
+ Upvotes
+ Downvotes
- Others[]
+ Upvotes
+ Downvotes
= Comments[]
- id
- Text
- Upvotes
- Downvotes
- ReplyTo
为了保持井井有条,我制定了一个包含大量链接的架构。这是一个示例表:
7741(地点 ID)
______________________________________________________________________________
names | location | upvotes | downvotes | images | Comments
_______________________________________________________________________________
7741_names | 7741_location | 20 | 3 | 7741_images | 7741_comments
然后在 7741_images 中(按分数排序,因此“顶部”项目很容易检索):
imgID | score | upvotes | downvotes | url |
________________________________________________________
7741_21 | 98 | 44 | 1 | /img/7741_21.png |
7741_14 | 94 | 40 | 2 | /img/7741_14.png |
这种每个对象有很多表的向下钻取样式是否会使查询变得非常缓慢或非常具体的查询过于冗长? (对于 100k 地点?)
我从未负责架构设计,如果我遗漏了显而易见的内容,请原谅。
【问题讨论】:
-
我认为使用标准化设计会更好。如果你不知道这意味着什么,我听说过这本书的好东西,数据库设计为凡人。
-
我相信我对规范化很熟悉,但是我概述的架构不是很规范化吗?或者您是否建议将其更加规范化,例如,每个
imgID是它自己的表?
标签: mysql sql database-schema schema-design