同一表中的主键和外键是否存在

时间:2013-01-23 08:03:35

标签: mysql foreign-keys foreign-key-relationship

我有一个类别字段。每个类别最多只有一个父母。 哪个更好的设计?

1)一个表:category_parent是外键(与category_id相关),category_id是主键

category_id | category_parent | category_name

2)两个表

表1

catgory_id | category_name

表2

id | category | category_parent

category,category_parent是外键(与category_id相关),category_id是主键

2 个答案:

答案 0 :(得分:1)

你说每个节点只有父节点。根据您的要求,第一个选择是更好的设计。

如果您需要一个节点拥有多个父节点,则第二个选项才真正强制执行。

答案 1 :(得分:1)

显然第一个节点每个节点只有一个父节点。因此,没有冗余,因为类别名称不能重复..

如果可以有多个父级,则表中将重复类别名称。在这种情况下,您将创建两个表。