개발 공부

SQL - <DDL / DML / DCL > 본문

DataBase/ORACLE_SQL

SQL - <DDL / DML / DCL >

규율 위에 자유 2023. 7. 4. 21:57
  • DDL (DATA DEFINITION LANGUAGE) : 데이터 정의 언어
    • 오라클에서 제공하는 객체(OBJECT)를 새로이 만들고(CREATE) 구조를 변경(ALTER)
      구조 자체를 삭제(DROP)하는 언어

      즉, 실체 데이터 값이 아닌 구조를 정의하는 언어
      주로 DB관리자,설계자가 사용한다.

    • 오라클에서 제공하는 객체(구조) : 테이블(TABLE), 뷰(VIEW), 시퀀스(SEQUENCE),
                                      인덱스(INDEX), 패키지(PACKAGE),트리거(TRIGGER),
                                      프로시져(PROCEDURE),함수(FUNCTION),동의어(SYNONYM), 사용자(USER)

  • DML (DATE MANIPULATION LANGUAGE) : 데이터 조작 언어

  • 데이터를 삽입 ,삭제,수정 하는 명령으로 이루어져 있으며
    DDL과는 다르게 트랜잭션(데이터베이스 상태를 변화시키기위한 작업의 단위)을 구성한다
    (DDL 명령문 같은 경우 바로 DB에 저장이되는 반면 DML은 트랜젝션위에 올라가면 COMMIT 이후 다음 COMMIT이전 또는 ROLLBACK(이전COMMIT단계)  즉 COMMIT 또는 ROLLBACK 작업이 이루어 지기전 까지 DB에 저장 되지 않는다.
  • select : 데이터 조회
  • insert : 데이터 삽입
  • update : 데이터 수정
  • delete : 데이터 삭제

 


  • DCL (DATA CONTROL LANGUAGE) : 데이터 제어 언어
    • 계정에 시스템 권한 및 객체 접근 권한 부여(GRANT) 및 회수(REVOKE)하는 구문
      시스템 권한 : DB에 접근하는 권한, 객체들을 생성할 수 있는 권한 
      객체접근 권한 : 특정 객체들을 조작할 수 있는 권한

    • grant : 특정 데이터베이스 사용자에게 특정 작업에 대한 수행 권한을 부여
    • revoke : 특정 데이터베이스 사용자에게 특정 작업에 대한 수행 권한을 박탈, 회수
    • commit : 트랜잭션의 작업을 저장
    • rollback : 트랜잭션의 작업을 취소, 원래대로 복구

    • 시스템권한 종류
      CREATE SESSION : 접속할 수 있는 권한
      CERATE TABLE : 테이블을 생성할 수 있는 권한
      CREATE VIEW : 뷰를 생성할 수 있는 권한 
      CREATE SEQUENCE : 시퀀스를 생성할 수 있는 권한 
       .....: 일부는 CONNECT 안에 포함되어 있다.객체 접근 권한
       
    • 특정 객체에 접근해서 조작할 수 있는 권한
      [표현식]
          GRANT 권한종류 ON 특정객체 TO 계정
          
      권한종류    특정객체 
       SELECT  TABLE / VIEW / SEQUENCE
       INSERT  TABLE / VIEW  
       UPDATE  TABLE / VIEW 
       DELETE  TABLE / VIEW 

'DataBase > ORACLE_SQL' 카테고리의 다른 글

SQL - DML (INSERT)  (0) 2023.07.05
SQL - DDL (CREATE / ALTER / DROP)  (0) 2023.07.04
SQL - 문법 / 조회(SELECT) + WHERE절  (0) 2023.06.29
SQL 집합 연산자 (SET OPERATION )  (0) 2023.06.28
SQL <그룹함수>  (0) 2023.06.28