본문 바로가기

SQL

프로젝트 테이블 생성: 프로젝트 정보를 저장하기 위한 테이블을 생성합니다.

반응형

프로젝트 정보를 저장하는 테이블은 조직의 다양한 프로젝트를 관리하고 진행 상황을 추적하는 데 중요합니다. 이 테이블은 프로젝트 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: 다른 테이블의 주 키를 참조하는 외래 키입니다.

반응형