|
응답자 |
질문1 |
질문2 |
질문3 |
질문4 |
홍길동 |
1 |
2 |
1 |
3 |
장길산 |
2 |
2 |
2 |
2 |
일지매 |
1 |
3 |
2 |
4 |
… |
… |
… |
… |
… |
테이블의 구조
그러나 이러한 설문내용과 관련하여 통계분석을 할 때 그리고 질문을
추가해야 하는 경우가 있을 때 [tblQuest2]와 같이 자료를 운영하는 것이 훨씬 효율적입니다.
정규화된 자료운영 (tblQuest2)
응답자 |
질문 |
응답 |
홍길동 |
1 |
1 |
홍길동 |
2 |
2 |
홍길동 |
3 |
1 |
홍길동 |
4 |
3 |
장길산 |
1 |
2 |
장길산 |
2 |
2 |
장길산 |
3 |
2 |
장길산 |
4 |
2 |
… |
… |
… |
테이블의 구조
참고] 응답자 필드와 질문 필드를 복합해서 기본키로 설정하였습니다.
추가질의를 이용하는 방법과 테이블작성질의를 이용하여 비정규화 테이블인 tblQuest1을 정규화 하도록 하겠습니다.
먼저, 추가질의를 이용하는 방법입니다.
1) tblQuest2와 같은 구조가 같도록 테이블을 작성하여 [tblQuest3]이름으로 저장합니다.
2) 마법사를 이용하여 tblQuest1테이블을 대상으로 선택하여 질의테이블을 만듭니다.
3) 질의메뉴에서 추가질의를 선택하고 이전에 만들어 둔 tblQuest3을 자료를 추가할 테이블로 선택합니다.
4) 아래 그림과 같이 질의디자인 창의 그리드에 입력합니다.
5) 느낌표 아이콘을 가지고 있는 메뉴를 눌러 질의를 실행합니다.
6) 2~3을 반복하는데 질의디자인창의 그리드를 다음과 같이 바꾸고 각각을 실행합니다.
두 번째는 테이블 작성질의를 이용하는 방법입니다. 중간 과정으로 통합질의를 만들게 됩니다.
1) 먼저 [디자인보기에서 새 쿼리 만들기] 하는데 테이블은 선택하지 않고 빈 질의 테이블을 하나 만들고 질의메뉴에서 [SQL쿼리]-[통합질의]를 선택하여 SQL창을 열고 아래 내용을 복사해 붙입니다.(그냥 SQL창을 열어도 됩니다.)
SELECT tblQuest1.응답자, 1 AS 질문, tblQuest1.질문1 AS 응답 FROM tblQuest1; UNION ALL SELECT tblQuest1.응답자, 2 AS 질문, tblQuest1.질문2 AS 응답 FROM tblQuest1; UNION ALL SELECT tblQuest1.응답자, 3 AS 질문, tblQuest1.질문3 AS 응답 FROM tblQuest1; UNION ALL SELECT tblQuest1.응답자, 4 AS 질문, tblQuest1.질문4 AS 응답 FROM tblQuest1 ORDER BY 응답자, 질문; |
2) 이것을 [설문 통합 Query] 라는 이름으로 저장합니다.
3) 이제 [디자인보기에서 새 쿼리 만들기]를 하는데 테이블은
질의 탭에서 이전 단계에서 만들어 둔 [설문 통합 Query]를 선택한 다음 질의 메뉴에서 [테이블 작성 질의]를 선택합니다.
4) 새로 만들 테이블을 설정할 다이알로그 창이 뜨면 이름란에 'tblQuest4'라고 입력하고 닫습니다.
5) 역시 느낌표 아이콘의 메뉴를 클릭하여 질의를 실행하면 [tblQuest4] 테이블이 만들어집니다.
이것으로 제1정규화에 대한 강좌를 마칩니다. 관계형 테이블은 최소한 제1정규화는 되어있어야 합니다. 다음 강좌는 제2정규형 테이블에 대한 것입니다.