[]
        
(Showing Draft Content)

핵심 구조 설정

테이블이 생성되면 데이터 원본의 각 레코드는 테이블의 행이 됩니다.

schema.columns 섹션은 레코드의 각 필드가 테이블 열로 어떻게 모델링되는지를 정의합니다.

예제:

const table = dataManager.addTable("employees", {
    data: [
        { id: 1, name: "Alice", birthday: "2000-01-01" },
        { id: 2, name: "Bob", birthday: "2001-05-12" }
    ],
    schema: {
        columns: {
            id: { dataType: "number", isPrimaryKey: true },
            name: { dataType: "string" },
            birthday: { dataType: "date" }
        }
    }
});

이 예제에서:

  • data의 각 객체는 레코드입니다.

  • 레코드의 각 속성(id, name, birthday)은 열이 됩니다.

  • columns 구성은 이러한 필드가 데이터 매니저에 의해 어떻게 해석되고 관리되는지를 정의합니다.

핵심 구조 설정은 다음을 정의합니다.

  • 열이 원시 데이터에 매핑되는 방식

  • 값이 해석되는 방식

  • 형식이 해석되는 방식

  • 레코드를 고유하게 식별하는지 여부

이는 열 모델링의 구조적 기반을 형성합니다.

열 이름

schema.columns의 각 항목은 하나의 열 정의를 나타냅니다.

schema: {
    columns: {
        id: { dataType: "number" },
        name: { dataType: "string" }
    }
}

객체 키(id, name)는 테이블 내에서 열의 논리적 식별자입니다.

이 이름은 다음과 같은 경우에 사용됩니다.

  • 수식에서 필드 참조

  • 관계 정의

  • 행 데이터 접근

  • View 생성

열 정의 내부에 name 속성이 지정된 경우 객체 키 대신 내부 열 이름으로 사용됩니다.

대부분의 경우 객체 키만으로 충분합니다.

dataName

dataName은 열을 원시 데이터의 다른 필드 이름에 매핑합니다.

schema: {
    columns: {
        firstName: {
            dataName: "salesperson"
        }
    }
}

이 예제에서:

  • salesperson은 원본 데이터의 필드입니다.

  • firstName은 테이블 내부의 열 이름이 됩니다.

이는 다음과 같은 경우에 유용합니다.

  • 백엔드 필드 이름이 프런트엔드 명명 규칙과 일치하지 않는 경우

  • 여러 필드 이름을 더 명확하게 변경해야 하는 경우

  • 동일한 데이터 원본을 다른 논리 모델로 재사용하는 경우

dataName은 원본 데이터를 수정하지 않습니다.

구문 분석 중 필드가 어떻게 매핑되는지만 정의합니다.

value

value 속성은 열 값이 어떻게 결정되는지를 정의합니다.

다음 중 하나가 될 수 있습니다.

  • 필드 이름

  • 수식 표현식

필드 매핑

columns: {
    name: {
        value: "username",
    }
}

이는 열을 레코드의 특정 필드에 명시적으로 매핑합니다.

value가 정의되지 않은 경우 기본적으로 열 이름이 필드 이름으로 사용됩니다.

수식 열

value에 수식 표현식이 포함되고 dataType"formula"로 설정된 경우 해당 열은 계산 열이 됩니다.

TotalUnits: {
    dataType: "formula",
    value: "=[@UnitsInStock] + [@UnitsOnOrder]"
}

이 경우:

  • 열은 원시 데이터 필드에 직접 매핑되지 않습니다.

  • 값은 동일한 레코드의 다른 필드에서 계산됩니다.

수식 열은 계산 후 일반 데이터 열처럼 동작합니다.

dataType

dataType은 열 값이 어떻게 해석되는지를 정의합니다.

일반적인 형식은 다음과 같습니다.

  • "string"

  • "number"

  • "boolean"

  • "date"

  • "formula"

  • "object"

  • "array"

데이터 형식은 다음에 영향을 줍니다.

  • 값 구문 분석(특히 날짜 및 숫자)

  • 수식 동작

  • 유효성 검사 로직

  • View와의 통합

예를 들어 JSON 데이터에 날짜 문자열이 포함된 경우:

columns: {
    birthday: {
        dataType: "date"
    }
}

값은 구문 분석 중 날짜 값으로 변환됩니다.

dataType을 지정하지 않으면 값을 기반으로 형식이 추론됩니다.

isPrimaryKey

isPrimaryKey는 열을 테이블의 기본 키 일부로 지정합니다.

columns: {
    id: {
        isPrimaryKey: true
    }
}

기본 키는:

  • 각 레코드를 고유하게 식별합니다.

  • 관계 정의에 필요합니다.

  • 교차 View와 같은 특정 고급 기능에 필요합니다.

기본 키 제약 조건은 테이블 수준에서 적용됩니다.

여러 열에 isPrimaryKey가 지정되면 복합 키를 구성합니다.

구조적 책임 범위

핵심 구조 설정은 다음을 정의합니다.

  • 열이 원시 데이터에 매핑되는 방식

  • 값이 계산되는 방식

  • 형식이 해석되는 방식

  • 레코드를 고유하게 식별하는지 여부

다음은 제어하지 않습니다.

  • 유효성 검사 규칙

  • 표시 서식

  • 필터링 동작

  • 스타일

이러한 기능은 다른 열 모델링 섹션에서 별도로 구성됩니다.