직원 정보를 저장하는 테이블은 회사의 인적 자원 관리, 급여 계산, 업무 배정 등 다양한 인사 관련 업무를 수행하는 데 중요합니다. 이 테이블은 직원 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: 다른 테이블의 주 키를 참조하는 외래 키입니다.
'SQL' 카테고리의 다른 글
일정 테이블 생성: 업무 일정 정보를 저장하기 위한 테이블을 생성합니다. (0) | 2024.01.01 |
---|---|
프로젝트 테이블 생성: 프로젝트 정보를 저장하기 위한 테이블을 생성합니다. (0) | 2024.01.01 |
마켓플레이스 데이터 테이블 생성: 마켓플레이스 데이터를 저장하기 위한 테이블을 생성합니다. (0) | 2023.12.31 |
상품 추천 정보 테이블 생성: 상품 추천 정보를 저장하기 위한 테이블을 생성합니다. (0) | 2023.12.31 |
고객 로그인 테이블 생성: 고객 로그인 정보를 저장하기 위한 테이블을 생성합니다. (0) | 2023.12.31 |