我正在尝试添加一个名为user_classes
的新表,它将关联我的用户类。我正在建立一个允许他们生成课程表的网站。在我的数据库中,我有两个现有表 - users
表,其中包含id
,name
和email
:
=users table=
id name email
1 John john@example.com
我还有一个classes
表,其中包含我的所有类。 crn
只是课程编号,name是该课程的名称。
=classes table=
id crn name
1 4000 CS 101
2 4001 CS 102
3 4003 CS 103
这张新表正是我的想法。我有id
这是PK,有一个user_id
列,表示John Doe
包含以下所有crn
。
=user_classes table=
id user_id crn
1 1 4000
2 1 4001
3 1 4003
我的问题是,user_classes
是一个好的设计吗?我应该使用类中的crn
而不是id
而不是CREATE EVENT IF NOT EXISTS `money`
ON SCHEDULE
EVERY 1 HOUR
DO
DELETE FROM `money` WHERE `payed` = 'processing' AND `payed2` = 'processing';
吗?
在此架构中,用户有许多类。但是,一个类也有很多用户。
答案 0 :(得分:0)
您只需要为您的班级和用户提供2列
create table user_classes
(
user_id int, class_id int,
foreign key (user_id) references users(id),
foreign key (class_id) references classes(id),
unique (user_id, class_id)
);
例如,如果您需要选择名为“math”的类的所有用户,则可以执行
select u.*
from users u
join user_classes uc on uc.user_id = u.id
join classes c on uc.class_id = c.id
where c.name = 'math'