컬럼은 관계형 데이터베이스의 테이블을 구성하는 열을 의미하며, 데이터타입과 길이를 가진다
속성-컬럼 변환
- 논리 모델 속성을 컬럼으로 1:1 변환한다
- 시스템에서 데이터에 대한 변화를 추적하고, 트랜잭션을 관리하기 위해 시스템 컬럼을 추가할 수 있다
- 시스템 컬럼은 모든 테이블에 공통으로 추가하며, 테이블 가장 마지막에 위치하도록 한다 (있으면 좋으니 추가하도록 하자!)
- ex) 최초등록일시, 최종수정일시 등등
- 시스템 컬럼은 모든 테이블에 공통으로 추가하며, 테이블 가장 마지막에 위치하도록 한다 (있으면 좋으니 추가하도록 하자!)
데이터 타입 및 길이 지정
이슈 1) CHAR vs VARCHAR2
- VARCHAR2만 사용하는 것이 좋다
- CHAR을 쓰고 싶다면 하나짜리 ex) Y/N 에는 괜찮다
이슈 2) 일자(YYYYMMDD) 컬럼을 VARCHAR2(8) vs DATE형
- VARCHAR2(8)
- 개발자들이 선호하는 형식
- 날짜형 데이터타입
- 개발 시 날짜를 문자형식으로 변환하는 일이 많아 개발 생산성이 떨어지는 문제가 있다
- 오류 데이터가 들어올 수 있는 확률은 거의 없다
- 데이터 품질을 우선 고려한다면 DATE 형을 적용하자! 하지만 어쩔 수 없이 VARCHAR2(8)로 한다면 CHECK CONSTRAINT를 추가하거나 인덱스를 만들어 오류 데이터가 입력되지 않도록 하자!
COLLATE (정렬옵션)
collation은 데이터 정렬, 비교하는 방식을 지정하는 명령어로 collation 설정에 따라 작업 결과가 다르게 나타날 수 있다
- SQL Server에서 문자 컬럼의 경우 COLLATE를 지정해야 한다
- 기본은 Korean_Wansung_CI_AS 이며, 데이터 값에서 대/소문자를 구분하여 처리하려면 "_CI_" eotls "_CS_"로 지정해야한다
기본키(PK: Primary Key) 지정
- 논리 데이터모델의 주 식별자를 기본키(PK)로 생성한다.
- 기본키는 유일해야 하고, NOT NULL 이어야 한다
'데이터 모델링 > 04. 물리 모델링' 카테고리의 다른 글
인덱스 설계 & 파티션 설계 (6) (1) | 2024.11.19 |
---|---|
성능을 고려한 데이터 구조 (5) (0) | 2024.11.19 |
데이터 무결성 설계 (4) (0) | 2024.11.19 |
관계 설계 (2) (0) | 2024.11.19 |
물리 모델링이란 (1) (0) | 2024.11.19 |