---------------------------------------------------
-- 휴일 관리
---------------------------------------------------


CREATE TABLE CmHoliday
(
	SiteId				int				NOT NULL ,			-- 현장 고유번호	
	HolidayMonth		smallint		NOT NULL ,			-- 휴일 월
	HolidayDay			smallint		NOT NULL ,			-- 휴일 일
	IsLunar				bit				NOT NULL ,			-- 음력 날
	Name				nvarchar(16)	NOT NULL ,			-- 사용자 이름
	IsUse				bit				NULL ,				-- 사용 유무
	
	PRIMARY KEY (SiteId ASC , HolidayMonth ASC , HolidayDay ASC , IsLunar ASC)
);

CREATE TABLE CmHolidayCustom
(
	SiteId				int				NOT NULL ,			-- 현장 고유번호
	HolidayDate			datetime		NOT NULL ,			-- 휴일 날짜
	Name				nvarchar(16)	NOT NULL ,			-- 사용자 이름
	IsUse				bit				NULL ,				-- 사용 유무
	
	PRIMARY KEY (SiteId ASC , HolidayDate ASC)
);

CREATE TABLE CmHolidayWeekend
(
	SiteId				int  NOT NULL ,						-- 현장 고유번호
	Saturday			bit  NOT NULL ,						-- 토요일
	Sunday				bit  NOT NULL ,						-- 일요일
	IsUse				bit  NULL ,							-- 사용 유무
	
	PRIMARY KEY (SiteId ASC)
);


ALTER TABLE CmHoliday
	ADD CONSTRAINT FK__CmHoliday__CmSite
		FOREIGN KEY (SiteId) REFERENCES CmSite(SiteId)
;

ALTER TABLE CmHolidayCustom
	ADD CONSTRAINT FK__CmHolidayCustom__CmSite 
		FOREIGN KEY (SiteId) REFERENCES CmSite(SiteId)
;

ALTER TABLE CmHolidayWeekend
	ADD CONSTRAINT FK__CmHolidayWeekend__CmSite
		FOREIGN KEY (SiteId) REFERENCES CmSite(SiteId)
;
