首先很抱歉我的英语不好呵呵我需要一些帮助,我想为一个网站设计一个数据库,比如一个迷你亚马逊。该数据库将管理各种产品(电视、汽车、电脑、书籍、电子游戏、铅笔、桌子、裤子......),而且,每个产品都必须有一些属性(将被索引),例如,如果产品是一本书,属性将类似于流派、年份、作者。如果产品是电视,属性将是尺寸、颜色和年份。如果产品是汽车,属性将是年份、颜色、型号等。所以,这是我的想法:
- 一张桌子来管理部门(如电子、书籍……)
- 一个表来管理部门的类别,这个表将是前一个表的子表。如果部门是电子,这里是音频、电视和视频、游戏……(每个类别属于一个部门,关系是一个部门对多个类别)
- 一表管理产品(每个产品属于一个类别,关系是一个类别对多个产品)
- 一张表来管理属性(如年份、颜色、流派、型号......)
- 一张表,用于与属性关联的产品,此表将称为 ProductProperties
我不确定这是否是最好的方法,数据库会很大,我将在 MySQL 上开发数据库。但是,我认为这不是最好的方法,这篇文章讲的是“数据库抽象:聚合和泛化” http://cs-exhibitions.uni-klu.ac.at/index.php?id=433,换句话说通用对象(我认为),但这种方式很旧(70 年代)。在这篇文章http://www.simple-talk.com/sql/database-administration/ten-common-database-design-mistakes/在“一个表保存所有域值”部分中说这是一种错误的方式...我说这一切都是因为表格 ProductProperties,我不知道我是否制作了这张表格,或者我是否为每种产品制作了特定的表格。
你有什么建议吗?还是你有更好的主意?
先谢谢了,保重!!!