我有一些项目,每个项目都有一个类别和一个子类别。在mysql中组织它的最佳方法是什么?
答案 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