구름조아

집합연산, 관계연산, 테이블과 컬럼, SQL, 트랜잭션 본문

SQLD자격증공부/SQL기본

집합연산, 관계연산, 테이블과 컬럼, SQL, 트랜잭션

김옹희 2023. 5. 7. 18:58

집합연산

  • 두 개의 릴레이션의 합을 의미하는 합집합
  • 특정 릴레이션에만 존재하며 다른 릴레이션에는 존재 하지 않는 것을 의미하는 차집합
  • 두 릴레이션에 함께 존재하는 것을 의미하는 교집합
  • 각 릴레이션에 존재하는 모든 데이터를 조합하는 곱집합

관계연산

  • 릴레이션에서 특정 조건에 해당하는 행(튜플)만 조회하는 선택연산
  • 릴레이션에서 특정 조건에 맞는 속성만 조회하는 투영연산
  • 여러 릴레이션에서 공통된 속성을 통해 새로운 릴레이션을 만드는 결합연산
  • 기준 릴레이션에서 나누는 릴레이션이 가지는 속성과 동일한 값을 가지는 행(튜플)만 추출하여 나누는 릴레이션의 속성을 삭제한 후 중복된 행을 제거하는 나누기 연산

테이블과 컬럼

  • 관게형 데이터베이스에서 릴레이션은 곧 테이블이다.
  • 테이블은 행과 컬럼으로 구성되며, 하나의 기본키를 가지고 있다.
  • 컬럼은 어떤 데이터를 저장하기위한 필드로써 속성이라고도 한다.
  • 외래키는 다른 테이블의 기본키를 참조하는 컬럼이다.

SQL(Structured Query Language)

  • 관계형 데이터베이스에서 데이터 정의, 조작, 제어를 하기 위해 사용하는 언어이다.
  • SQL은 단순한 스크립트가 아니라 일반적인 개발 언어와 같이 독립된 하나의 개발 언어 이다.
  • 관계형 데이터베이스에 대한 전담 접속 용도로 사용되며 독립되어 있다.

SQL 문장의 종류

데이터 정의어
DDL
CREATE
DROP
RENAME
ALTER
TRUNCATE
1. 테이블이나 컬럼과 같이 데이터 구조를 정의하는데 사용되는 명령어
2. 구조를 생성, 변경, 삭제 하는 데이터 구조와 관련된 명령어
데이터 조작어
DML
SELECT
INSERT
DELETE
UPDATE
1. 데이터베이스내 데이터를 조회 및 검색하기 위한 명령어
2. 데이터의 추가, 삭제, 수정 하기 위한 명령어
데이터 제어어
DCL
GRANT
REVOKE
1. 데이터베이스에 접근하고 객체들을 사용하도록 권한을 부여하거나 회수하는 명령어
트랜잭션 제어어
TCL
COMMIT
ROLLBACK
SAVEPOINT
1. 트랜잭션 별로 제어하는 명령어

트랜잭션(Transaction)

  • 트랜잭션은 데이터베이스의 작업을 처리하는 단위이다.
원자성
Atomicity
1. 트랜잭션은 데이터베이스에서 실행되는 연산의 전부가 실행되거나 실행되지 않아야 한다.
2. 트랜잭션이 완전히 끝나지 않았을 경우에는 실행되지 전의 상태와 같아야 한다.
일관성
Consistency
1. 트랜잭션 실행 결과로 데이터베이스의 상태가 모순되지 않아야 한다.
2. 트랜잭션 실행 후에도 일관성이 유지되어야 한다.
고립성
Isolation
1. 트랜잭션 실행 중에 생성하는 연산의 중간결과는 다른 트랜잭션이 접근할 수 없다.
2. 부분적인 실행 결과를 다른 트랜잭션이 볼 수 없다.
영속성
Durability
1. 트랜잭션이 그 실행을 성공적으로 완료하면 그 결과는 영구적 보장이 되어야 한다.

SQL 실행 순서

  • SQL문은 3단계를 거쳐 실행 된다.
파싱
Parsing
1. SQL 문법을 확인하고 구문 분석을 한다.
2. 구문 분석한 SQL을 Library Cache에 저장한다.
실행
Execution
1. 옵티마이저가 생성한 실행 계획에 따라 SQL을 실행 한다.
연출
Fetch
1. 데이터를 읽어 전송한다.