2014-11-03 2 views
0

온라인 성적 보고서를 작성하기위한 데이터베이스 스키마를 만들려고합니다. 보고서에는 학교 이름, 학생 이름, 학생 이름, 결석 일 수, 지체 일수, 학생의 현재 전체 성적 및 학생이 완료 한 모든 과제의 이름이 포함됩니다 각 과제의 날짜, 범주 및 점수가 포함됩니다. 다음은 지금까지 내가 알아 낸 것입니다. 누구든지이 스키마 개선에 대한 제안 사항이 있습니까?학생용 데이터베이스 스키마

School (school_id, school_name, course_id) 

Course(course_id, course_name, teacher_id, student_id) 

Teacher(teacher_id, teacher_name, student_id) 

Student(student_id, student_name, grade, absent_days, tardy_days, assignment_id) 

Assignment(assignment_id, assignment_name, assignment_date, category, score, course_id) 
+0

교사가 여러 학교에서 가르 칠 수 있습니까? –

+1

관계형 데이터베이스에 대한 책 또는 자습서를 읽어야합니다. 분명히 당신은 외래 키의 개념조차 모르기 때문에. 스키마에서 선생님은 한 선생님에게 할당되고 학교는 한 코스 만 있고 학생은 한 임무 만 가질 수 있습니다. –

+0

제임스 본드 ...이 데이터베이스에는 한 학교에 대한 데이터 만 포함됩니다. – Daron

답변

0

학교에서 course_id를 삭제하는 것이 좋습니다. 교사 & 강좌의 student_id입니다. 아래 설명 된대로 student의 assignment_id. 또한 과제를 과제와 과제 표로 나눌 수 있습니다.

이 결과는 학교에서 여러 개의 과제를 가질 수있는 여러 클래스를 가르치는 교사가 여러 명있을 수 있음을 의미합니다. 학생들은 학교에 소속되어 있고 여러 과제를 가질 수 있습니다. 이것은 매우 간단한 모델이며 학생들이 어떤 코스를 예약했는지 저장하는 '예약'테이블을 추가하는 것을 고려할 수 있습니다. 또한 여러 교사가 한 과목을 가르치고 여러 교사가 여러 학교에서 일하거나 여러 학교에서 한 과목이 제공 될 수도 있습니다. 생각해 볼만한 몇 가지 아이디어 ...

+0

나는 단지 내가 이해하고 있는지 확인하고 싶다. "예약 테이블"이란 각 클래스의 학생들을 나열하는 클래스 명단을 의미합니까? 예를 들면 다음과 같습니다 : Roster (course_id, student_id) – Daron

+0

그래, 그게 무슨 뜻이야. –

+0

질문이 하나 더 있습니다. 과정과 교사로부터 student_id를 제거하는 목적/논리는 무엇입니까? – Daron