키와 인덱스
ERD에서는 PK, FK, Index, Constraint를 테이블 구조와 함께 관리합니다.
Primary Key
PK는 테이블 노드의 컬럼 그리드에서 체크합니다. 여러 컬럼을 PK로 지정하면 복합 PK로 다룰 수 있습니다.
Tip
PK 변경은 FK에 영향을 줄 수 있습니다. 실제 DB에 적용하기 전에 미리보기에서 변경 내용을 확인하세요.
Foreign Key
FK는 관계선을 그리거나 상세 패널의 Add Foreign Key 버튼으로 추가합니다. 상세 패널에서는 FK 이름, FK 컬럼, 참조 테이블을 확인할 수 있습니다.
참고:
전체 스키마 ERD에서는 같은 Database 안의 다른 Schema 테이블도 참조할 수 있습니다. 이 경우 참조 테이블은 schema.table 형식으로 구분됩니다.
| 항목 | 설명 |
|---|---|
| FK Name | 외래키 제약조건 이름입니다. |
| FK Column(s) | 자식 테이블에서 참조값을 담는 컬럼입니다. |
| Referenced Table | 부모 테이블입니다. |
| Referenced Column(s) | 부모 테이블의 참조 대상 컬럼입니다. 보통 PK 또는 UNIQUE 컬럼입니다. |
| Actions | FK를 삭제하거나 관계선을 통해 다시 만들 수 있습니다. |
Index
상세 패널의 Indexes 영역에서 일반 인덱스와 UNIQUE 인덱스를 관리합니다. DBMS에 맞는 인덱스 유형을 선택하고 컬럼 순서, 정렬 방향, INCLUDE 컬럼, Tablespace, WHERE 조건 같은 옵션을 설정할 수 있습니다.
| 표시 | 의미 |
|---|---|
| INDEX | 조회 성능을 위한 일반 인덱스입니다. |
| UNIQUE | 중복 값을 허용하지 않는 인덱스입니다. |
| Column(s) | 인덱스에 포함되는 컬럼 순서입니다. |
| Index Type | PostgreSQL의 B-Tree/GIN/GiST, Oracle의 Normal/Bitmap/Function-Based, MySQL/MariaDB의 B-Tree/Full-Text/Spatial, SQL Server의 Clustered/Nonclustered/Columnstore처럼 DBMS별 선택지가 표시됩니다. |
| Sort Order | 지원되는 인덱스 유형에서 컬럼별 ASC/DESC를 지정합니다. |
| INCLUDE | 지원되는 PostgreSQL 버전과 SQL Server 인덱스에서 비키 컬럼을 포함합니다. |
| WHERE | PostgreSQL 또는 SQL Server에서 부분/필터 인덱스 조건을 입력합니다. |
| Expression | Oracle Function-Based 인덱스의 표현식을 입력합니다. |
Constraints
상세 패널의 Constraints 영역은 PK, FK, UNIQUE, CHECK 같은 제약조건을 함께 보여줍니다. PostgreSQL에서는 EXCLUSION 제약조건도 추가할 수 있습니다.
| DBMS | Deferrable 지원 범위 |
|---|---|
| PostgreSQL | FK, UNIQUE, CHECK 및 EXCLUSION |
| Oracle | FK와 UNIQUE |
| SQLite | FK |
참고:
DBMS 또는 버전에서 지원하지 않는 옵션은 입력 화면에 표시되지 않습니다. 적용 전 미리보기에서 최종 DDL을 확인하세요.
