교육수강 시스템을 만들기 위해서 기본적인 DB TABLE 정보를 구성하려고 해 메뉴 등록시 메뉴 타입이 "7"인 경우 사용함 DB TABLE 구성 T_EDUCATION(교육정보) EduID INT IDENTITY(1,1) NOT NULL ' 고유 번호 MenuID INT NOT NULL - FK ' 메뉴 고유 번호(T_MENU.MenuID) EduShow BIT NOT NULL ' 공개 여부(True-공개/False-비공개) EduOnline BIT NOT NULL ' 온라인 접수 여부(True-온라인 접수, False-현장접수) FacID INT NOT NULL - FK ' 교육장소-공간 고유 번호(T_FACILITIES.FacID) EduCodeID INT NOT NULL FK ' 교육 유형(T_CODE.CodeID) EduStart DATE NOT NULL ' 교육 시작일 EduEnd DATE NOT NULL ' 교육 종료일 EduApplyStart DATETIME NOT NULL ' 교육 신청 시작일 EduApplyEnd DATETIME NOT NULL ' 교육 신청 종료일 EduRecNumber SMALLINT NOT NULL ' 교육 모집 인원수 EduAppNumber SMALLINT NOT NULL ' 교육 신청 인원수 EduPrice INT NOT NULL ' 교육 요금 EduSubject NVARCHAR(255) NOT NULL ' 강의 제목 EduIntro NVARCHAR(255) NULL ' 간략 소개 EduContent NVARCHAR(MAX) NULL ' 상세 소개 AttachmentCount TINYINT NOT NULL DEFAULT 0 ' 첨부파일 갯수 FirstImagePath NVARCHAR(400) NULL ' 첫번째 이미지 파일 경로 및 파일명 EduDel BIT NOT NULL ' 삭제 여부 EduRegist DATETIME2(0) NOT NULL ' 등록일(SYSUTCDATETIME) EduUpdate DATETIME2(0) NULL ' 최종 수정일(SYSUTCDATETIME) T_EDUCATION_FILE(교육정보 첨부 이미지 파일정보) IDX int IDENTITY(1,1) NOT NULL EduID int NOT NULL - FK Seq tinyint NOT NULL FileName nvarchar(255) NOT NULL FileExt nvarchar(20) NULL FileSize bigint NULL ContentType nvarchar(100) NULL StoredFilePath nvarchar(400) NOT NULL CreatedAt datetime2(3) NOT NULL T_EDUCATION_ITEM(교육정보 기초 항목정보, 즉 항목의 확장성을 고려한 테이블) IDX INT IDENTITY(1,1) NOT NULL EduID int NOT NULL - FK ItemSubject NVARCHAR(50) NOT NULL ' 항목명(예 : 재료비) ItemIntro NVARCHAR(255) NULL ' 항목 내용(예 : 총 6주간 120,000원) ItemOrder TINYINT NOT NULL ' 항목 출력 순서 T_EDUCATION_TIME(교육일정 정보) IDX INT IDENTITY(1,1) NOT NULL EduID int NOT NULL - FK EduDate DATE NOT NULL ' 교육일자 EduContent nvarchar(255) NOT NULL ' 교육 내용 EduDel BIT NOT NULL ' 삭제 여부 EduOrder TINYINT NOT NULL ' 출력 순서 T_EDUCATION_REFUND(환불 정보) RefID INT IDENTITY(1,1) NOT NULL RefOrder TINYINT NOT NULL ' 출력 순서 RefWeekday BIT NOT NULL ' 주중/주말 구분(True-주중/False-주말) RefBefore TINYINT NOT NULL ' 취소기준일자(00 일전) RefPercent TINYINT NOT NULL ' 환불률(이용요금의 00% 환불) RefDel BIT NOT NULL ' 삭제여부 이렇게 기본적으로 교육수강을 위한 DB 테이블을 구성하려 하고, 추후에 회원의 수강신청정보를 추가적으로 구성해야 할 것 같아. 위 내용을 검토해보고 보다 좋은 아이디어가 있으면 알려줄래. 그리고, 테이블 생성/제약조건/트리거(필요시)/인덱스 SQL을 만들어줄래