[SI] 프로젝트 6주차

소복치·2025년 2월 10일

이번주에는 저번주에 짠 코드가 잘 들어가는지 보기위해서
고객사한테 받은 데이터를 집어 넣어보려고한다(실데이터x)

우선 나는 무료 DB 툴인 Dbeaver를 이용해 Tibero를 연동하여 사용할 것이다.

(Dbeaver 설치 및 연동 관련 내용은 검색하면 많으니 생략)

1. Tibero란?

Tibero는 오라클과 흡사한 구조를 가지고있는 DB 이다.

Tibero와 오라클의 차이점이라고 하면,
오라클은 높은 라이선스비용과 유지보수 비용이 부담될 수 있지만,
티베로는 합리적인 가격으로 위와 같은 문제를 해결할 수 있다.

대부분의 오라클과 문법이 같기때문에, 오라클을 잘 사용할 줄 아는 개발자라면
Tibero 사용하는것도 문제는 없어보인다.

2. 테이블 생성

CREATE TABLE Employee (
    emp_id      NUMBER(10) PRIMARY KEY,  -- 직원 ID (기본 키)
    emp_name    VARCHAR2(50) NOT NULL,   -- 직원 이름
    dept_id     NUMBER(10) NOT NULL,     -- 부서 ID (외래 키)
    position    VARCHAR2(50),            -- 직급
    salary      NUMBER(15,2),            -- 급여
    hire_date   DATE DEFAULT SYSDATE,    -- 입사일 (기본값: 현재 날짜)
    email       VARCHAR2(100) UNIQUE     -- 이메일 (고유 값)
);
  1. PRIMARY KEY : emp_id는 직원 테이블의 기본 키로 설정
  2. NOT NULL : emp_name과 dept_id는 반드시 입력해야 함
  3. DEFAULT SYSDATE : hire_date는 기본값으로 현재 날짜 설정
  4. UNIQUE : email은 중복되지 않도록 설정

3. 기본키(PK)생성

CREATE TABLE Employee (
    emp_id      NUMBER(10),  -- 직원 ID
    emp_name    VARCHAR2(50) NOT NULL,  -- 직원 이름
    dept_id     NUMBER(10) NOT NULL,    -- 부서 ID
    position    VARCHAR2(50),           -- 직급
    salary      NUMBER(15,2),           -- 급여
    hire_date   DATE DEFAULT SYSDATE,   -- 입사일 (기본값: 현재 날짜)
    email       VARCHAR2(100) UNIQUE,   -- 이메일 (고유 값)
    
    CONSTRAINT pk_employee PRIMARY KEY (emp_id)  -- 기본 키 설정
);

2번 예시처럼 기본키를 설정할 수 있지만 3번과 같이도 기본키를 설정 가능하다.

기본 키를 나중에 추가하는 방법

ALTER TABLE Employee
ADD CONSTRAINT pk_employee PRIMARY KEY (emp_id);

4. 테이블 & 컬럼 코멘트 추가

-- 테이블에 대한 설명 추가
COMMENT ON TABLE Employee IS '회사 직원 정보를 저장하는 테이블';

-- 컬럼별 설명 추가
COMMENT ON COLUMN Employee.emp_id IS '직원 ID (고유번호)';
COMMENT ON COLUMN Employee.emp_name IS '직원 이름';
COMMENT ON COLUMN Employee.dept_id IS '부서 ID (부서 테이블과 연결됨)';
COMMENT ON COLUMN Employee.position IS '직급 (예: 사원, 대리, 과장)';
COMMENT ON COLUMN Employee.salary IS '월 급여 (단위: 원)';
COMMENT ON COLUMN Employee.hire_date IS '입사 날짜';
COMMENT ON COLUMN Employee.email IS '직원의 이메일 주소 (유일해야 함)';

이처럼 테이블 생성 및 코멘트 추가하는 모든 쿼리들은 오라클과 다를게 없다.
이제 데이터를 받아 테이블에 적재하는거까지 완벽하게 된 결과를 볼 수 있었다.
(결과 사진은 캡쳐 불가능하므로 생략)

다만, 문제점이 있다면 전에 작성했던 코드에서 컬럼명이 없는 데이터를 받기 때문에
컬럼명을 고객사와 약속한 순서대로 적지않는다면 데이터의 규칙이 어긋나 오류가 나기때문에
이점을 제일 주의해야만 했다.

profile
오늘 터져도내일 다시극복

0개의 댓글