Heestory

10.데이터베이스/SQL/DDL/DML/DCL/트랜잭션 본문

개발(~국비)/기술면접

10.데이터베이스/SQL/DDL/DML/DCL/트랜잭션

까만밀가루 2022. 10. 20. 09:50

#.데이터베이스

 : 구조화된 정보 또는 데이터의 조직화된 모음, 컴퓨터 시스템에 전자적으로 저장되는 정보

 : 여러 사용자가 동시에 복잡한 로직과 언어를 사용하여 방대한 양의 구조화/조직화된 데이터에 빠르고 안전하게 접근하고 사용할 수 있음

 - 특징

  • 실시간 접근성 : 비정형적인 질의(조회)에 대해 실시간 처리에 대한 응답이 가능)
  • 지속적인 변화 : 데이터 베이스의 상태는 동적이다. 새로운 데이터의 삽입,삭제,갱신으로 항상 최신 데이터 유지해야함
  • 동시 공용 : 서로 다른 목적을 가진 여러 응용자들을 위한 것으로 다수의 사용자가 동시에 같은 내용의 데이터를 이용할 수 있어야함
  • 내용에 의한 참조 : 데이터베이스에 있는 데이터를 참조할 때 데이터 레코드의 주소나 위치에 의해서가 아니라 사용자가 요구하는 데이터 내용으로 찾는다.

 - 장점: 데이터를 공유하여 사용 가능하여 일관성과 무결성, 표준화, 통합관리, 보안에 용이

 - 단점: 비용 증가, 프로그램의 복잡화, 장애 발생시 백업과 회복의 어려움, 시스템 취약성 등

 

#.SQL(Structured Query Language)

:데이터베이스 시스템에서 데이터를 조작 및 정의, 제어하기 위해 사용되는 구조적 데이터 언어로, 거의 대부분의 관계형 데이터베이스에서 사용되고 있으며 ANSI SQL이라는 표준 SQL구문을 확립함

 

#.DDL(data definition language), DML(data manipulation language), DCL(data control languate)

 - DDL: 데이터 정의어, 테이블과 같은 데이터 구조와 관련된 명령어(create, alter, drop, declare, rename 등)

 - DML: 데이터 조작어, 테이블 내 데이터 조작과 관련된 명령어(select, insert, update, delete)

 - DCL: 데이터 제어어, 데이터베이스에 접근하고 객체 사용 권한을 주거나 회수하는 명령어(grant, revoke)

 

#.트랜잭션

:인가받지 않은 사용자로부터 데이터를 보장하기 위해 DBMS가 가져야하는 특성이자, 데이터베이스 시스템에서 하나의 논리적 기능을 정상적으로 수행하기 위한 작업의 기본 단위

-트랜잭션 특성 [ACID]

  • 원자성(Atomicity)
    : 트랜잭션을 구성하는 연산 전체가 모두 정상적으로 실행되거나 모두 최소되어야 하는 성질, 트랜잭션의 연산 전체가 성공 또는 실패되어야하는 성질
    Commit,Rollback, 회복성 보장
  • 일관성(Consistency)
    : 시스템이 가지고 있는 고정요소는 트랜잭션 수행 전과 트랜잭션 수행 완료 후의 상태가 같아야 하는 성질
    무결성 제약 조건, 동시성 제어
  • 격리성 = 고립성(Isolation) : 동시에 실행되는 트랜잭션들이 서로 영향을 미치지 않아야한다는 성질
    Read Uncommitted , Read Committed , Repeatable Read , Serializable
  • 영속성(Durability) : 성공이 완료된 트랜잭션의 결과는 영속적으로 데이터 베이스에 저장되어야 하는 성질 / 회복기법

-TCL(트랜잭션 제어어)

  • 커밋 : 트랜잭션 확정 , 트랜잭션을 메모리에 영구적으로 저장하는 명령어
  • 롤백 : 트랜잭션 취소 , 트랜잭션 내역을 저장 무효화 시키는 명령어
  • 체크 포인트 : 저장 시기 설정 : 롤백을 위한 시점을 지정하는 명령어