✅ Oracle에서 말하는 **"객체(Object)"**는 데이터베이스에서 생성되고 관리되는 논리적 또는 물리적 구조를 의미해. 쉽게 말해서, 우리가 SQL로 만들고, 조회하고, 저장하는 모든 것들이 객체라고 보면 돼.
✅ Oracle에서의 주요 객체 종류
| 객체 종류 |
설명 |
| TABLE (테이블) |
데이터를 행(Row)과 열(Column)로 저장하는 기본 단위 |
| VIEW (뷰) |
하나 이상의 테이블을 기반으로 만든 가상 테이블 (조회 전용) |
| INDEX (인덱스) |
검색 속도를 높이기 위해 사용하는 자료구조 |
| SEQUENCE (시퀀스) |
자동으로 숫자를 증가시키는 객체 (번호 매길 때 사용) |
| SYNONYM (시노님) |
객체에 별칭(alias)을 붙여 사용하기 쉽게 만드는 객체 |
| TRIGGER (트리거) |
특정 이벤트(INSERT, UPDATE, DELETE)가 발생할 때 자동으로 실행되는 코드 |
| PROCEDURE / FUNCTION |
미리 작성된 PL/SQL 코드 블록 (프로그램처럼 동작함) |
| PACKAGE (패키지) |
관련된 프로시저, 함수 등을 묶어놓은 모듈 |
| USER (사용자) |
데이터베이스에 접속하는 계정, 객체들을 소유함 |
| SCHEMA (스키마) |
하나의 사용자가 소유한 모든 객체의 집합 |
📘 예시로 보는 객체들
1. 테이블 객체
CREATE TABLE STUDENT (
ID NUMBER,
NAME VARCHAR2(100)
);
2. 뷰 객체
CREATE VIEW STUDENT_VIEW AS
SELECT ID, NAME
FROM STUDENT;
3. 시퀀스 객체
CREATE SEQUENCE STUDENT_SEQ
START WITH 1
INCREMENT BY 1;
4. 트리거 객체
CREATE OR REPLACE TRIGGER STUDENT_TRG
BEFORE INSERT ON STUDENT
FOR EACH ROW
BEGIN
:NEW.ID := STUDENT_SEQ.NEXTVAL;
END;
🧠 요약
- Oracle에서 객체란? = 데이터베이스 안에서 생성되고 사용되는 모든 구성요소
- 객체는 데이터 저장, 조회, 제어, 자동화에 관련된 구조체라고 보면 됨
- 모든 객체는 특정 **USER(계정)**가 소유하고, SCHEMA는 그 객체들의 집합