>  Q&A  >  본문

mysql - 불균형 계층이 있는 이 계층적 일대다 모델에 대한 테이블을 디자인하는 방법은 무엇입니까?

저는 최근에 매우 복잡한 비즈니스 모델을 접했습니다.
교사 훈련 기관을 위한 문제 은행을 설계해야 합니다. 문제 은행의 각 질문은 특정 부문에 속합니다. 가장 이상한 점은 비즈니스 정의입니다.
우선 학년으로 구분됩니다: 유치원, 초등학교, 중학교, 고등학교
학년 아래에는 1단계 과목이 있습니다.
어린이: 종합적인 질, 보육 기술
초등 학교 : 종합 품질, 교육 능력, 전문 기술 능력
중학교 : 종합 품질, 교수 능력, 전문 기술 능력
고등학교 : 종합 품질, 교수 능력, 전문 기술 능력

그 다음에는 "전문 및 기술 능력" 항목에 중국어, 수학, 영어로도 나누어져 있습니다. . . . 2급 과목을 기다리세요. 초등학교, 중학교, 고등학교의 하위 과목이 다릅니다. 하지만 종합자질, 학력 등 2급 과목은 없습니다.

그래서 이러한 채점의 불균형은 이 문제 은행의 문제에서 매우 당황스러운 현상으로 이어집니다.
어떤 문제는 1단계 과목에 속하고, 어떤 문제는 2단계 과목에 속합니다

물론 이렇게 문제은행 테이블을 만들 수도 있어요

질문 ID 질문명 1급 과목 2급 과목

하지만 항상 뭔가 잘못되었다는 느낌이 들지만, 무엇이 잘못되었는지 알 수 없습니다.
조언 좀 부탁드려요

習慣沉默習慣沉默2710일 전666

모든 응답(4)나는 대답할 것이다

  • PHP中文网

    PHP中文网2017-05-18 10:50:38

    가장 쉬운 방법은 트리 구조처럼 디자인하는 것입니다

    회신하다
    0
  • 高洛峰

    高洛峰2017-05-18 10:50:38

    이럴 수도 있지

    제목(ID, 제목 이름, 제목 수준, 상위 제목)

    이는 참고용일 뿐입니다. 자세한 내용은 작업에 따라 더 나눌 수 있습니다. 꼭 표일 필요는 없습니다.

    회신하다
    0
  • phpcn_u1582

    phpcn_u15822017-05-18 10:50:38

    과목 테이블(과목 ID, 과목 이름, 과목 수준, 상위 과목 수준, 단계 ID)
    질문 테이블(질문 ID, 과목 ID, 문제 내용)

    회신하다
    0
  • 迷茫

    迷茫2017-05-18 10:50:38

    문제풀이를 위한 새로운 테이블 3개 생성, 학사기간표, 과목테이블, 시험문제 테이블
    학사기간표(id, 이름)
    과목테이블(id, 이름, 레벨, 모과목id)
    시험문제 테이블(id, 이름) 이름, 시험 문제 내용, 학업 단계 ID, 과목 ID)

    회신하다
    0
  • 취소회신하다