如何在mysql表中组织这个?

时间:2010-12-17 16:26:39

标签: php mysql optimization

我有一些项目,每个项目都有一个类别和一个子类别。在mysql中组织它的最佳方法是什么?

3 个答案:

答案 0 :(得分:3)

创建表

catID 
CategoryName 
ParentCategory ....any other fields

父类别列将存储父类别的catID(如果有)。 或

CategoryTable
catID
CategoryName

CategoryRel Table
----------------------------------
ID
catID
SubcatID

其中catID和subCatID是类别表中的ID。

答案 1 :(得分:2)

首先,你做出了重大决定。您是否会设计数据库以便只有两个级别的类别?或者您将来允许超过两个级别?

如果您愿意接受类别和子类别的永久限制,则可以添加两个表。类别将列出允许的类别。子类别将列出允许的子类别及其所属的类别。您的数据表将仅包含子类别。 (如果没有关于其名称以外的类别的信息,则可以省略“类别”表,并在“子类别”表中包含类别名称。)

如果您想允许任意数量的级别,您将只有一个类别表。每行都有类别名称,另一列包含父类别。您的数据表仍将包含单个类别列。

答案 2 :(得分:0)

categories
-----------
id
title
description

subcategories
-------------
id
title
description
category_id

items
-----------
id (*i had misspelled id as 'if'. corrected it here)
title
description
subcategory_id
相关问题