상세 컨텐츠

본문 제목

VIII. DDL

빅데이터/Database_Oracle

by datasa 2024. 5. 14. 10:34

본문

 

 

 

▶ DDL 명령어

**DDL(Data Definition Language)**은 Oracle Database에서 테이블, 뷰, 인덱스, 시퀀스, 사용자 등의 데이터베이스 객체를 생성, 수정, 삭제하는 데 사용되는 명령어입니다.

DDL 명령어는 데이터베이스 구조를 정의하고 데이터베이스의 스키마를 관리하는 역할을 합니다.

주요 DDL 명령어

  • CREATE: 테이블, 뷰, 인덱스, 시퀀스, 사용자 등의 데이터베이스 객체를 생성합니다.
  • ALTER: 기존 데이터베이스 객체를 수정합니다.
  • DROP: 데이터베이스 객체를 삭제합니다.
  • TRUNCATE: 테이블의 모든 데이터를 삭제하고 테이블 구조는 유지합니다.
  • RENAME: 데이터베이스 객체의 이름을 변경합니다.

 

1. 테이블 생성

SQL
CREATE TABLE employees (
  employee_id NUMBER(4) PRIMARY KEY,
  first_name VARCHAR2(20) NOT NULL,
  last_name VARCHAR2(20) NOT NULL,
  salary NUMBER(7,2),
  department_id NUMBER(4),
  FOREIGN KEY (department_id) REFERENCES departments(department_id)
);
 

위 예시에서는 employees라는 테이블을 생성하고, employee_id, first_name, last_name, salary, department_id 열을 정의합니다. 또한, department_id 열은 departments 테이블의 department_id 열을 참조하는 외래 키 제약 조건을 가지도록 합니다.

 

2. 뷰 생성

SQL
CREATE VIEW employee_names AS
SELECT employee_id, first_name, last_name
FROM employees;
 

위 예시에서는 employee_names라는 뷰를 생성하고, employees 테이블의 employee_id, first_name, last_name 열을 포함하도록 합니다.

 

3. 인덱스 생성

SQL
CREATE INDEX idx_employees_department_id ON employees (department_id);
 

위 예시에서는 employees 테이블의 department_id 열에 idx_employees_department_id라는 인덱스를 생성합니다.

인덱스는 테이블 조회 속도를 향상시키는 데 도움이 됩니다.

 

4. 시퀀스 생성

SQL
CREATE SEQUENCE emp_id_seq START WITH 1 INCREMENT BY 1;
위 예시에서는 emp_id_seq라는 시퀀스를 생성하고, 초기값을 1, 증가량을 1로 설정합니다.

시퀀스는 새 데이터를 삽입할 때 고유한 ID 값을 생성하는 데 사용됩니다.

 

5. 사용자 생성

SQL
CREATE USER scott IDENTIFIED BY tiger;
 

위 예시에서는 scott라는 사용자를 생성하고, 비밀번호를 tiger로 설정합니다.

 

DDL 명령어 특징

  • DDL 명령어는 데이터베이스 트랜잭션의 영향을 받습니다. 따라서 DDL 명령어가 성공적으로 실행되면 변경 사항이 영구적으로 적용되고, 실패하면 적용되지 않습니다.
  • DDL 명령어는 권한이 있는 사용자만 실행할 수 있습니다. 일반적으로 CREATE, ALTER, DROP 명령어는 DBA 권한이 있는 사용자만 실행할 수 있으며, TRUNCATE 및 RENAME 명령어는 테이블 소유자가 실행할 수 있습니다.

'빅데이터 > Database_Oracle' 카테고리의 다른 글

IX. DML  (0) 2024.05.14
VII. JOIN과 SET 연산자  (0) 2024.05.14
VI. 다행(그룹) 함수  (0) 2024.05.14

관련글 더보기

댓글 영역