반응형
샘플 데이터 Github: GitHub - 7ieon/SQLtune
GitHub - 7ieon/SQLtune
Contribute to 7ieon/SQLtune development by creating an account on GitHub.
github.com
[ <> Code ] > [ Download ZIP ] 으로 다운로드
강사 기준: "C:\Users\Administrator\Downloads\SQLtune-main" 경로에 압축을 해제하였음
> mysql -uroot -p --port {MySQL Port번호} < data_setting.sql

tunning 데이터베이스가 생성되고 테이블들도 함께 생성이 되는데 테이블명, 컬러명이 모두 한글로 되어 있다. 혹시 한글이 불편하다면 영어로 변경하도록 하자. 아래는 영어로 변경하는 DDL 스크립트이다.
USE tuning;
-- 급여 → salaries
ALTER TABLE `급여` RENAME TO `salaries`;
ALTER TABLE `salaries`
CHANGE COLUMN `사원번호` `emp_no` INT NOT NULL,
CHANGE COLUMN `연봉` `salary` INT NOT NULL,
CHANGE COLUMN `시작일자` `from_date` DATE NOT NULL,
CHANGE COLUMN `종료일자` `to_date` DATE NOT NULL,
CHANGE COLUMN `사용여부` `use_yn` CHAR(1) DEFAULT '';
-- 부서 → departments
ALTER TABLE `부서` RENAME TO `departments`;
ALTER TABLE `departments`
CHANGE COLUMN `부서번호` `dept_no` CHAR(4) NOT NULL,
CHANGE COLUMN `부서명` `dept_name` VARCHAR(40) NOT NULL,
CHANGE COLUMN `비고` `remark` VARCHAR(40) DEFAULT NULL;
-- 부서관리자 → dept_manager
ALTER TABLE `부서관리자` RENAME TO `dept_manager`;
ALTER TABLE `dept_manager`
CHANGE COLUMN `사원번호` `emp_no` INT NOT NULL,
CHANGE COLUMN `부서번호` `dept_no` CHAR(4) NOT NULL,
CHANGE COLUMN `시작일자` `from_date` DATE NOT NULL,
CHANGE COLUMN `종료일자` `to_date` DATE NOT NULL;
-- 부서사원_매핑 → dept_emp
ALTER TABLE `부서사원_매핑` RENAME TO `dept_emp`;
ALTER TABLE `dept_emp`
CHANGE COLUMN `사원번호` `emp_no` INT NOT NULL,
CHANGE COLUMN `부서번호` `dept_no` CHAR(4) NOT NULL,
CHANGE COLUMN `시작일자` `from_date` DATE NOT NULL,
CHANGE COLUMN `종료일자` `to_date` DATE NOT NULL;
-- 사원 → employees
ALTER TABLE `사원` RENAME TO `employees`;
ALTER TABLE `employees`
CHANGE COLUMN `사원번호` `emp_no` INT NOT NULL,
CHANGE COLUMN `생년월일` `birth_date` DATE NOT NULL,
CHANGE COLUMN `이름` `first_name` VARCHAR(14) NOT NULL,
CHANGE COLUMN `성` `last_name` VARCHAR(16) NOT NULL,
CHANGE COLUMN `성별` `gender` ENUM('M','F') NOT NULL,
CHANGE COLUMN `입사일자` `hire_date` DATE NOT NULL;
-- 사원출입기록 → emp_access_logs (원본에는 없지만 보존 목적)
ALTER TABLE `사원출입기록` RENAME TO `emp_access_logs`;
ALTER TABLE `emp_access_logs`
CHANGE COLUMN `순번` `id` INT NOT NULL AUTO_INCREMENT,
CHANGE COLUMN `사원번호` `emp_no` INT NOT NULL,
CHANGE COLUMN `입출입시간` `access_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
CHANGE COLUMN `입출입구분` `access_type` CHAR(1) NOT NULL,
CHANGE COLUMN `출입문` `door` CHAR(1) DEFAULT NULL,
CHANGE COLUMN `지역` `area` CHAR(1) DEFAULT NULL;
-- 직급 → titles
ALTER TABLE `직급` RENAME TO `titles`;
ALTER TABLE `titles`
CHANGE COLUMN `사원번호` `emp_no` INT NOT NULL,
CHANGE COLUMN `직급명` `title` VARCHAR(50) NOT NULL,
CHANGE COLUMN `시작일자` `from_date` DATE NOT NULL,
CHANGE COLUMN `종료일자` `to_date` DATE DEFAULT NULL;
반응형
'SQL심화-Training' 카테고리의 다른 글
| 2025-02-SQL심화 (0) | 2025.11.06 |
|---|---|
| 은행 업무 관리 시스템 - 요구사항 (0) | 2025.04.01 |
| 간편 은행 스키마 (0) | 2025.03.27 |
| 4장 악성 SQL 튜닝으로 초보자 탈출하기 - (2) (0) | 2025.03.25 |
| 4장 악성 SQL 튜닝으로 초보자 탈출하기 - (1) (0) | 2025.03.25 |