블로그 | 플렉스튜디오

플렉스튜디오에서 1:N 관계 테이블 생성하기

작성자: 마케터 썬 | 2026. 4. 29 오전 4:16:27

지난 편에서는 1:N 관계 테이블의 개념과 구조를 살펴봤습니다. 이번 편에서는 해당 구조를 플렉스튜디오에서 실제 테이블로 만들어보는 단계입니다.
FlexDB를 연결하고 부서·사원·예약·참석자 4개의 테이블을 생성한 뒤 샘플 데이터까지 세팅하는 과정을 차례대로 다룹니다.

 

영상 강의로 학습하기 👉
사용된 코드 확인하기 👉

 

실습 준비 : 새 시나리오 생성과 FlexDB 연결

먼저 시나리오 스튜디오에서 새 시나리오를 하나 생성합니다. 이번 실습에서는 FlexDB를 사용합니다.

📌 FlexDB란?

FlexDB는 플렉스튜디오 유료 라이선스를 적용하면 기본 제공되는 데이터베이스입니다.
별도의 설치나 외부 DB 연결 절차 없이, 시나리오 내에서 바로 사용할 수 있다는 장점이 있습니다.

 

FlexDB 연결 절차

  1. 시나리오 스튜디오 하단의 DB 연결안함 버튼을 클릭합니다.
  2. 데이터베이스 접속 정보 화면에서 FlexDB를 선택합니다.
  3. 본인이 현재 작업 중인 앱 ID와 매칭되는 _BasicTenant를 선택합니다.
  4. 확인 버튼을 누르면 하단에 '설정이 저장되었습니다'라는 메시지가 출력됩니다.

 

생성할 테이블 구조 (총 4개)

이번 실습에서 만들 테이블은 총 4개입니다.

① attendGroup : 부서 테이블

개발팀, 기획팀, 마케팅팀 등 부서 정보를 담는 테이블입니다.

② attendMember : 사원 테이블

각 사원의 정보를 담는 테이블이며 groupSeq 컬럼을 통해 부서 테이블과 연결됩니다.

 

📌 비정규화(Denormalization) 포인트

attendMember 테이블에서 주목해야 하는 부분은 groupName 컬럼을 별도로 직접 저장한다는 점입니다. 정규화 원칙에 따르면 attendGroup 테이블과 JOIN하여 가져오는 것이 맞지만, 모바일 앱 특성상 빠른 조회 성능이 중요하고 자주 조회되는 값이기 때문에 이번에는 비정규화 방식을 채택했습니다.

다만 부서명이 변경되면 attendMember 테이블도 함께 업데이트해야 한다는 관리 부담이 생깁니다.
정규화와 비정규화 중 어느 쪽을 택할지는 업무 상황과 성능 요구사항에 따라 결정하시면 됩니다.

 

③ reservation : 예약 테이블 (부모)

예약 정보가 담기는 테이블로, 이번 실습의 부모 격 테이블입니다.

④ reservAttendee : 참석자 테이블 (자식)

참석자 정보가 담기는 자식 격 테이블입니다. 핵심은 reservationSeq 컬럼으로 부모 예약 테이블과의 연결고리(FK) 역할을 수행합니다.

 

FlexDB 표준 시스템 컬럼

위 4개 테이블에는 FlexDB의 표준 시스템 컬럼이 공통으로 포함됩니다. 별도로 정의하지 않아도 자동으로 추가되는 컬럼입니다.

  • DataSeq : 자동 증가 PK 값
  • CreateDate, CreateUserID 등 : 이력 관리용 컬럼

 

테이블 생성 SQL 실행

테이블을 실제로 생성하는 단계입니다.

  1. 강의 자료에 있는 테이블 생성 SQL을 복사합니다.
  2. 시나리오 스튜디오 인터페이스 우측 상단의 초록색 버튼을 클릭하여 디버깅 화면으로 이동합니다.
  3. 디버깅 접속 정보 화면이 나타나면 앱·테넌트·사용자 정보가 맞는지 확인합니다. 정보가 일치하지 않는다면 변경 버튼으로 수정한 뒤 확인을 누릅니다.
  4. 하단의 Test-SQL 탭을 클릭합니다.
  5. 강의자료에서 복사한 SQL문을 붙여 넣고 실행합니다.
  6. 실행 결과는 콘솔 화면에서 즉시 확인할 수 있습니다.
  7. 이 과정을 반복하여 총 4개의 테이블을 모두 생성합니다.

 

샘플 데이터 세팅

테이블 생성이 끝나면 attendGroup과 attendMember 테이블에 샘플 데이터를 입력합니다.

  • attendGroup : 부서 5개
  • attendMember : 사원 10명

이 데이터는 이후 실습에서 참석자를 선택할 때 서치 목록으로 표시되는 데이터로 사용됩니다. 따라서 이 단계에서 미리 채워 두는 것이 중요합니다.

 

다음 강의 : 템플릿으로 예약 화면 구성하기

이렇게 사전 테이블 생성과 데이터 세팅이 모두 완료되었습니다. 지금까지 FlexDB 연결과 4개 테이블 생성, 샘플 데이터 세팅까지 완료했습니다.
다음 강의에서는 템플릿을 활용해 조회 화면과 등록 화면을 구성하는 과정을 다루겠습니다.