본문 바로가기
자격증/패스트 캠퍼스 데이터베이스와 SQLD 합격패스 Online

패스트 캠퍼스 챌린지 20일차 데이터베이스와 SQLD 합격패스 Online

by 리드민 2021. 9. 25.
반응형

Ch 05. SQL 기본 - 05. 연습문제 풀이

문제 1. PRODUCTS 테이블에서 LIST_PRICE의 가격이 평균 가격보다 큰 행(집합)의 PRODUCT_ID, PRODUCT_NAME, LIST_PRICE 컬럼을 구하는 SELECT문을 작성하고 PRODUCT_NAME으로 정렬하라.

평균을 구하고 그 PRODUCTS 테이블에서 더 큰 테이블 집합을 구한다. 그리고 PRODUCT_NAME을 정렬한다. 

가장 중요한 것은 평균을 구하고 특정 sql의 서브쿼리를 활용해가지고 그 평균보다 큰 집합을 구한 다음에 정렬하면 된다. 

 

문제 2. CUSTOMERS 테이블에서 CREDIT_LIMIT의 값이 가장 큰 10건의 행을 출력하라. (단, CUSTOMERS 테이블의 모든 칼럼을 출력하고 CREDIT_LIMIT이 동일하다면 NAME을 칼럼을 기준으로 오름차순 정렬로 출력하라)

SELECT *
FROM (
           SELECT *
             FROM CUSTOMERS c
      ORDER BY CREDIT_LIMIT DESC, NAME ASC
        )
WHERE ROWNUM <= 10
;

 

[] 트랜잭션(Transaction)이란?

1. 데이터베이스 트랜잭션(Database Transaction)은 데이터베이스 관리 시스템 또는 유사한 시스템에서 상호작용의 단위이다.
2. 여기서 유사한 시스템이란 트랜잭션이 성공과 실패가 분명하고 상호 독립적이며, 일관되고 믿을 수 있는 시스템을 의미한다.

[] 트랜잭션(Transaction)이란?

1. 데이터베이스 기능 중, 트랜잭션을 조작하는 기능은 사용자가 데이터베이스 완전성(Intergrity) 유지를 확신하게 한다.
2. 단일 트랜잭션은 데이터베이스 내에 읽거나 쓰는 여러 개 쿼리를 요구한다 이때 중요한 것은 데이터베이스가 수행된 일부 쿼리가 남지 않는 것이다. 예를 들면, 송금을 할 때 한 계좌에서 인출되면 다른 계좌에서 입금이 확인되는 것이 중요하다. 또한 트랜잭셔는 서로 간섭하지 않아야 한다.
3. 만약 쿼리 하나가 실패하면, 데이터베이스 시스템은 전체 트랜잭션 또는 실패한 쿼리를 롤백 한다. 이것은 DBMS 내의 프로그램이 어떻게 개발방식에 따라 다르다. 트랜잭션은 Commit 전에 언제든지 수동으로 Rollback 될 수 있다.

 

[] 트랜잭션의 4대 특징

1. 원자성(Atomicity)
2. 일관성(Consistency)
3. 고립성(Isolation)
4. 지속성(Durability)

 

[] 트랜잭션의 4대 특징(ACID)

특징 설명
원자성(Atomicity) - 데이터 조작이 전부 성공 혹은 실패할지 보증하는 구조
- COMMIT : 조작 과정에 문제 없으면 처리 확정
- ROLLBACK : 조작 중간에 문제 발생 시 첫 과정 직전 상태로 복귀
일관성(Consistency) - 데이터 조작 전후에 일관성 유지 필요
- 데이터베이스 오브젝트에 정합성 제약 추가 가능
- Ex) 시스템에 사용자 등록 시 등록번호에 유일성 제약 설정
고립성(Isolation) - 복수 사용자가 동시에 데이터 조작 실행할 경우 각각의 처리가 모순 없이 실행되는 것을 보증
- 복수의 트랜잭션이 순서대로 실행되는 경우와 같은 결과임 데이터베이스 오브젝트에 대해 잠금을 걸어 후속 처리 차단
- 직렬화 가능 기능(직렬 상태로 복수 트랜잭션 순서대로 처리) DBMS내에서 트랜잭션 격리 수준 설정으로 구현
- ANSI 표준 격리 수준(직렬화 가능 기능으로 부터 격리 수준 완화)
지속성(Durability) - 데이터 조작 완료 후 완료 통지 받는 시점에서 결과 잃지 않는 것
- 즉 트랜잭션이 Commit 되고 나면 데이터 변경 사항이 영구적으로 확정되도록 보장하는 것
- 데이터베이스의 이상 종료 등 시스템 장애 경우에도 조작이 영구성 가져야 함
- 트랜잭션 조작을 하드 디스크에 로그로 기록
- 시스템 이상 발생 시 로그 이용해 이상 발생 전 상태로 복구

 

반응형