database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
ㆍMS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MS-SQL Q&A 6331 게시물 읽기
No. 6331
시험문제 데이터베이스 & 앱
작성자
우세연
작성일
2012-02-24 11:01
조회수
6,649

학생들 시험점수 관리 하는 데이터베이스랑 어플리케이션을 만드려는데 너무 복잡해 졌어요. 

students (학생 테이블)

student_id int (auto)
student_name nvarchar


tests (시험 테이블)

test_id int (auto)
test_name nvarchar
test_date datetime

questions (시험 문제 테이블)

question_id int (auto)
question nvarchar
test_id int

answers (학생 응답 테이블)

answer_id int (auto)
question_id int
student_id int
answer nvarchar

시험점수를 원하는것 보다 학생이 어떤 문제에 어떤 대답을 했는지를 기록하려할때요

학생이 시험을 볼때 응답을 한것이 모두 학생응답 테이블에 들어가게 하는 저런 구조보다 좀 더 좋은게 없을까요?

허접한 쿼리로

select s.student_name, t.test_name, q.question, a.answer from tests t

left join questions q on t.test_id = q.test_id

left join answers a on q.question_id = a.question_id

left join students s on a.student_id = s.student_id

order by s.student_id asc, t.test_id asc, q.question_id asc

요렇게 하면 학생이름, 시험, 문제, 응답  요렇게 나오긴 하는데... 시험 구조 DB 어떻게 해야할까요..

 

이 글에 대한 댓글이 총 3건 있습니다.

 괜찮은거 같은데 뭐가 문제인 거죠?

우욱님이 2012-02-24 11:46에 작성한 댓글입니다. Edit

 아.. 학생 응답 테이블이 좀 걸려서요. 저런식으로 학생의 시험 답안을 저장하는게 맞는지...

아니면 더 좋은 구조가 있지 않을까 해서요.

 

우세연(w2share)님이 2012-02-24 14:48에 작성한 댓글입니다.

 모범 답안입니다.

 

근데, 보여지지 않은 문제별 배점, 학생의 해당 문제별 받은 점수 등등 있는건 맞죠?

우욱님이 2012-02-24 21:01에 작성한 댓글입니다.
이 댓글은 2012-02-24 21:03에 마지막으로 수정되었습니다. Edit
[Top]
No.
제목
작성자
작성일
조회
6336MSSQL inDex [3]
박해일
2012-03-02
7419
6335이런경우 SQL문장 어떻게 만드나요 [1]
김길동
2012-03-02
6990
6334스토어드 프로시져 관련 질문입니다. [2]
조동건
2012-02-29
7706
6331시험문제 데이터베이스 & 앱 [3]
우세연
2012-02-24
6649
6329쿼리 질문여... 이런거 되나요? [2]
우세연
2012-02-22
6479
6328특정 테이블 복구 [1]
엄중섭
2012-02-21
7831
63273개 테이블이상의 outer join방법은?? [2]
이상배
2012-02-20
7250
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다