자격증/SQLD
도메인(Domain) 이란?
2주녘
2025. 5. 24. 15:06
반응형
SQLD 문제
다음 중애서 도메인(Domain)에 대한 특징으로 옳지 않은 것은?
1) 릴레이션의 속성에 대한 데이터 타입과 크기이다.
2) 속성에 대하여 NOT NULL 제약사항을 설정하여 NULL 값을 허용하지 않는다.
3) 속성에 값을 입력할 때 CHECK 기능을 사용해서 입력값을 검사한다.
4) 하나의 릴레이션과 관계된 다른 릴레이션의 FK(Foreign Key) 제약조건이다.
도메인(Domain) 이란 릴레이션(=테이블)의 속성(컬럼)이 가질 수 있는 값들의 집합(타입, 범위, 형식)을 말합니다.
예를 들어,
emp_age NUMBER(3)
➡️ 여기에서 emp_age는 속성, NUMBER(3)은 도메인(정수형 숫자 3자리까지) 이라고 보면됩니다.
✍️ 보기 분석
✔ 1) 릴레이션의 속성에 대한 데이터 타입과 크기이다.
정답! ✅
도메인은 컬럼의 데이터 타입과 크기를 포함하는 개념입니다.
- 예) VARCHAR2(20) → 문자형 20자 = 도메인 OK
✔ 2) 속성에 대하여 NOT NULL 제약사항을 설정하여 NULL 값을 허용하지 않는다.
정답! ✅
도메인은 NOT NULL 같은 제약조건도 포함할 수 있습니다.
- 제약조건도 도메인의 일부로 간주함.
- 도메인을 정의할 때, “이 컬럼은 반드시 값이 있어야 한다”는 것도 포함 가능.
✔ 3) 속성에 값을 입력할 때 CHECK 기능을 사용해서 입력값을 검사한다.
정답! ✅
도메인 정의 시 CHECK 제약조건으로 값의 범위나 조건을 설정할 수 있습니다.
age NUMBER(3) CHECK (age BETWEEN 0 AND 120)
➡️ 나이는 0~120 사이 값만 허용 → 도메인의 일부임.
❌ 4) 하나의 릴레이션과 관계된 다른 릴레이션의 FK(Foreign Key) 제약조건이다.
오답! ❌❌❌
요게 바로 “도메인의 개념이 아닌 것”, 즉 정답입니다.
🔻왜냐면:
- FK(외래키)는 두 릴레이션 간의 관계를 정의하는 것이고
- 도메인은 단일 속성의 데이터 형식이나 제약조건에 대한 것입니다.
- 즉, 도메인은 “속성”의 내부적 제약조건, FK는 “릴레이션 간” 외부적 제약조건입니다.
보기 | 옳음 여부 | 이유 |
1 | O | 도메인은 속성의 타입과 크기 포함 |
2 | O | NOT NULL도 도메인 제약조건 가능 |
3 | O | CHECK 조건도 도메인에 포함됨 |
4 | ❌ | FK는 릴레이션 간 관계 → 도메인 아님 |
반응형