新手问题 一个数据结构如何设计,有可能一对一,有可能一对多

QueXuQ · 2013年11月30日 · 最后由 ShiningRay 回复于 2013年12月02日 · 2106 次阅读

这样的情况怎么样设计结构好呢?

例如下面:

电脑model
    CPU model
    内存 model

一个电脑,有一个 CPU,但是可能有多个内存。 而 CPU 一个型号,可能组多种电脑。

也就是,CPU 和电脑一对多,内存和电脑多对多。

这样的设计是不是最好?

Computer
  cpu_id
  name
Cpu
  name
Memory
  name
Computer_memoryship 
  memory_id
  computer_id

不知道还有没有更好的方案呢?

名字可以改一改,computer 可以叫 model 之类的

CPU 和电脑怎么是 1 对多?

#2 楼 @Yujing_Z 他说的 CPU 是型号……比如很多电脑都可以用 i7-XXXX 这种

4 楼 已删除

如果是 mongodb,你在 computer 里面放个 memory_id 的 list 就行了

#5 楼 @ShiningRay 我觉得有这样的功能就好,找了一下,貌似 SQL 就没有这样的功能了。

postgresql 也有数组类型。

没有特殊要求的话,中间表是不需要单独建模的 在 Ruby 这层,中间表是隐藏看不到的

需要 登录 后方可回复, 如果你还没有账号请 注册新账号