我正在建立一个网站,教师可以在该网站上载课程,然后发布。我正在计划数据库,我的脑海中有几个问题。请考虑以下表格:
instructors(id(PK), fullname, email, password, created, updated)
categories(id(PK), title, description, created, updated)
courses(id(PK), cat_id(FK), instructor_id(FK), title, description, created, updated)
lessons(id(PK), course_id(FK), title, description, duration, created, updated)
我已经在上述表之间建立了基本关系。现在的问题是:
我要检查特定
category
的lesson
。我想检查
lessons
是否属于特定的category
。如果将
category_id
作为外键放在lessons
表中可以吗?这样,我就能通过加入表来在类别中lessons
。对于反向关系,我也可以通过选择category
来选择course
。请帮帮我。提前致谢。
最佳答案
如果课程有0或1个“类别”,则可以将category_id
放在lessons
中。那是正确和正确的。
如果一堂课可能有多个类别,那么您需要一个联结表:
create table lesson_categories (
lesson_id . . .,
category_id . . .,
constraint fk_lesson_categories_lesson foreign key (lesson_id) references lessons(id),
constraint fk_lesson_categories_category foreign key (category_id) references categories(id)
);