在数据库中添加类别和子类别

时间:2016-04-08 09:53:17

标签: php mysql database database-design relational-database

我正在用PHP,MySQL做一个项目。我需要创建一个数据库,其中有一个类别,可以有许多子类别(比如我可以拥有物理,计算机科学,数学等课程书。)

也可能有一些类别没有子类别(比如神话书籍)。

管理员必须通过PHP页面中的表单添加新的类别或子类别,然后更新数据库。

我应该如何设计我的表格的结构,如果管理员要将以下两个案例纳入其中:

  1. 管理员只想要添加一个子类别,然后在选择其父类别时,应该完成。

  2. 管理员希望添加新的父类别,并且不存在子类别。

  3. 请建议我应该如何创建我的表格。

2 个答案:

答案 0 :(得分:2)

我猜你应该用字段
来创建表category id
parent_id
name

如果是根级别类别,则为parent_id = 0
否则其parent_id等于父类别的id

答案 1 :(得分:1)

您正在谈论两个实体,类别和子类别。没有进一步的等级(这只会使问题复杂得多)。所以我看到两个表:

<强>分类

  • category_id =主键
  • name = not nullable

<强>子类别

  • subcategory_id =主键
  • name = not nullable
  • category_id =不可为空,类别表的外键