업무 일정 정보를 저장하는 테이블은 직원들의 업무 계획, 회의 일정, 프로젝트 마일스톤 등을 관리하는 데 중요합니다. 이 테이블은 일정 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: 다른 테이블의 주 키를 참조하는 외래 키입니다.
'SQL' 카테고리의 다른 글
학생 성적 테이블 생성: 학생 성적 정보를 저장하기 위한 테이블을 생성합니다. (0) | 2024.01.01 |
---|---|
고객 지원 티켓 테이블 생성: 고객 지원 티켓 정보를 저장하기 위한 테이블을 생성합니다. (1) | 2024.01.01 |
프로젝트 테이블 생성: 프로젝트 정보를 저장하기 위한 테이블을 생성합니다. (0) | 2024.01.01 |
직원 테이블 생성: 회사 직원 정보를 저장하기 위한 테이블을 생성합니다. (1) | 2024.01.01 |
마켓플레이스 데이터 테이블 생성: 마켓플레이스 데이터를 저장하기 위한 테이블을 생성합니다. (0) | 2023.12.31 |