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