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
운영게시판
최근게시물
PostgreSQL Q&A 6240 게시물 읽기
No. 6240
학사관리에서.. 대체과목 지정하는거 설계를 어떻게 해야하나요?
작성자
박기원
작성일
2005-08-01 16:56
조회수
2,085

안녕하세요?

이번 개발하는 곳에 학사관리하는 부분이 들어갑니다.

다른것은 다 끝냈는데.. 마지막 요구사항이 대체 과목 지정입니다.

2002학년도 커리큘럼에 A과목이 있었는데.. 학생이 이거 F 학점 맞고... 복학해서... A 과목을 들어야 하는데.... A과목은 폐강이 되고 대신 B과목이 대체과목으로 들어가 있으면...... 그것을 듣고....

나중에 졸업 사정할때는..... B과목이 A 과목을 대체 했기때문에.... 졸업이 가능하다고 나오도록 해야합니다......

이거 어떻게 해야 설계가 쉽나요?

 

학생이 전부 들어야할 커리큘럼 VS 학생이 이수한 과목

아주 곤란하네여..ㅠㅠ

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

글세요. 전체적인 설계를 고려해야 하겠지만 그냥 드는 생각으로는 지금 이수과목 기록하고 있는 table에 컬럼을 추가해서 대체가 되었는지를 표시하도록 하구요.

만약 대체가 되면 원래 이수과목 정보를 다른 table(원 이수과목을 기록하는 table)에 복사를 하고 새 이수 과목을 '이수 과목 table'에 저장을 한 후에 추가된 컬럼에 대체가 되었다고 표시를 하면 되지 않을까요?

박성철(gyumee)님이 2005-08-02 09:19에 작성한 댓글입니다.

박성철님 감사합니다.

근데 그럴 경우에

전체 커리큘럼의 정보를 가져오는 쿼리는 어떡해야 하나요?

curriculum_table 

 

 

subcurriculum_table

 

 

select * from curriculum where 커리큘럼 = '2005';

이렇게하면 원래 2005년도 커리큘럼을 불러 올수 있습니다.

근데.. 대체과목이 지정되면 어떤 방식으로 가져와야하나요?

고민할게 많네요..ㅠㅠ

박기원님이 2005-08-02 09:32에 작성한 댓글입니다. Edit

글세요. 상황을 정확히 모르니 뭐라고 말할 수가 없군요.

 

다만... 꼭 한번의 쿼리로 모든 데이타를 가지고 와야 하는가 ... SQL로만 비지니스 로직을 구현해야 하는가도 생각해 보시라고 말씀 드리고 싶네요.

 

저라면 두 테이블을 각각 한번씩 읽고 어플레케이션에서 두 결과를 적절히 머지해서 보여주겠습니다.

 

비지니스 로직을 너무 고려해서 DB를 설계하는 것도 잘못된 설계를 하는 이유가 되기도 하더군요.

박성철(gyumee)님이 2005-08-02 11:37에 작성한 댓글입니다.

네...

그게 좋을거 같습니다. 두개 가져와서.. 프로그래밍으로 처리하는것이..

디비가 편해서.. 많이 디비에 의존할려고 하는데. 실력은 모자르고..^^

많이 힘드네요.....

 

답변 너무 감사드립니다...

박기원님이 2005-08-02 11:51에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
6245[왕초보] 유저생성과 DB생성 [2]
김종섭
2005-08-03
3548
6243PostgreSQL의 ODBC Driver의 오류..
이현순
2005-08-02
2296
6242세개 테이블을 left join 걸려면.. 어떻게 하나요? [2]
박기원
2005-08-02
2647
6240학사관리에서.. 대체과목 지정하는거 설계를 어떻게 해야하나요? [4]
박기원
2005-08-01
2085
6239숫자값을 콤마(,)를 넣어 표현하는 함수가 있나요? [1]
김창욱
2005-07-29
4426
6238insert into ()... select () form.... 이런식으로 넣을때 pk 문제 [1]
박기원
2005-07-29
2525
6237pg_restore 사용시 권한에러 [1]
김이수
2005-07-29
2409
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.026초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다