2011-12-02 4 views
0

저는 레일에서 정말 간단한 앱을 만드는 초보자입니다. 그러나 데이터베이스 구조화에 대한 경험이 없습니다 ... 아래에 제시된 이점이나 더 좋은 세 번째 방법이 있다면 이점을 말해 줄 수 있습니까? 이 데이터베이스를 어떻게 구성합니까?

학생들

는 양식

  1. 에 두 가지 질문을 받게 될 것입니다 "당신이 학생들 가능성이 실패합니다 생각 하는가 코스?" (해당 사항을 모두 확인)

수학, 영어, 프랑스어, 과학

  1. "당신이 학생들 가능성이 통과 할 생각하십니까 코스?" 데이터베이스에 대한

프랑스어 수학, 영어, 과학


(해당 사항에 모두 체크) 나는 "패스"입력 "문자열"의 "실패"열을 생성 않습니다. 예를 들어, 사용자 1

"패스"에 대한 수학, 영어, 그리고

가있을 수 있습니다, 그래서

과 어떤 이유로 과학

이있을 수 있습니다 "실패", 그는 프랑스에 대한 의견을 제공하지 않았다 ..


가 아니면 열 "수학", "프랑스어" "과학", "영어해야한다"타입의 '캐릭터'를하고있다 "통과"또는 "각 열에 입력"실패

ㅁ 그것을 구성하는 가장 좋은 방법은 무엇입니까?

답변

1

저는 처음 3 개의 테이블을 함께 연결하는 4 개의 테이블, User, Course, ExpectedResult 및 UserCourseExpectedResult를 만들 것입니다.

예상되는 결과에 추가 값이 포함될 경우 향후 유연성이 제공됩니다.

테이블 구조는

User 
    UserId 
    Name 
    ... 

Course 
    CourseId 
    Name 
    ... 

ExpectedResult 
    ExpectedResultId 
    Description 

UserCourseExpectedResult 
    UserId 
    CourseId 
    ExpectedResultId 
의 라인을 따라 것
관련 문제