ORACLE2010. 6. 8. 09:33

참조- 모름; 문제시 삭제 처리하겠습니다-_-

도메인(Domain)


한 애트리뷰트에 나타나는 값들은 하나의 도메인으로부터 유도된다. 도메인(domain)은 한 애트리뷰트에 나타날 수 있는 값들의 집합이다. 각 애트리뷰트의 도메인의 값들은 원자값(도메인 제약조건)이다. 도메인은 프로그래밍 언어의 데이터 타입과 유사하다. 동일한 도메인이 여러 애트리뷰트에서 사용될 수 있다. 관계 데이터 모델에서 복합 애트리뷰트나 다치 애트리뷰트는 허용되지 않는다. 이런 특성을 제1정규형이라 부른다.

도메인의 장점은 한 스키마의 여러 애트리뷰트에서 사용되는 어떤 도메인의 데이터타입을 쉽게 변경할 수 있다는 것이다. 도메인을 정의한 곳에서 도메인 정의를 변경하면 도메인 정의를 사용하는 모든 곳에서 일관되게 적용된다. 도메인 정의에 디폴트값을 지정할 수 있다.

          CREATE DOMAIN DEPTNAME CHAR(10) DEFAULT '개발';

도메인이 더 이상 필요하지 않으면 DROP DOMAIN문을 사용하여 도메인을 제거할 수 있다.

          DROP DOMAIN DEPTNAME RESTRICT;
 
RESTRICT절을 명시하여 도메인을 제거하려 할 때 이 도메인 정의가 애트리뷰트정의에서 참조되고 있으면 도메인 제거가 거절된다.

Posted by Tiwaz