多个表中的相同列名

时间:2016-01-11 14:00:11

标签: mysql

我正在建立一个电子学习网站。我有三种类型的用户:新手,中级和专家。我有3个表:讲座,章节和页面。对于每个表格,我必须通过添加该讲座,章节和页面的用户类型来区分它们。 这是一个很好的做法,在所有3个表中添加相同的列名category(可以是新手,中级或专家)

1 个答案:

答案 0 :(得分:1)

如果您希望稍后在用户类别中添加更多特征,最好为此创建一个单独的表(例如:user_categories),并在所有3个内容表中引用此表。它看起来像这样:

CREATE TABLE user_types (id int PRIMARY KEY, name VARCHAR(20));
CREATE TABLE lectures (id int PRIMARY KEY, user_type int REFERENCES user_types(id));

您还可以参考此信息来决定如何处理您的案例:How far to take normalization in database design?