Oracle Database 기초

Oracle Database는 전 세계적으로 가장 널리 사용되는 엔터프라이즈급 관계형 데이터베이스 관리 시스템(RDBMS)입니다. 높은 신뢰성과 확장성을 자랑합니다.

개요

Oracle Database는 대용량 데이터 처리, 높은 가용성, 강력한 보안 기능으로 인해 금융, 통신, 공공기관 등 안정성이 중요한 분야에서 주로 사용됩니다. 데이터베이스 객체를 논리적으로 그룹화하는 스키마(Schema) 개념이 특징이며, SQL 외에 PL/SQL이라는 프로그래밍 언어를 사용하여 복잡한 로직을 구현할 수 있습니다.

참고

Oracle Database는 상용 소프트웨어로, 일반적으로 라이선스 비용이 발생합니다. 하지만 학습이나 개발 목적으로 사용할 수 있는 무료 버전(Oracle Database Express Edition)도 제공됩니다.

핵심 개념

Oracle Database를 이해하는 데 중요한 몇 가지 핵심 개념입니다:

개념 설명
인스턴스 데이터베이스에 접근하는 소프트웨어 프로세스와 메모리 구조의 집합입니다.
데이터베이스 실제 데이터 파일들이 저장되는 물리적인 공간입니다.
스키마 테이블, 뷰, 인덱스 등 데이터베이스 객체들을 소유하는 논리적인 구조입니다. 사용자 계정과 1대1로 매핑됩니다.
테이블스페이스 물리적인 데이터 파일을 논리적으로 관리하는 공간입니다.

PL/SQL (Procedural Language/SQL)

PL/SQL은 Oracle에서 제공하는 SQL의 확장 언어로, SQL 문장 내에서 변수 선언, 조건문(IF...THEN), 반복문(LOOP) 등 프로그래밍 언어의 기능을 사용할 수 있게 해줍니다. 주로 저장 프로시저(Stored Procedure), 함수, 트리거 등을 만들 때 사용됩니다.

PL/SQL
DECLARE
  v_count NUMBER;
BEGIN
  SELECT COUNT(*) INTO v_count FROM employees;

  IF v_count > 100 THEN
    DBMS_OUTPUT.put_line('직원 수가 100명을 초과합니다.');
  ELSE
    DBMS_OUTPUT.put_line('직원 수가 100명 이하입니다.');
  END IF;
END;
/

사용 예제

employees 테이블을 생성하고 데이터를 삽입, 조회하는 예제입니다.

SQL
-- 테이블 생성
CREATE TABLE employees (
    employee_id NUMBER(6) PRIMARY KEY,
    first_name VARCHAR2(20),
    last_name VARCHAR2(25),
    hire_date DATE,
    salary NUMBER(8, 2)
);

-- 데이터 삽입
INSERT INTO employees (employee_id, first_name, last_name, hire_date, salary)
VALUES (101, 'Jane', 'Doe', SYSDATE, 5000);

-- 데이터 조회
SELECT first_name, last_name, salary FROM employees;

주의사항 및 팁

  • Oracle은 SQL Developer, Toad, DBeaver 등 다양한 GUI 도구를 통해 관리할 수 있습니다.
  • 데이터 타입은 VARCHAR2, NUMBER, DATE 등을 주로 사용합니다.
  • Dual 테이블은 함수나 계산식을 테스트할 때 자주 사용되는 더미 테이블입니다.
주의

대용량 데이터베이스를 다룰 때는 백업, 복구, 성능 튜닝 등 데이터베이스 관리자(DBA)의 역할이 매우 중요해집니다. 이 부분에 대한 깊이 있는 이해가 필요합니다.