最近接触到IT类的网站的数据库设计,类似PCPOP.COM的。我对这个刚接触不久,对数据库的设计不是很懂。
IT的产品的库分很多产品,比如:笔记本电脑,数码相机,手机等等,
各个产品有不同的品牌,不同的类型,各种类型的产品又有很多不同的参数,比如: 笔记本电脑的参数:重量,尺寸,预装系统等等 数码相机的参数: 重量,像素,相机类型等等 手机的参数: 屏幕尺寸,通话时间等等
各类型的产品参数有相同的也有很多不同的。
产品分类就不谈了,主要先考虑产品本身。
目前我的数据模型是这样设计的:
product表(产品) ID CATEGORY_ID NAME 1 2 NIKON D60 2 3 APPLE IPHONE 3 1 IBM T41
class Product < ActiveRecord::Base
belongs_to :category(分类)
has_many :parameters
...
end
parameter表(参数) ID PRODUCT_ID NAME 1 2 手机制式 2 1 相机类型 3 3 预装系统 4 2 通话时间
class Parameter < ActiveRecord::Base
belongs_to :product
has_many :values
...
end
value表(值) ID PARAMETER_ID NAME 1 1 GSM 2 2 单反 3 3 windows XP 4 1 260分钟
class Value < ActiveRecord::Base
belongs_to :parameter
...
end
想听听大家的看法,数据库这样设计行吗?或者你有更好的方法?请大家指教,谢谢!
|