2017-09-10 3 views
0

강사가 강좌를 업로드하고 게시하는 웹 사이트에 불편을 둡니다. 나는 데이터베이스를 계획하고 있으며 내 마음 속에 몇 가지 질문이 있습니다. 다음 표를 고려하십시오.MySQL 기본 및 외래 키 제약 조건을 형성하기위한 혼란

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) 

나는이 테이블들 간의 기본적인 관계를 만들었습니다. 이제 질문은 다음과 같습니다

  • 내가 특정 lessoncategory을 확인합니다.
  • 확인하고 싶습니다 lessons 특정 category에 속합니다.

category_id을 외래 키로 입력하면 lessons 테이블에 괜찮습니까? 이 방법으로 테이블에 가입하여 카테고리에서 lessons 수 있습니다. 역방향 관계의 경우 course을 선택하여 category을 선택할 수도 있습니다.

도와주세요. 미리 감사드립니다.

답변

1

수업에 0 또는 1 개의 '카테고리'가있는 경우 을 lessons에 넣을 수 있습니다. 그것은 적절하고 정확합니다. Linoff @gordon 도움을

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) 
); 
+0

감사 : 교훈이 여러 카테고리를 가질 수 있다면

는, 당신은 접합 테이블이 필요합니다. 알았다. – Rebbeca