콘텐츠로 이동

데이터 빌더

Archie Core 데이터 빌더는 데이터베이스 테이블, 필드 유형 및 테이블 간의 관계를 정의하기 위한 데이터 모델링 인터페이스입니다.

데이터 빌더를 열려면 사이드바에서 Data Model을 클릭하고, 작업할 테이블을 선택한 다음, Schema 탭을 클릭하세요.

alt text

정의된 각 테이블에 대해 Archie Core GraphQL 엔진은 GraphQL 스키마 객체 유형과 해당 쿼리, 뮤테이션 및 구독 필드를 리졸버와 함께 자동으로 생성합니다.

이는 모든 CRUD(생성, 읽기, 업데이트, 삭제) 작업뿐만 아니라 실시간 연결(웹소켓)이 작업 공간의 고유 API 엔드포인트를 통해 즉시 사용 가능함을 의미합니다.

백그라운드에서 Archie Core는 작업 공간에 전용 PostgreSQL 데이터베이스 인스턴스를 프로비저닝합니다. PostgreSQL은 안정성과 데이터 무결성으로 유명한 고급 오픈소스 객체-관계형 데이터베이스입니다.

+ Add Table 버튼을 클릭하여 새 테이블을 만듭니다. 새 테이블의 기본 이름은 “untitled_table”입니다. 모든 테이블에는 고유한 이름이 필요합니다.

테이블이 생성되면 해당 GraphQL 스키마 유형과 리졸버가 자동으로 생성됩니다.

alt text

테이블이 생성된 후 필드와 관계를 정의할 수 있습니다. 테이블에 대한 모든 업데이트는 실시간으로 게시됩니다.

테이블이 업데이트되면 해당 GraphQL 스키마 유형과 리졸버가 자동으로 업데이트됩니다.

테이블 관련 오류를 최소화하기 위해 Archie Core는 많은 유해한 작업으로부터 보호합니다:

  • 비필수 필드를 필수로 변경할 때 기본값을 요구하는 프롬프트가 나타납니다.
  • 기존 필드 유형이 업데이트되면 날짜, 숫자 및 텍스트 필드 값이 자동으로 변환됩니다.
  • 비고유 필드를 고유로 변경할 때 현재 레코드가 고유 값을 갖는지 검증됩니다.

테이블을 삭제하려면:

  1. 테이블 이름으로 이동하여 ...를 클릭합니다.
  2. Delete this Table을 클릭합니다.
  3. 확인 대화 상자가 열립니다. 테이블 이름을 입력하고 Delete를 클릭합니다.

위험: 삭제된 테이블은 복원할 수 없으며 기존 테이블 레코드가 손실됩니다.

alt text

Archie Core는 세 가지 유형의 테이블 관계를 지원합니다:

유형A에서 B로B에서 A로
일대일테이블 A의 레코드는 테이블 B의 레코드에 have_one 또는 belong_to할 수 있습니다.테이블 B의 레코드는 테이블 A의 레코드에 have_one 또는 belong_to할 수 있습니다.
일대다테이블 A의 레코드는 테이블 B의 레코드에 have_many할 수 있습니다.테이블 B의 레코드는 테이블 A의 레코드에 have_one 또는 belong_to할 수 있습니다.

alt text

두 테이블 간의 관계는 드래그 앤 드롭하거나 새 테이블 필드를 만들 때 Table을 데이터 유형으로 선택하여 정의할 수 있습니다.

  • 이름: 관련시킬 테이블을 선택합니다.
  • 관련 테이블: 해당 테이블에 표시되는 관계의 이름입니다.
  • 유형: 관계가 has one인지 has many인지 여부입니다.
  • 설명: 필드에 대한 정보를 작성할 수 있는 선택적 텍스트 상자입니다.
  • 필수: 필드 관계가 필수인지 여부입니다.

세 가지 테이블 유형이 있습니다: 커스텀, 뷰 및 데이터 유형.

커스텀 테이블은 관리자가 모든 작업 공간에서 만든 테이블입니다. 완전히 사용자 정의할 수 있습니다.

뷰 테이블은 여러 테이블의 필드를 단일 뷰로 집계하는 가상 테이블입니다.

유형을 사용하면 상호 배타적인 값의 정적이고 정렬된 집합을 정의할 수 있습니다. 표준 텍스트 필드와 달리 열거형은 데이터 입력을 미리 정의된 상수의 특정 목록으로 제한합니다.

  • 데이터 무결성: 열거형은 데이터베이스 수준에서 엄격한 데이터 유효성 검사를 시행합니다.
  • 코드 일관성: 허용 가능한 값에 대한 단일 정보 소스를 제공합니다.
  • 가독성: 열거형은 데이터를 자체 설명적으로 만듭니다.
  • 성능: PostgreSQL에서 열거형은 효율적으로 저장됩니다.