# 데이터 원본

## Content

현대적인 SpreadJS 컴포넌트인 **테이블 시트**, **간트 시트**, **리포트 시트**, **데이터 차트**는 모두 구조화된 데이터 모델을 기반으로 구축됩니다.
이러한 컴포넌트를 효과적으로 사용하려면 먼저 기본 데이터가 정의되고, 구성되며, 설정되어야 합니다.
SpreadJS 디자이너의 **데이터 원본** 패널은 이러한 데이터 모델을 구축하고 관리하기 위한 중앙 집중식 환경을 제공합니다.
이를 통해 다음 작업을 수행할 수 있습니다.

* 구조화된 테이블 정의
* 스키마 및 열 동작 구성
* 테이블 간 관계 설정
* 계층형 데이터 사용
* 유효성 검사 및 서식 규칙 적용
* 데이터 구성 미리 보기 및 검증

여기에서 구성한 모든 설정은 런타임의 **데이터 매니저**에 직접 매핑됩니다.
디자이너가 별도의 데이터 시스템을 생성하는 것은 아닙니다. 디자이너는 프로그래밍 방식으로 사용할 수 있는 동일한 테이블 구조와 동작을 정의하기 위한 시각적 계층을 제공합니다.

## 데이터 원본을 사용하는 이유

데이터 원본 패널을 사용하면 다음을 수행할 수 있습니다.

* 테이블 시트 및 간트 시트와 같은 고급 컴포넌트용 구조화된 데이터 준비
* 다중 테이블 시나리오를 위한 관계형 데이터 모델 정의
* 트리 구조 데이터에 대한 계층 구성
* 런타임 바인딩 전에 데이터 검증 및 검사
* 여러 SpreadJS 컴포넌트에서 정의된 테이블 재사용

테이블이 구성되면 다음과 같이 사용할 수 있습니다.

* 테이블 시트 또는 간트 시트에 직접 바인딩
* 리포트 시트의 데이터 원본으로 사용
* 데이터 차트 시각화 구동
* 표준 워크시트에 삽입한 후 테이블로 변환
* 피벗 테이블 분석의 기반으로 활용

이로써 데이터 원본은 SpreadJS 내의 핵심 데이터 모델링 도구 역할을 합니다.

## 데이터 원본 워크플로

데이터 원본 패널은 네 개의 기능 영역으로 구성됩니다.

* [테이블 관리](/spreadjs/docs/v19/spreadjs-designer-component/spdesignerwork/data-source/managing-tables) – 테이블 생성, 이름 변경, 삭제, 테이블 전환, 기존 워크시트 테이블을 관리형 데이터 테이블로 변환하는 기능을 포함하여 테이블의 수명 주기를 관리합니다.
* [테이블 데이터 원본 구성](/spreadjs/docs/v19/spreadjs-designer-component/spdesignerwork/data-source/configuring-table-data-source) – 로컬 또는 원격 모드, 요청 엔드포인트, 동기화 설정, 제출 동작, 행 또는 열 작업 정책을 포함하여 테이블이 데이터 원본에 연결되는 방식과 런타임 동작을 구성합니다.
* [열 관리](/spreadjs/docs/v19/spreadjs-designer-component/spdesignerwork/data-source/managing-columns) – 데이터 형식, 스키마 설정, 유효성 검사 규칙, 스타일, 관계 및 계층 구성 등을 포함하여 열 구조와 동작을 정의하고 관리합니다.
* [데이터 미리 보기](/spreadjs/docs/v19/spreadjs-designer-component/spdesignerwork/data-source/previewing-data) – 스키마 설정, 계산 열 및 시각적 표시기를 반영하는 읽기 전용 미리 보기에서 구성된 테이블을 검증합니다.

이러한 섹션들은 함께 테이블 정의, 데이터 연결 및 런타임 동작 구성, 열 구조 세부 조정, 최종 구성 검증 과정을 안내합니다.