핵심 개념
Ainecto의 데이터 모델은 실제 관계형 데이터베이스에 가깝게 설계되어 있습니다. 데이터베이스를 알고 있다면 대부분 익숙한 개념입니다.
다이어그램
다이어그램은 최상위 컨테이너입니다. 하나의 다이어그램은 하나의 논리 스키마를 표현합니다.
- 이름과 선택적 노트
- 생성자인 소유자
- 테이블, 관계(ref), enum, 테이블 그룹
- 시스템 전체에서 고유한 자동 생성 UUID
- 공개 읽기 전용 공유를 위한 선택적 shareToken
다이어그램에는 버전 기록이 있습니다. 자세한 내용은 버전 기록을 참고하세요.
테이블
테이블은 데이터베이스 테이블입니다.
| 필드 | 설명 |
|---|---|
name | 테이블명(schemaName 안에서 고유) |
schemaName | 선택적 스키마 예: public, auth |
alias | 관계 표시 등에 쓰는 짧은 별칭 |
note | 자유 형식 설명 |
headerColor | 캔버스 헤더 색상 |
columns | 순서가 있는 컬럼 목록 |
indexes | 테이블에 정의된 인덱스 |
테이블은 시각적 정리를 위해 테이블 그룹에 속할 수 있습니다.
컬럼
각 컬럼은 다음 속성을 가집니다.
| 필드 | 설명 |
|---|---|
name | 컬럼명 |
type | SQL 타입 예: bigint, varchar(255), timestamp |
isPk | Primary key 여부 |
isUnique | Unique 제약 |
isNotNull | Not-null 제약 |
isIncrement | Auto-increment 여부 |
defaultValue | 기본값(리터럴 또는 함수) |
note | 인라인 설명 |
인덱스
인덱스는 테이블 단위로 정의합니다.
| 필드 | 설명 |
|---|---|
name | 인덱스명 |
isPk | Primary key 인덱스 표시 |
isUnique | Unique 인덱스 |
type | 인덱스 타입 예: BTREE, HASH, GIN |
columns | sortOrder(ASC/DESC)를 포함한 컬럼 목록 |
관계(Ref)
ref는 두 컬럼 또는 복합 키 컬럼 집합 사이의 외래 키 관계입니다.
| 필드 | 설명 |
|---|---|
name | 선택적 ref 이름 |
fromTableUuid / fromColumnUuids | 참조하는 쪽 |
toTableUuid / toColumnUuids | 참조되는 쪽 |
relationship | 카디널리티 |
onDelete | 삭제 시 동작(CASCADE, SET NULL, RESTRICT 등) |
onUpdate | 업데이트 시 동작 |
카디널리티
| 기호 | 의미 |
|---|---|
> | Many-to-one |
< | One-to-many |
- | One-to-one |
<> | Many-to-many |
참고: Ainecto의 관계는 테이블명이나 컬럼명이 아니라 UUID를 사용합니다. 이름이 바뀌어도 ref가 안정적으로 유지됩니다. 시각 편집기는 이를 숨겨 주지만 API와 MCP 도구는 UUID가 필요합니다.
Enum
enum은 status, role처럼 허용 값이 정해진 필드에 쓰는 이름 있는 값 집합입니다.
| 필드 | 설명 |
|---|---|
name | Enum 이름 |
schemaName | 선택적 스키마 |
values | {value, note} 항목 목록 |
note | 자유 형식 설명 |
컬럼은 enum을 타입으로 참조할 수 있습니다.
테이블 그룹
테이블 그룹은 관련 테이블을 색상 컨테이너로 묶어 캔버스에서 보기 쉽게 만드는 기능입니다. 스키마 자체는 바꾸지 않는 레이아웃/정리 도구입니다.
| 필드 | 설명 |
|---|---|
name | 그룹명 |
color | 컨테이너 색상 |
tables | 포함된 테이블 |
테이블 그룹은 유료 요금제가 필요합니다.
식별자와 UUID
모든 엔티티(다이어그램, 테이블, 컬럼, ref, enum, 그룹)는 32자 hex UUID를 가집니다. UUID는 이름 변경에도 유지되며 API, MCP 서버, 버전 기록이 엔티티를 식별하는 기준입니다.
시각 편집기에서는 UUID를 자주 보지 않습니다. 주로 REST API나 MCP 도구를 직접 호출할 때 필요합니다.
권한
각 다이어그램은 사용자별 접근 권한을 가집니다.
| 역할 | 보기 | 편집 | 삭제 | 공유 관리 |
|---|---|---|---|---|
| OWNER | ✓ | ✓ | ✓ | ✓ |
| EDITOR | ✓ | ✓ | ✗ | ✗ |
| VIEWER | ✓ | ✗ | ✗ | ✗ |
| NONE | ✗ | ✗ | ✗ | ✗ |
또한 다이어그램은 공개 공유 토큰을 가질 수 있습니다. 링크를 가진 사람은 로그인 없이 읽기 전용으로 볼 수 있습니다. 자세한 내용은 협업을 참고하세요.