Academy 데이터베이스

03-004_도메인정의.hwp	p.

도메인 정의

030615 손광수

1. 속성 이름 정렬

등급

수강료

강사료

강사 이름

수강생 이름

과목명

교재명

주소

등록 금액

정원

할인율

등록 일자

종료 일자

시작 일자

포인트

주민번호

강사 전화

수강생 전화

과목 ID

과목 ID

강사 ID

강사 ID

수강생 ID

수강생 ID

코스 ID

코스 ID

수강 신청 ID

2. 속성 이름 분류

구분	속성 이름군	설명	도메인 이름
이름	강사 이름, 수강생 이름	짧은 이름	DM_SNAME
	과목명, 교재명	긴 이름	DM_LNAME
	주소	주소	DM_ADDR
날짜	등록 일자	날짜(생략 가능)	DM_DATE_N
	시작 일자, 종료 일자	날짜(생략 불가)	DM_DATE_NN
코드	등급	등급	DM_GRADE
	강사 전화, 수강생 전화	전화	DM_PHONE
	주민번호	주민번호	DM_JUMIN
	과목 ID	2바이트(smallint) IDENTITY 주 키	DM_SID
	강사 ID, 수강생 ID, 코스 ID, 수강 신청 ID	4바이트(int) IDENTITY 주 키	DM_IID
	과목 ID	2바이트(smallint) 외래 키	DM_SFK
	강사 ID, 수강생 ID, 코스 ID	4바이트(int) 외래 키	DM_IFK
수량	포인트	포인트	DM_POINT
	할인율	할인율	DM_DISCNT
	정원	정원	DM_CAPA
금액	강사료, 등록 금액	금액(생략 가능)	DM_PRICE_N
	수강료	금액(생략 불가)	DM_PRICE_NN

3. 도메인 정의

구분	도메인 이름	데이터 형	크기	N/ NN	ID	기본값	유효성 검증(CHECK, Rules)	속성/열 (식별 번호)
이름	DM_SNAME	varchar	10	NN				4, 9
	DM_LNAME	varchar	50	NN				2, 17
	DM_ADDR	varchar	80	N				12
날짜	DM_DATE_N	char	6	N			@date LIKE '[0-9][0-9]0[1-9]0[1-9]' OR @date LIKE '[0-9][0-9]0[1-9][1-2][0-9]' OR @date LIKE '[0-9][0-9]0[1-9]3[0-1]' OR @date LIKE '[0-9][0-9]1[0-2]0[1-9]' OR @date LIKE '[0-9][0-9]1[0-2][1-2][0-9]' OR @date LIKE '[0-9][0-9]1[0-2]3[0-1]'	26
	DM_DATE_NN	char	6	NN				18, 19
코드	DM_GRADE	tinyint		NN		5	grade >= 1 AND grade <= 5	6
	DM_PHONE	varchar	14	N				7, 11
	DM_JUMIN	char	14	NN			jumin LIKE '[0-9][0-9]0[1-9]0[1-9]-[1-2][0-9][0-9][0-9][0-9][0-9][0-9]' OR jumin LIKE '[0-9][0-9]0[1-9][1-2][0-9]-[1-2][0-9][0-9][0-9][0-9][0-9][0-9]' OR jumin LIKE '[0-9][0-9]0[1-9]3[0-1]-[1-2][0-9][0-9][0-9][0-9][0-9][0-9]' OR jumin LIKE '[0-9][0-9]1[0-2]0[1-9]-[1-2][0-9][0-9][0-9][0-9][0-9][0-9]' OR jumin LIKE '[0-9][0-9]1[0-2][1-2][0-9]-[1-2][0-9][0-9][0-9][0-9][0-9][0-9]' OR jumin LIKE '[0-9][0-9]1[0-2]3[0-1]-[1-2][0-9][0-9][0-9][0-9][0-9][0-9]'	5
	DM_SID	smallint		(NN)	Y			1
	DM_IID	int		(NN)	Y			3, 8, 13, 22
	DM_SFK	smallint		NN				14
	DM_IFK	int		NN				15, 23, 24
수량	DM_POINT	tinyint		NN		0	point >= 0 AND point <= 50	10
	DM_DISCNT	tinyint		N			discount_rate >= 0 AND discount_rate <= 50	25
	DM_CAPA	tinyint		NN				16
금액	DM_PRICE_N	int		N				21, 27
	DM_PRICE_NN	int		NN		0		20