백엔드/Oracle

44 - Oracle : SQL 기본

두개의 문 2023. 6. 29. 16:27

 - SQL : Structured Query Language의 약자, RDBMS와 소통하는 프로그래밍 언어로, 구조화된 질의 언어을 의미 

 - 기본키 / 참조키  

 - 관계형 데이터베이스의 정규화 

 

- 트랙잭션이란?

  • DBMS(DB)에서 데이터에 대한 하나의 논리적 실행단계를 의미 

 - 트랜잭션의 4대 특징 ACID란?

  • 트랜잭션이 안전하게 수행된다는 것을 보장하기 위한 성질 

  • 은행과 같이 트랜잭션의 수행이 안정하게 수행됨을 보장해야 하는 시스템에 주로 사용 

 ① Atomicity(원자성) 

    : 

 ② Consistency(일관성)

 ③ Isolation(독립성)

 ④ Durability(지속성)

 

 - DDL (Data Definition Language)

  • CREATE : 객체 생성

  • DROP : 객체 삭제 (복구 불가)

  • ALTER : 객체 변경

  • TRUNCATE TABLE : 테이블의 모든 데이터 삭제 / 테이블의 구조는 유지됨

  • RENAME : 객체의 이름만 변경 

 

 - DML (Data Manipulation Language) : 데이터를 변경하는 명령어들 

  • INSERT : 데이터 추가

  • SELECT : 테이블/뷰에서 데이터 가져오기 

  • UPDATE : 데이터 검색 후, 수정 

  • DELETE : 데이터 검색 후, 삭제 

 

 - TRUNCATE TABLE | DELETE 차이점

 데이터 삭제는 공통 

TRUNCATE TABLE  모든 데이터 삭제 그 후에 복구 불가 

DELETE 선별적 삭제 가능, 실수가 있으면 복구 가능 

 

 - TCL (Transaction Control Language) : 데이터 처리 흐름을 관리 실패 시 복구, 성공 시 저장 

  • COMMIT : 변경된 데이터를 DB에 적용

  • ROLLBACK : 변경된 데이터를 변경시키기 이전으로 되돌림 

 

 

큰 작업을 할 때는 TCL을 이용하는 것이 안전함

최종 확인이 된 경우에만 COMMIT

조금이라도 불완전한 경우 ROLLBACK

 

 - DCL(Data Control Language) : 객체에 권한을 할당하거나 회수함

  • GRANT : 권한을 부여하는 기능 

  • REVOKE : 권한을 회수하는 기능 

이 기능을 사용하려면 전체 권한을 주거나 / 회수할 대상(사용객체)가 있어야 함

CREATE USER 다음에 바로 실행하는 경우가 많음 그리고 부여된 권한을 사용하려면 사용자가 로그인(DBMS에 접속) 해야 사용할 수 있음

 

특정 객체을 사용하려면 권한이 부여되거나 회수되어야 함 

 

 

 

 

 

 

'백엔드 > Oracle' 카테고리의 다른 글

Oracle : SQL - 내장 함수  (0) 2023.07.07
Oracle : SQL ( SELECT -2 )  (0) 2023.07.06
Oracle : SQL ( SELECT - 1 )  (0) 2023.07.05
45 - SQL : DML  (0) 2023.06.30
Oracle 사용자 계정 및 샘플 테이블 생성  (0) 2023.06.27