본문 바로가기

SQL

일정 테이블 생성: 업무 일정 정보를 저장하기 위한 테이블을 생성합니다.

반응형

업무 일정 정보를 저장하는 테이블은 직원들의 업무 계획, 회의 일정, 프로젝트 마일스톤 등을 관리하는 데 중요합니다. 이 테이블은 일정 ID, 제목, 설명, 시작일, 종료일, 참여자, 상태, 우선 순위 등의 정보를 포함할 수 있습니다. 다음은 업무 일정 정보를 저장하기 위한 테이블 생성을 위한 SQL 쿼리문 예제와 각각의 설명입니다.


1. 기본 업무 일정 테이블 생성
CREATE TABLE schedules (
    schedule_id INT AUTO_INCREMENT PRIMARY KEY,
    title VARCHAR(100),
    description TEXT,
    start_date TIMESTAMP,
    end_date TIMESTAMP,
    status VARCHAR(50),
    priority VARCHAR(50)
);
설명: 일정의 제목, 설명, 시작일, 종료일, 상태, 우선 순위 등을 저장합니다.

 

2. 일정 참여자 테이블 생성
CREATE TABLE schedule_participants (
    participant_id INT AUTO_INCREMENT PRIMARY KEY,
    schedule_id INT,
    employee_id INT,
    role VARCHAR(100),
    FOREIGN KEY (schedule_id) REFERENCES schedules(schedule_id),
    FOREIGN KEY (employee_id) REFERENCES employees(employee_id)
);
설명: 각 일정에 참여하는 직원과 그들의 역할을 저장합니다.

 

3. 일정 알림 테이블 생성
CREATE TABLE schedule_notifications (
    notification_id INT AUTO_INCREMENT PRIMARY KEY,
    schedule_id INT,
    notification_time TIMESTAMP,
    message TEXT,
    FOREIGN KEY (schedule_id) REFERENCES schedules(schedule_id)
);
설명: 일정 관련 알림 시간과 메시지를 저장합니다.

 

4. 일정 반복 규칙 테이블 생성
CREATE TABLE recurring_rules (
    rule_id INT AUTO_INCREMENT PRIMARY KEY,
    schedule_id INT,
    recurrence_type VARCHAR(50),
    interval_count INT,
    FOREIGN KEY (schedule_id) REFERENCES schedules(schedule_id)
);
설명: 반복되는 일정의 규칙(예: 매주, 매월)과 간격을 저장합니다.

 

5. 일정 변경 기록 테이블 생성
CREATE TABLE schedule_changes (
    change_id INT AUTO_INCREMENT PRIMARY KEY,
    schedule_id INT,
    change_time TIMESTAMP,
    change_description TEXT,
    FOREIGN KEY (schedule_id) REFERENCES schedules(schedule_id)
);
설명: 일정 변경 사항과 변경 시간을 기록합니다.

 

6. 일정 우선 순위 테이블 생성
CREATE TABLE schedule_priorities (
    priority_id INT AUTO_INCREMENT PRIMARY KEY,
    schedule_id INT,
    priority_level VARCHAR(50),
    FOREIGN KEY (schedule_id) REFERENCES schedules(schedule_id)
);
설명: 일정의 우선 순위 레벨을 저장합니다.

 

7. 일정 카테고리 테이블 생성
CREATE TABLE schedule_categories (
    category_id INT AUTO_INCREMENT PRIMARY KEY,
    schedule_id INT,
    category_name VARCHAR(100),
    FOREIGN KEY (schedule_id) REFERENCES schedules(schedule_id)
);
설명: 일정이 속한 카테고리를 저장합니다.

 

8. 일정 연관 문서 테이블 생성
CREATE TABLE schedule_documents (
    document_id INT AUTO_INCREMENT PRIMARY KEY,
    schedule_id INT,
    document_url TEXT,
    document_type VARCHAR(50),
    upload_date TIMESTAMP,
    FOREIGN KEY (schedule_id) REFERENCES schedules(schedule_id)
);
설명: 일정과 관련된 문서의 URL, 유형, 업로드 날짜를 저장합니다.

 

9. 일정 관련 태그 테이블 생성
CREATE TABLE schedule_tags (
    tag_id INT AUTO_INCREMENT PRIMARY KEY,
    schedule_id INT,
    tag_name VARCHAR(50),
    FOREIGN KEY (schedule_id) REFERENCES schedules(schedule_id)
);
설명: 일정에 할당된 태그를 저장합니다.

 

10. 일정 충돌 기록 테이블 생성
CREATE TABLE schedule_conflicts (
    conflict_id INT AUTO_INCREMENT PRIMARY KEY,
    schedule_id INT,
    conflicting_schedule_id INT,
    detected_time TIMESTAMP,
    resolution TEXT,
    FOREIGN KEY (schedule_id) REFERENCES schedules(schedule_id),
    FOREIGN KEY (conflicting_schedule_id) REFERENCES schedules(schedule_id)
);
설명: 다른 일정과의 충돌 사항, 충돌 감지 시간, 해결 방안을 기록합니다.

관련 전문용어 설명
CREATE TABLE: 새로운 테이블을 생성하는 SQL 명령어입니다.
INT, VARCHAR, TIMESTAMP, TEXT: 데이터 유형을 나타냅니다.
AUTO_INCREMENT: 자동으로 숫자를 증가시키는 속성입니다.
PRIMARY KEY: 각 행을 고유하게 식별하는 주 키입니다.
FOREIGN KEY: 다른 테이블의 주 키를 참조하는 외래 키입니다.

반응형