[국비학원 기록/DB 미니 프로젝트] 데이터 모델링 실습 02. 사원, 부서, 자격증, 급여 테이블 생성, 명령 프롬포트 테이블 데이터 삽입하는 방법
my code archive
article thumbnail
반응형
사원(TB_EMP), 부서(TB_DEPT), 사원 자격증(TB_EMP_CERTI), 자격증(TB_CERTI),
급여 내역(TB_SAL_HIS), 급여 내역 상세(TB_SAL_HIS_DTL), 급여(TB_SAL)

정보 테이블 생성을 위한 E-R 다이어그램 만들기

 

<급여>

 

<급여 내역>

 

<급여 내역 상세>

 

<부서>

 

<사원>

 

<사원 자격증>

 

<자격증>

 

 

E-R 다이어그램

 

DBEeaver 활용하여 테이블 생성하기

 

ex) TB_DEPT 생성;

DROP TABLE WDSQL.TB_DEPT purge;
DROP TABLE WDSQL.TB_EMP purge;

CREATE TABLE TB_DEPT(
	DEPT_CD			CHAR(6) NOT NULL
,	DEPT_NM			VARCHAR2(150) NOT NULL
,	UPPER_DEPT_CD	CHAR(6)
);

ALTER TABLE WDSQL.TB_DEPT ADD CONSTRAINT PK_TB_DEPT PRIMARY KEY(DEPT_CD);

COMMENT ON COLUMN WDSQL.TB_DEPT.DEPT_CD IS '부서코드';
COMMENT ON COLUMN WDSQL.TB_DEPT.DEPT_NM IS '부서이름';
COMMENT ON COLUMN WDSQL.TB_DEPT.UPPER_DEPT_CD IS '상위부서코드';

INSERT INTO WDSQL.TB_DEPT T(T.DEPT_CD, T.DEPT_NM, T.UPPER_DEPT_CD) VALUES('100001','운영본부','999999');
INSERT INTO WDSQL.TB_DEPT T(T.DEPT_CD, T.DEPT_NM, T.UPPER_DEPT_CD) VALUES('100002','지원팀','100001');
INSERT INTO WDSQL.TB_DEPT T(T.DEPT_CD, T.DEPT_NM, T.UPPER_DEPT_CD) VALUES('100003','기획팀','100001');
INSERT INTO WDSQL.TB_DEPT T(T.DEPT_CD, T.DEPT_NM, T.UPPER_DEPT_CD) VALUES('100004','디자인팀','100001');
INSERT INTO WDSQL.TB_DEPT T(T.DEPT_CD, T.DEPT_NM, T.UPPER_DEPT_CD) VALUES('100005','플랫폼사업본부','999999');
INSERT INTO WDSQL.TB_DEPT T(T.DEPT_CD, T.DEPT_NM, T.UPPER_DEPT_CD) VALUES('100006','데이터팀','100005');
INSERT INTO WDSQL.TB_DEPT T(T.DEPT_CD, T.DEPT_NM, T.UPPER_DEPT_CD) VALUES('100007','개발팀','100005');
INSERT INTO WDSQL.TB_DEPT T(T.DEPT_CD, T.DEPT_NM, T.UPPER_DEPT_CD) VALUES('100008','솔루션사업본부','999999');
INSERT INTO WDSQL.TB_DEPT T(T.DEPT_CD, T.DEPT_NM, T.UPPER_DEPT_CD) VALUES('100009','운영팀','100008');
INSERT INTO WDSQL.TB_DEPT T(T.DEPT_CD, T.DEPT_NM, T.UPPER_DEPT_CD) VALUES('100010','개발팀','100008');
INSERT INTO WDSQL.TB_DEPT T(T.DEPT_CD, T.DEPT_NM, T.UPPER_DEPT_CD) VALUES('100011','신사업본부','999999');
INSERT INTO WDSQL.TB_DEPT T(T.DEPT_CD, T.DEPT_NM, T.UPPER_DEPT_CD) VALUES('100012','인공지능팀','100011');
INSERT INTO WDSQL.TB_DEPT T(T.DEPT_CD, T.DEPT_NM, T.UPPER_DEPT_CD) VALUES('100013','빅데이터팀','100011');
INSERT INTO WDSQL.TB_DEPT T(T.DEPT_CD, T.DEPT_NM, T.UPPER_DEPT_CD) VALUES('999999','회장실',null);

 

CREATE TABLE -> ALTER TABLE ~ ADD CONSTRAINT ~ (PK, FK 설정)
-> COMMENT ON COLUMN~ IS ~ (코멘트 추가)-> INSERT INTO ~ VALUES~ (데이터 삽입)

순서로 반복해주면 된다. 그런데!!

위 코드에서 볼 수 있듯이 많은 분량의 데이터를 일일이 INSERT 하는 것은 매우 비효율적....

그래서 파일을 저장해서 명령 프롬포트로 추가하는 방법이 있다.

 

명령 프롬포트를 통해 테이블에 데이터 삽입하는 방법
1. 데이터 파일을 다운받는다.
(TB_EMP_CERTI_data.sql , TB_EMP_data.sql, TB_SAL_HIS_data.sql, TB_SAL_HIS_DTL_data.sql) 첨부 파일 참고

TB_EMP_CERTI_data.sql
0.01MB
TB_EMP_data.sql
0.02MB
TB_SAL_HIS_data.sql
0.12MB
TB_SAL_HIS_DTL_data.sql
0.35MB

2. Visual Code로 열어서 한글이 깨질 경우 인코딩을 EUC-KR 로 변경 저장

3. 파일을 저장한 경로를 복사해서

4. 명령 프롬포트 창에 입력한다.

5. dir을 입력하고

6. 해당 경로에 파일이 저장되어 있는 것을 확인한 다음

7. @와 함께 파일 이름을 입력해주면 끝!

(나는 이미 INSERT해서 엔터는 치지 않았는데 아마 엔터치면
1행이 추가되었습니다....쭉 뜨고 삽입완료될 것임!)

8. DBeaver (or 다른 툴) 들어가서 확인해보면 데이터가 삽입되어 있다!.
이 많은 걸 일일이 친다고 생각하면....(한숨)

 

이 과정을 반복해서 7개 테이블을 생성하고 나면

 

이렇게 다이어그램이 완성된다!!! 끝!

반응형
profile

my code archive

@얼레벌레 개발자👩‍💻

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

반응형