! 제품 버전을 정확하게 입력해 주세요.
제품 버전이 정확하게 기재되어 있지 않은 경우,
최신 버전을 기준으로 안내 드리므로
더욱 빠르고 명확한 안내를 위해
제품 버전을 정확하게 입력해 주세요!

데이터 테이블 간의 마스터-하위 관계를 만들고 연결하는 방법. > 블로그 & Tips

본문 바로가기

Forguncy

블로그 & Tips

데이터 테이블 간의 마스터-하위 관계를 만들고 연결하는 방법.

페이지 정보

작성자 GCK낸시 작성일 2022-08-10 09:01 조회 1,281회 댓글 0건

본문

첨부파일

포건시(Forguncy)를 통해, 데이터를 입력 받기 위한 페이지를 디자인 하다 보면, 종종 하나의 공통 데이터(정보) 아래에 여러 데이터를 입력해야 하는 경우가 발생할 것입니다. 


이때 데이터베이스의 테이블을 설계하는 것이 익숙하지 않으시다면, 공통 정보와 공통 정보 아래의 개별적인 정보들을 어떻게 테이블에 넣어야 하는지 고민이 많이 되셨을 것이라고 생각됩니다.


예를들어, "입사지원/인사정보" 입력 페이지를 만든다고 가정해봅시다.


먼저 지원자에 대한 이름, 생년월일, 입사일 등에 대한 기본 정보를 입력하는 섹션이 필요할 것입니다. 다음으로는 자격증, 또는 이력과 같은 정보를 입력하는 영역을 만들게 될 것입니다.


이때, "직원정보"라는 하나의 테이블을 만들어 기본 인사 정보와 자격증, 이력 정보를 넣는다고 가정해 봅니다. 


자격증과 이력이 없거나 딱 1개씩만 있는 경우, 

아래와 같이 기본정보와 자격증 정보, 이력 정보를 한 줄에 넣으면 되기 때문에 문제가 되지 않을 것입니다. 


9160e5df7dbf89aa0a78ee88d168f12e_1713831402_0612.png
 

 


하지만, 아래와 같이 여러 개의 자격증 또는 이력 정보를 하나의 테이블에 다 넣는다고 하면, 아래와 같이 불필요한 정보가 반복적(기본정보)으로 들어가고 빈 데이터 영역(자격증) 이 계속 생기게 될 것입니다. 


aea79946e14f1fdb120b862c8ea45a1e_1660281654_5806.png
 


이 경우, 아래와 같은 대표적인 문제를 야기할 수 있습니다.


  • 불필요한 데이터들이 용량을 차지하게 된다.
  • 이로 인하여, 데이터를 불러 올 때 성능이 저하된다.


이러한 고민과 문제 해결에 도움을 드리고자, 이번 포스팅에서는 간단한 예제를 통해, 마스터-상세(하위) 데이터의 개념과 이를 설계하는 방법에 대해서 공유 드리겠습니다.


위와 같은 상황에서 데이터 테이블을 설계하는 방법 "기능 또는 항목" 별로 테이블을 쪼개는 것입니다.


위의 인사 정보에는 크게 3가지 항목으로 나눌 수 있습니다.


1. 개인 정보 (이름, 성별, 생년월일) - 마스터 정보(단일 정보)

2. 자격증 정보 (자격증명, 취득일, 발급기관) - 상세 하위 정보 (다중 정보)

2. 이력 정보 (회사명, 퇴사일) - 상세 하위 정보 (다중 정보) 


위와 같이 테이블을 3개로 분리하고, 자격증 정보이력 정보에서 개인정보를 참조하도록 관계만 만들어주면, 동일한 "개인 정보" 데이터를 매번 자격증이나 이력 정보가 추가될 때 마다 모두 넣을 필요 없이 참조를 위한 ID값(연결key값) 만 넣어주면 됩니다.


아래와 같은 그림을 생각해 주시면 됩니다.


aea79946e14f1fdb120b862c8ea45a1e_1660287854_1708.png
 


위와 같이 자격증과 이력 테이블은 단지 직원의 ID만을 참고하고 있습니다.


이렇게 하시면, 자격증/이력 정보가 계속 추가가 되더라도 데이터에 부하 없이 데이터를 유지하고 관리 할 수 있습니다.



아래의 샘플 예제를 함께 따라서 만들어보시면, 좀 더 쉽게 이해를 하실 수 있을 것입니다.


* 해당 포스팅의 샘플 프로젝트를 다운로드하려면 여기를 클릭하세요.



 

​데이터 테이블 만들기 


​1. 지원자 기본 정보 데이터 테이블 만들기 (마스터 테이블 만들기) 

지원자 기본 정보 테이블을 만든 후 아래와 같이 열을 추가합니다.

  • ID
  • 이름
  • 출생년도
  • 성별

d2f9013706119f7b7f66b03445b46aed_1660088809_6389.png
 

2. 지원자 이력 테이블, 지원자 자격증 테이블 만들기 (하위 테이블 만들기)

지원자 이력 테이블을 만든 후 아래와 같이 열을 추가합니다.

  • ID
  • 회사명
  • 입사일
  • 퇴사일
  • 부서
  • 지원자ID

d2f9013706119f7b7f66b03445b46aed_1660088815_5054.png

지원자 자격증 테이블을 만든 후 아래와 같이 열을 추가합니다.

  • ID
  • 자격증명
  • 취득일
  • 발급처
  • 지원자ID

d2f9013706119f7b7f66b03445b46aed_1660088822_0968.png



  

하위 테이블 설정하기 


​1. 지원자 이력 테이블을 지원자 기본 정보 테이블의 상세(하위) 테이블로 설정 

프로젝트 탐색기에서 지원자 이력 테이블의 지원자ID 필드를 선택하고, 마우스 오른쪽 버튼을 클릭하여 [관계 설정]을 클릭합니다. 


d2f9013706119f7b7f66b03445b46aed_1660089152_543.png


연결된 열 편집 대화 상자에서 대상 테이블에는 "지원자기본정보" 테이블을 선택하고, 대상 필드에는 "ID" 필드를 선택한 후 확인 버튼을 클릭합니다. 


d2f9013706119f7b7f66b03445b46aed_1660089244_2994.png

아래 그림과 같이 지원자ID 필드에 지원자 기본정보 테이블이 연결된 것을 확인할 수 있습니다. 


d2f9013706119f7b7f66b03445b46aed_1660089425_9716.png


​2. 지원자 자격증 테이블을 지원자 기본정보 테이블의 하위 테이블로 설정 

위의 방법과 동일하게 지원자 자격증 테이블을 지원자 기본정보 테이블에 연결해 줍니다. 


d2f9013706119f7b7f66b03445b46aed_1660089673_1577.png

 


 

입사 지원 페이지 만들기


​지원자 기본 정보와 지원자 이력 및 지원자 자격증을 입력할 수 있는 입사 지원 페이지를 만듭니다.

기본 정보는 지원자 이력 테이블과 지원자 자격증 테이블에 함께 저장하도록 설정합니다.


  1. 지원자 기본정보 테이블의 데이터를 입력 할 수 있는 양식을 텍스트 박스와 드롭박스를 이용해 아래 화면과 같이 만들어줍니다.

  2. 지원자 기본정보 테이블의 ID 필드를 드래그하여 데이터 바인딩을 합니다.
    d2f9013706119f7b7f66b03445b46aed_1660096758_3966.png

  3. ID 필드가 있는 행을 선택하여 숨기기를 합니다.
    d2f9013706119f7b7f66b03445b46aed_1660090401_2805.png

  4. 지원자 이력 테이블을 연결한 리스트뷰를 만듭니다.
    d2f9013706119f7b7f66b03445b46aed_1660090617_7445.png

  5. 리스트뷰를 선택하고 오른쪽 마우스 버튼을 클릭하여 [리스트뷰 세부 옵션 설정]을 클릭합니다.d2f9013706119f7b7f66b03445b46aed_1660104919_2023.png

  6. 리스트뷰 옵션 설정 대화상자의 [데이터] 탭에서 즉시 저장 해제 리스트뷰 반영을 선택하고, "페이지를 표시할 때 데이터를 불러오지 않습니다."에 체크를 합니다.
    d2f9013706119f7b7f66b03445b46aed_1660090953_838.png

  7. 리스트뷰를 선택하고 리본 메뉴의 [디자인] 에서 "편집 허용", "새 행 추가 허용"을 체크합니다.
    d2f9013706119f7b7f66b03445b46aed_1660091189_7056.png

  8. 리스트뷰를 선택하고 오른쪽 마우스 버튼을 클릭하여 [리스트뷰 관계 연결 설정]을 클릭합니다.91df7af708cf85759e38091d7932d345_1666746306_3679.png
  9. 리스트뷰의 관계 연결 설정 창에서 아래와 같이 설정합니다.  91df7af708cf85759e38091d7932d345_1666746500_2607.png
  10. 지원자 자격증 테이블을 연결한 리스트뷰를 만듭니다.
    d2f9013706119f7b7f66b03445b46aed_1660091051_5017.png

  11. 5~9번 내용과 동일하게 리스트뷰 세부 옵션을 설정합니다.

  12. "지원하기" 버튼을 생성합니다.
    d2f9013706119f7b7f66b03445b46aed_1660105033_1742.png

 


 

​명령 생성하기 

  1. 지원하기 버튼을 선택하고, 마우스 오른쪽 버튼을 클릭하여 [명령 편집]을 선택합니다.
    d2f9013706119f7b7f66b03445b46aed_1660096365_0209.png

  2. 명령 창 대화상자에서 다음과 같이 명령을 추가합니다.
    1) 페이지의 기본정보에 입력된 정보를 데이터 테이블에 업데이트 하기 위해 아래와 같이 명령을 생성합니다.
        - 명령 선택 : 데이터 테이블 업데이트하기
        - 대상 테이블 : 지원자 기본정보
        -  = 이름,  = P12 셀
        -  =  출생년도,  = P14 셀
        -  =  성별 ,  = P16셀

    d2f9013706119f7b7f66b03445b46aed_1660096980_2949.png
     



 

지원자 정보 페이지


입사지원서를 작성하면 지원자 이력 테이블과 지원자 자격증 테이블에 지원자 기본정보 테이블의 내용이 자동으로 저장되는 것을 확인하기 위한 지원자 정보 페이지를 만들고, 입사지원 페이지의 지원하기 버튼과 연결해 보도록 하겠습니다.


지원자 정보 페이지 만들기

  1. 지원자이력 테이블을 연결한 리스트뷰를 만듭니다.
    d2f9013706119f7b7f66b03445b46aed_1660097574_841.png

  2. 지원자자격증 테이블에 연결된 리스트뷰를 만듭니다.
    d2f9013706119f7b7f66b03445b46aed_1660097672_4929.png



​페이지 이동 명령 만들기 


​입사지원 페이지에서 지원하기 버튼의 오른쪽 마우스 버튼 클릭 후, [명령 편집]을 선택합니다.

명령 창 대화상자에서 [새 명령]을 클릭하고, "페이지 이동 명령 만들기" 명령을 선택한 후, 페이지 선택에서 "지원자정보페이지"를 선택합니다.


d2f9013706119f7b7f66b03445b46aed_1660097869_2177.png

이제 모든 설정이 끝났습니다!




​실행 화면


설정이 완료된 페이지를 실행합니다.


입사지원서 페이지에서 기본 정보, 이력, 자격증 정보를 입력하고 지원하기 버튼을 클릭하면, 지원자 정보페이지에서 지원자 이력과 지원자 자격증 리스트뷰에 기본정보가 포함된 것을 확인할 수 있습니다.


d2f9013706119f7b7f66b03445b46aed_1660099355_8253.gif



지금 바로 Forguncy를 다운로드하여 직접 테스트해보세요!

fgc.png

 
  • 페이스북으로 공유
  • 트위터로  공유
  • 링크 복사
  • 카카오톡으로 보내기

댓글목록

등록된 댓글이 없습니다.

메시어스 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기

태그1

인기글

더보기
  • 인기 게시물이 없습니다.
메시어스 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기
이메일 : sales-kor@mescius.com | 전화 : 1670-0583 | 경기도 과천시 과천대로 7길 33, 디테크타워 B동 1107호 메시어스(주) 대표자 : 허경명 | 사업자등록번호 : 123-84-00981 | 통신판매업신고번호 : 2013-경기안양-00331 ⓒ 2024 MESCIUS inc. All rights reserved.