다른 DB에 있는 데이타 가져와서 입력하기???
본문
교육관련 홈페이지를 만들어서 운영중입니다.
기본적인 개념은 홍길돌이라는 사람이 1년동안 수강했던 교육이력을 보여줘야 하는데요...
교육과정은 A, B, C 세가지 유형으로 구분되어지며 각기 다른 게시판을 사용하고 있습니다.
진행방법은
- 교육담당자가 A유형에 신규 강좌개설
- 홍길동 개설된 강좌 수강신청 및 수강
- 교육담당자 수강확인
- 홍길동 수강 내용을 해당 교육과정(A, B, C 중 한 곳) DB에 기록
홍길동은 위와 같은 방법으로 B, C 유형에도 개설된 강좌를 수강할 수 있으며, 해당 수강내용은 각각의 DB에 기록됩니다.
제가 알고 싶은 것은,
홍길동이라는 사람에 대한 A, B, C 게시판 DB에 입력된 수강확인 내용을 별도의 게시판 DB에 자동으로 입력되게 할 수 있는 방법이 있는지입니다.
- A게시판 DB에 입력된 '2025년 HTML 기초과정' 수강내용(교육과정명, 수강여부 등)
- B게시판 DB에 입력된 '2025년 포토샵 중급과정' 수강내용(교육과정명, 수강여부 등)
- C게시판 DB에 입력된 '2025년 '3D MAX 기초과정' 수강내용(교육과정명, 수강여부 등)
- D게시판 DB : 홍길동의 A, B, C 게시판에 입력된 데이타를 가져와서 D데이타에 기록되게 하는 방법???
어떤 방법이 있을까요? 바쁘시겠지만 부탁드려 봅니다.
답변 4
A, B, C게시판의 수강확인 데이터를 Trigger를 활용해
D게시판 DB에 자동으로 입력하는 방식으로, 각 게시판 DB는 독립적으로 운영되면서도,
홍길동의 전체적인 수강이력을 D게시판에서 효율적으로 통합 관리되게 ~
1. A, B, C게시판 테이블에 각각 AFTER INSERT와 AFTER UPDATE 트리거를 생성하여
수강확인 데이터가 입력되거나 수정될 때마다 자동 실행.
2. 각 트리거는 홍길동의 수강 이력이 입력 또는 업데이트되는 순간,
사용자의 ID, 교육과정명, 수강여부, 수강날짜를 D게시판 테이블로
자동으로 복사/업데이트하는 SQL 쿼리를 실행.
3. D게시판 DB의 테이블 구조는 사용자ID, 사용자명, 교육유형(A, B, C),
교육과정명, 수강여부, 수강날짜, 갱신일자 등이 적절히 관리되게 하시면~
bbs/d_course.php 파일을 만들어 table_d 데이터가 조회되도록 구현하시고,
트리거 SQL은 /adm/trigger.sql에 두어 관리자만 실행하는 것이 최적일 듯합니다.
A,B,C를 별도로 D에 기록하시려는 의도가 무엇일까요?
수강내역을 한번에 보고자 하시는거라면 해당 게시판을 전체적으로 불러오도록 하시면 되지 않을까 싶은데요
게시판 매칭되는 값들로 해당 데이터 불러와서 넣으면 되는거 아닌가요? 질문만으로는 정확한 의도를 알기 힘든거 같습니다. 쿼리문에 대해서 알지를 못하시는걸까요?
1. 수강내용 master table 생성
2. 수강자 master table 생성
수강내용 key를 수강자 master table에 매칭 시키면, 해결되지 않을까 합니다.
table 설계를 다시 해야 할거 같습니다.