집 >데이터 베이스 >MySQL 튜토리얼 >온라인 시험 시스템의 시험 점수 통계를 지원하기 위해 MySQL 테이블 구조를 설계하는 방법은 무엇입니까?
온라인 시험 시스템의 시험 점수 통계를 지원하기 위해 MySQL 테이블 구조를 설계하는 방법은 무엇입니까?
소개
온라인 시험 시스템은 현대 교육의 중요한 구성 요소 중 하나입니다. 학생들의 시험 성적에 대한 통계 및 분석을 수행하기 위해서는 시험 정보를 저장할 적절한 데이터베이스 테이블 구조를 설계해야 한다. 이 기사에서는 온라인 시험 시스템의 시험 점수 통계를 지원하기 위해 MySQL 테이블 구조를 설계하는 방법을 소개하고 구체적인 코드 예제를 제공합니다.
테이블 구조 설계
MySQL 테이블 구조를 설계할 때는 학생, 시험, 시험 문제, 점수 등의 요소를 고려해야 합니다. 다음은 간단한 테이블 구조 설계 예시이다.
학생 테이블(학생)
필드 이름 | 데이터 유형 | Description |
---|---|---|
id | INT | 학생 ID |
이름 | VARCHAR | 학생 이름 |
grade | VARCHAR | 학생 학년 |
class | VARCHAR | Class |
생성 시간 | DATETIME | 학생 정보가 생성된 시간 |
시험 양식(시험)
필드 이름 | 데이터 유형 | Description |
---|---|---|
id | INT | 시험 ID |
name | VARCHAR | 시험 이름 |
time | DATETIME | 시험 시간 | ㅋㅋㅋ
데이터 유형 | 설명 | |
id | INT | 시험 ID |
exam_id
content | TEXT | |
---|---|---|
Answer | VARCHAR | 정답 생성 시간 eDateTime |
점수(점수) | ||
필드 이름 | 데이터 유형 | Ind |
점수 ID | student_id | |
학생 ID | exam_id |
시험 ID
FLOAT | Achievements | |
---|---|---|
성적정보가 생성된 시간 | ||
학생의 전체 점수 확인 | SELECT e.name AS exam_name, s.score FROM scores AS s JOIN exams AS e ON s.exam_id = e.id WHERE s.student_id = <student_id>; |
|
SELECT AVG(score) AS average_score FROM scores AS s WHERE s.exam_id = <exam_id>; |
특정 시험에 실패한 학생 목록 확인 | SELECT st.name AS student_name, s.score FROM scores AS s JOIN students AS st ON s.student_id = st.id WHERE s.exam_id = <exam_id> AND s.score < <passing_score>; |
SELECT COUNT(*) AS count, CASE WHEN score >= 90 THEN 'A' WHEN score >= 80 THEN 'B' WHEN score >= 70 THEN 'C' WHEN score >= 60 THEN 'D' ELSE 'F' END AS grade FROM scores WHERE exam_id = <exam_id> GROUP BY grade; | 요약온라인 시험 시스템의 시험 점수 통계를 지원하기 위해 MySQL 테이블 구조를 설계하는 것은 중요하고 복잡한 작업입니다. 테이블 구조를 합리적으로 설계하고 쿼리문을 유연하게 사용함으로써 다양한 시험 점수에 대한 통계 및 분석을 쉽게 수행할 수 있습니다. 위의 내용은 간단한 예이며 실제 필요에 따라 적절하게 조정 및 확장할 수 있습니다. |
위 내용은 온라인 시험 시스템의 시험 점수 통계를 지원하기 위해 MySQL 테이블 구조를 설계하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!