본문 바로가기

SQL

직원 테이블 생성: 회사 직원 정보를 저장하기 위한 테이블을 생성합니다.

반응형


직원 정보를 저장하는 테이블은 회사의 인적 자원 관리, 급여 계산, 업무 배정 등 다양한 인사 관련 업무를 수행하는 데 중요합니다. 이 테이블은 직원 ID, 이름, 주소, 연락처, 직급, 부서, 입사일, 급여 등의 정보를 포함할 수 있습니다. 다음은 회사 직원 정보를 저장하기 위한 테이블 생성을 위한 SQL 쿼리문 예제와 각각의 설명입니다.

1. 기본 직원 테이블 생성
CREATE TABLE employees (
    employee_id INT AUTO_INCREMENT PRIMARY KEY,
    first_name VARCHAR(50),
    last_name VARCHAR(50),
    address TEXT,
    phone_number VARCHAR(15),
    email VARCHAR(100),
    position VARCHAR(100),
    department VARCHAR(100),
    hire_date DATE,
    salary DECIMAL(10, 2)
);
설명: 직원의 기본적인 정보, 연락처, 직급, 부서, 입사일, 급여 등을 저장합니다.

 

2. 직원 교육 기록 테이블 생성
CREATE TABLE employee_training (
    training_id INT AUTO_INCREMENT PRIMARY KEY,
    employee_id INT,
    training_program VARCHAR(100),
    start_date DATE,
    end_date DATE,
    result TEXT,
    FOREIGN KEY (employee_id) REFERENCES employees(employee_id)
);
설명: 직원이 받은 교육 프로그램, 교육 기간, 결과 등을 기록합니다.

 

3. 직원 평가 테이블 생성
CREATE TABLE employee_evaluations (
    evaluation_id INT AUTO_INCREMENT PRIMARY KEY,
    employee_id INT,
    evaluation_date DATE,
    evaluator_id INT,
    performance_rating DECIMAL(3, 2),
    comments TEXT,
    FOREIGN KEY (employee_id) REFERENCES employees(employee_id)
);
설명: 직원의 성과 평가 날짜, 평가자, 성과 등급, 코멘트 등을 저장합니다.

 

4. 직원 근태 기록 테이블 생성
CREATE TABLE attendance_records (
    record_id INT AUTO_INCREMENT PRIMARY KEY,
    employee_id INT,
    date DATE,
    status VARCHAR(50),
    FOREIGN KEY (employee_id) REFERENCES employees(employee_id)
);
설명: 직원의 출근, 결근, 지각 등 근태 상태를 날짜별로 기록합니다.

 

5. 직원 급여 기록 테이블 생성
CREATE TABLE payroll_records (
    payroll_id INT AUTO_INCREMENT PRIMARY KEY,
    employee_id INT,
    pay_period_start DATE,
    pay_period_end DATE,
    total_hours_worked DECIMAL(5, 2),
    gross_pay DECIMAL(10, 2),
    deductions DECIMAL(10, 2),
    net_pay DECIMAL(10, 2),
    FOREIGN KEY (employee_id) REFERENCES employees(employee_id)
);
설명: 급여 지급 기간, 총 근무 시간, 총 급여, 공제액, 실 수령액 등을 기록합니다.

 

6. 직원 휴가 기록 테이블 생성
CREATE TABLE vacation_records (
    vacation_id INT AUTO_INCREMENT PRIMARY KEY,
    employee_id INT,
    start_date DATE,
    end_date DATE,
    vacation_type VARCHAR(50),
    status VARCHAR(50),
    FOREIGN KEY (employee_id) REFERENCES employees(employee_id)
);
설명: 직원의 휴가 시작일, 종료일, 휴가 유형, 상태 등을 저장합니다.

 

7. 직원 비상 연락처 테이블 생성
CREATE TABLE emergency_contacts (
    contact_id INT AUTO_INCREMENT PRIMARY KEY,
    employee_id INT,
    contact_name VARCHAR(100),
    relationship VARCHAR(50),
    phone_number VARCHAR(15),
    address TEXT,
    FOREIGN KEY (employee_id) REFERENCES employees(employee_id)
);
설명: 직원의 비상 연락처 이름, 관계, 전화번호, 주소 등을 저장합니다.

 

8. 직원 승진 기록 테이블 생성
CREATE TABLE promotion_records (
    promotion_id INT AUTO_INCREMENT PRIMARY KEY,
    employee_id INT,
    promotion_date DATE,
    new_position VARCHAR(100),
    new_salary DECIMAL(10, 2),
    FOREIGN KEY (employee_id) REFERENCES employees(employee_id)
);
설명: 직원의 승진 날짜, 새 직급, 새 급여 등을 기록합니다.

 

9. 직원 이직 기록 테이블 생성
CREATE TABLE turnover_records (
    turnover_id INT AUTO_INCREMENT PRIMARY KEY,
    employee_id INT,
    departure_date DATE,
    reason TEXT,
    FOREIGN KEY (employee_id) REFERENCES employees(employee_id)
);
설명: 직원의 퇴사 날짜와 이직 사유를 기록합니다.

 

10. 직원 역할 권한 테이블 생성
CREATE TABLE role_permissions (
    permission_id INT AUTO_INCREMENT PRIMARY KEY,
    employee_id INT,
    role_name VARCHAR(100),
    permissions TEXT,
    FOREIGN KEY (employee_id) REFERENCES employees(employee_id)
);
설명: 직원의 역할과 해당 역할에 할당된 권한을 저장합니다.

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

반응형