프로젝트 정보를 저장하는 테이블은 조직의 다양한 프로젝트를 관리하고 진행 상황을 추적하는 데 중요합니다. 이 테이블은 프로젝트 ID, 이름, 설명, 시작일, 종료일, 상태, 참여 직원, 예산 등의 정보를 포함할 수 있습니다. 다음은 프로젝트 정보를 저장하기 위한 테이블 생성을 위한 SQL 쿼리문 예제와 각각의 설명입니다.
기본 프로젝트 테이블 생성
1. CREATE TABLE projects (
project_id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100),
description TEXT,
start_date DATE,
end_date DATE,
status VARCHAR(50),
budget DECIMAL(10, 2)
);
설명: 프로젝트의 이름, 설명, 시작일, 종료일, 상태, 예산 등을 저장합니다.
2. 프로젝트 팀원 테이블 생성
CREATE TABLE project_members (
member_id INT AUTO_INCREMENT PRIMARY KEY,
project_id INT,
employee_id INT,
role VARCHAR(100),
join_date DATE,
end_date DATE,
FOREIGN KEY (project_id) REFERENCES projects(project_id),
FOREIGN KEY (employee_id) REFERENCES employees(employee_id)
);
설명: 프로젝트에 참여하는 팀원과 역할, 참여 기간을 저장합니다.
3. 프로젝트 태스크 테이블 생성
CREATE TABLE project_tasks (
task_id INT AUTO_INCREMENT PRIMARY KEY,
project_id INT,
name VARCHAR(100),
description TEXT,
assignee_id INT,
start_date DATE,
due_date DATE,
status VARCHAR(50),
FOREIGN KEY (project_id) REFERENCES projects(project_id),
FOREIGN KEY (assignee_id) REFERENCES employees(employee_id)
);
설명: 프로젝트의 각 태스크, 담당자, 기간, 상태 등을 저장합니다.
4. 프로젝트 진행 상황 테이블 생성
CREATE TABLE project_progress (
progress_id INT AUTO_INCREMENT PRIMARY KEY,
project_id INT,
update_date DATE,
progress_description TEXT,
completion_percentage DECIMAL(5, 2),
FOREIGN KEY (project_id) REFERENCES projects(project_id)
);
설명: 프로젝트의 진행 상황 업데이트, 완료 비율 등을 기록합니다.
5. 프로젝트 문서 테이블 생성
CREATE TABLE project_documents (
document_id INT AUTO_INCREMENT PRIMARY KEY,
project_id INT,
document_type VARCHAR(50),
document_url TEXT,
upload_date DATE,
FOREIGN KEY (project_id) REFERENCES projects(project_id)
);
설명: 프로젝트 관련 문서의 유형, URL, 업로드 날짜를 저장합니다.
6. 프로젝트 비용 테이블 생성
CREATE TABLE project_costs (
cost_id INT AUTO_INCREMENT PRIMARY KEY,
project_id INT,
cost_type VARCHAR(50),
amount DECIMAL(10, 2),
date_incurred DATE,
FOREIGN KEY (project_id) REFERENCES projects(project_id)
);
설명: 프로젝트의 각종 비용 유형과 금액, 발생 날짜를 기록합니다.
7. 프로젝트 이슈 테이블 생성
CREATE TABLE project_issues (
issue_id INT AUTO_INCREMENT PRIMARY KEY,
project_id INT,
issue_description TEXT,
resolution TEXT,
status VARCHAR(50),
reported_date DATE,
resolved_date DATE,
FOREIGN KEY (project_id) REFERENCES projects(project_id)
);
설명: 프로젝트에서 발생한 이슈, 해결책, 상태, 보고 날짜, 해결 날짜를 저장합니다.
8. 프로젝트 미팅 기록 테이블 생성
CREATE TABLE project_meetings (
meeting_id INT AUTO_INCREMENT PRIMARY KEY,
project_id INT,
meeting_date DATE,
agenda TEXT,
minutes TEXT,
FOREIGN KEY (project_id) REFERENCES projects(project_id)
);
설명: 프로젝트 관련 미팅 날짜, 의제, 회의록을 저장합니다.
9. 프로젝트 스테이크홀더 테이블 생성
CREATE TABLE project_stakeholders (
stakeholder_id INT AUTO_INCREMENT PRIMARY KEY,
project_id INT,
name VARCHAR(100),
role VARCHAR(50),
contact_info TEXT,
FOREIGN KEY (project_id) REFERENCES projects(project_id)
);
설명: 프로젝트의 스테이크홀더 이름, 역할, 연락처 정보를 저장합니다.
10. 프로젝트 리스크 테이블 생성
CREATE TABLE project_risks (
risk_id INT AUTO_INCREMENT PRIMARY KEY,
project_id INT,
risk_description TEXT,
mitigation_strategy TEXT,
impact_level VARCHAR(50),
likelihood VARCHAR(50),
FOREIGN KEY (project_id) REFERENCES projects(project_id)
);
설명: 프로젝트의 리스크, 완화 전략, 영향 수준, 발생 가능성을 기록합니다.
관련 전문용어 설명
CREATE TABLE: 새로운 테이블을 생성하는 SQL 명령어입니다.
INT, VARCHAR, DECIMAL, DATE, TEXT: 데이터 유형을 나타냅니다.
AUTO_INCREMENT: 자동으로 숫자를 증가시키는 속성입니다.
PRIMARY KEY: 각 행을 고유하게 식별하는 주 키입니다.
FOREIGN KEY: 다른 테이블의 주 키를 참조하는 외래 키입니다.
'SQL' 카테고리의 다른 글
고객 지원 티켓 테이블 생성: 고객 지원 티켓 정보를 저장하기 위한 테이블을 생성합니다. (1) | 2024.01.01 |
---|---|
일정 테이블 생성: 업무 일정 정보를 저장하기 위한 테이블을 생성합니다. (0) | 2024.01.01 |
직원 테이블 생성: 회사 직원 정보를 저장하기 위한 테이블을 생성합니다. (1) | 2024.01.01 |
마켓플레이스 데이터 테이블 생성: 마켓플레이스 데이터를 저장하기 위한 테이블을 생성합니다. (0) | 2023.12.31 |
상품 추천 정보 테이블 생성: 상품 추천 정보를 저장하기 위한 테이블을 생성합니다. (0) | 2023.12.31 |