mysql - 多个表中的列名相同

标签 mysql

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

最佳答案

如果您稍后想为您的用户类别添加更多特征,最好的办法是为此创建一个单独的表(例如: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?

关于mysql - 多个表中的列名相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34723338/

相关文章:

mysql - 上一小时的最后值

php - 防止访问者每天发布超过 2 个帖子的方法(PHP MySQL)

mysql - 在mysql查询的地方

php - 如果 MySQL 行包含数组中的变量,请更新它?

mysql - SQL 迭代循环查看员工是否参与所有项目

Rails 迁移中的 Mysql2 错误

PHP打印多行数据

mysql - 在 MySQL V8.0 上我应该在哪个文件中添加 `innodb_` 相关条目

MySQL 查询从 magento 数据库类别中检索新添加的产品

MySQL LIKE 和 MATCH 结果查询