SQL
[실습 1] 인사관리를 위한 테이블 생성하기
코린이도이
2021. 7. 1. 17:39
1. 부서 테이블 생성하기
컬럼 | detpno | dname | loc |
컬럼 설명 | 부서코드 | 부서명 | 지역 |
데이터유형 | 숫자 | 문자(20) | 문자(20) |
제약조건 | primary key | not null |
CREATE TABLE dept ( deptno integer primary key, dname varchar(20) not null, loc varchar(20) ); |
2. 직급 테이블 생성하기
컬럼 | jikgb_code | jikgb_name | jikgb_sort |
컬럼 설명 | 직급코드 | 직급명칭 | 소트순서 |
데이터유형 | 문자(2) | 문자(20) | 문자(2) |
제약조건 | primary key | not null |
CREATE TABLE jikgb ( jikgb_code char(2) primary key, jikgb_name varchar(20) not null, jikgb_sort char(2) ); |
3. 사원 테이블 생성하기
컬럼 | empno | ename | deptno | jikgb_code | hiredate | birth_date |
컬럼 설명 | 사원번호 | 사원명 | 부서코드 | 직급코드 | 입사일 | 생년월일 |
데이터유형 | 숫자 | 문자(20) | 숫자 | 문자(2) | DATE | 문자(8) |
제약조건 | primary key | not null | dept (deptno) 참조 |
jikgb (jikgb_code) 참조 |
CREATE TABLE emp ( empno integer primary key, ename varchar(20) not null, deptno integer references dept(deptno), jikgb_code char(2) references jikgb(jikgb_code), hiredate date, brith_date char(8) ); |
4. 부양 가족 테이블 생성하기
컬럼 | empno | f_code | f_name |
컬럼설명 | 사번 | 관계코드 | 가족이름 |
데이터유형 | 숫자 | 숫자 | 문자(20) |
제약조건 | primary key | primary key | not null |
CREATE TABLE family ( empno integer, f_code integer, f_name varchar(20) not null, primary key (empno, f_code) ); |
5. 급여지급 테이블 생성하기
컬럼 | yymm | empno | gubun | total_amt | deduct_amt | pay_amt |
컬럼설명 | 급여월 | 사원번호 | 급여구분 | 지금총액 | 공제총액 | 차감지급액 |
데이터유형 | 문자(6) | 숫자 | 문자(1) | 숫자 | 숫자 | 숫자 |
제약조건 | primary key | primary key | primary key |
CREATE TABEL salary ( yymm char(6), empno integer, gubun char(1), total_amt integer, deduct_amt integer, pay_amt integer, primary key (yymm, empno, gubun) ); |