데이터베이스 설계와 구축(개정판) (2009년)
도메인 정의 0 0 61,037

by 구루비스터디 도메인 [2009.05.17]


  • 도메인이란 엔티티타입 내의 속성에 대한 데이터타입과 크기, 제약 사항을 지정하는 것
  • 속성이 일관된 규칙에 따라 데이터 타입과 크기가 부여 됨으로 모델의 관리가 용이함
  • 정의하는 작업도 중요하지만 도메인이 변경, 추가시에 따른 일관성 유지도 필요함


코드에 대한 도메인
  • 코드 형식의 데이터는 타입이나 길이가 비슷하다 할지라도 각각 독립적인 의미를 가지고 속성이 변할 수 있기 때문에 별도의 도메인을 생성해 주어야 한다.
  • 사원구분코드, 접수구분코드가 같은 도메인으로 관리한다면 사원코드가 늘어날 경우 접수구분코드도 늘어나야 하는 경우 발생.


일련번호
  • 일련번호와 같이 주식별자 관리를 위해 인공적으로 생성한 속성에 대해 도메인을 별도로 부여하여 관리한다.


일반적인 속성
  • 성격에 따라 그룹으로 묶되 길이나 데이터타입별로 묶는 것보다 속성이 의미하는 분류대로 도메인을 구성하는 것이 좋다.


도메인 정의 방법
  • 데이터 모델의 모든 속성을 나열한다.
엔티티타입명속성명
접수접수일련번호

신청자성명

신청자주민번호

신청자주소

신청자전화번호

신청자우편번호

신청자전자메일
사원사원번호

사원성명

사원주민번호

사원전화번호

입사년월
제품제품번호

제품가격

제품수량

제품생성일자


  • 모드 속성 중에 뒤부터 2~4자 정도를 분리해 본다.
엔티티 타입명속성명접미어 2자접미어 3자접미어 4
접수접수일련번호

신청자성명

신청자주민번호

신청자주소

신청자전화번호

신청자우편번호

신청자전자메일
번호

성명

번호

주소

번호

번호

메일
련번호

자성명

민번호

자주소

화번호

편번호

자메일
일련번호

청자성명

주민번호

청자주소

전화번호

우편번호

전자메일
사원사원번호

사원성명

사원주민번호

사원전화번호

입사년월
번호

성명

번호

번호

년월
원번호

원성명

민번호

화번호

사년월
사원번호

사원성명

주민번호

전화번호

입사년월
제품제품번호

제품가격

제품수량

제품생성일자
번호

가격

수량

일자
품번호

품가격

품수량

성일자
제품번호

제품가격

제품수량

생성일자


  • 공통으로 발생하는 접미어를 분리하여 하나로 만든다.
엔티티 타입명속성명접미어 2자접미어 3자접미어 4
접수접수일련번호

신청자성명

신청자주민번호

신청자주소

신청자전화번호

신청자우편번호

신청자전자메일
번호

성명

번호

주소

번호

번호

메일
련번호

자성명

민번호

자주소

화번호

편번호

자메일
일련번호

청자성명

주민번호

청자주소

전화번호

우편번호

전자메일
사원사원번호

사원성명

사원주민번호

사원전화번호

입사년월
번호

성명

번호

번호

년월
원번호

원성명

민번호

화번호

사년월
사원번호

사원성명

주민번호

전화번호

입사년월
제품제품번호

제품가격

제품수량

제품생성일자
번호

가격

수량

일자
품번호

품가격

품수량

성일자
제품번호

제품가격

제품수량

생성일자


  • 분리된 접미어를 비슷한 것끼리 묶어 이름을 부여한다.
도메인 구분도메인명
번호접수일련번호

주민번호

전화번호

우편번호

사원번호

제품번호
날짜일자

년월
수량수량(N,7)

수량(M,10)
금액금액(N,10)

금액(F,10)
주소주소
성명이름(V,40)

이름(V,80)
ID전자메일


  • 각 도메인별로 데이터 타입과 길이를 지정한다.
도메인 구분도메인명도메인타입비고
번호접수일련번호

주민번호

전화번호

우편번호

사원번호

제품번호
VARCHAR2(10)

VARCHAR2(13)

VARCHAR2(14)

CHAR(7)

VARCHAR2(10)

VARCHAR2(14)


'-' 제외
'-' 제외할 수 있음
'-' 포함


YYYYMMDD+SEQ(4)
날짜일자

년월
VARCHAR2(8)
VARCHAR2(6)
YYYYMMDD형식의 텍스트
YYYYMMDD형식의 텍스트
수량수량(N,7)

수량(M,10)
NUMBER(7)
NUMBER(7)
금액금액(N,10)

금액(F,10)
NUMBER(10)
NUMBER(10,2)
일반금액
소수점을 포함한 금액
주소주소VARCHAR2(120)
성명이름(V,40)

이름(V,80)
VARCHAR2(40)
VARCHAR2(80)
짧은이름
긴이름
ID전자메일VARCHAR2(40)


  • 각 엔티티타입의 속성에 도메인을 할당한다.
엔티티타입명속성명도메인데이터타입
접수접수일련번호접수일련번호VARCHAR2(10)
접수신청자성명이름(V,40)VARCHAR2(40)
접수신정자주민번호주민번호VARCHAR2(13)
접수신청자주소주소VARCHAR2(120)
접수신청자전화번호전화번호VARCHAR2(18)
접수신청자우편번호우편번호CHAR(7)
접수신청자전자메일전자메일VARCHAR2(40)
사원사원번호사원번호VARCHAR2(10)
사원사원성명이름(V,40)VARCHAR2(40)
사원사원주민번호주민번호VARCHAR2(13)
사원사원전화번호전화번호VARCHAR2(18)
사원입사년월일자VARCHAR2(8)
제품제품번호제품번호VARCHAR2(14)
제품제품가격금액(F,10)NUMBER(10,2)
제품제품수량수량(N,10)NUMBER(10)
제품제품생성일자년월CHAR(6)
"구루비 데이터베이스 스터디모임" 에서 2009년에 "데이터베이스 설계와 구축(개정판)" 도서를 스터디하면서 정리한 내용 입니다.

- 강좌 URL : http://www.gurubee.net/lecture/4180

- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^

- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입