Section3. N313 SQL2

bgly·2022년 6월 2일
0

트랜잭션

데이터베이스를 변경하는 일련의 작업들에 대한 연속처리단위

  • commit을 해서 확정신호를 보내서 변경된 사항을 반영시킴.
  • rollback모두 취소

  • 트랜잭션의 동시성 제어

ACID

  • 원자성(Atomicity) : 전부 성공 or 전부 실패

  • 일관성(Consistency) : DB의 제약이나 규칙이 일관됨

  • 고립성(Isolation) : 각각의 트랜잭션은 독립

  • 지속성(Durability) : 트랜잭션이 성공적으로 수행되면 그 이후에 DB에 오류가 나도 기록(로그)는 남아야함


Select문 실행순서

FROM
(ON
JOIN)
WHERE
GROUP BY
HAVING
SELECT
(DISTINCT)
ORDER BY
(LIMIT)
  • 서브쿼리가 제일 먼저 실행됨

정규화

  • 목적
  1. 불필요한 데이터(data redundancy)를 제거한다.
  2. 데이터 저장을 "논리적으로" 한다.
  • 종류

    • 1차 정규화
      1차 정규형은 각 로우마다 컬럼의 값이 1개씩만 갖게 하는 것.

    • 2차 정규화
      제1 정규화를 진행한 테이블에 대해 완전 함수 종속을 만족하도록 테이블을 분해하는 것. 

    • 3차 정규화
      제2 정규화를 진행한 테이블에 대해 이행적 종속을 없애도록 테이블을 분해하는 것.

    • BCNF 정규화
      제3 정규화를 진행한 테이블에 대해 모든 결정자가 후보키가 되도록 테이블을 분해하는 것

참고



학습목표

🌱 Level 1 : Lecture Note 에 있는 주요 개념을 정의할 수 있으며 예제 코드를 이해하고 재현할 수 있다.

  • 트랜잭션에 대해서 설명할 수 있고, COMMIT 과 Rollback 예제를 재현할 수 있다.
  • ACID의 특징에 대해서 각각 설명할 수 있다.
  • SQL 내장함수와 서브쿼리에 대해서 설명할 수 있다.

🔝 Level 2 : 예제 코드를 해석하고 응용할 수 있으며 과제를 수행할 수 있다.

  • SQL 내장 함수와 CASE문을 활용하여 SQL 다중 테이블 쿼리를 할 수 있다.
  • SELECT 실행 순서에 대해 설명할 수 있다.

🔥 Level 3 : Lecture Note 에 있는 주요 개념과 코드를 연결하여 설명할 수 있으며 도전 과제를 수행할 수 있다.

  • 서브쿼리를 활용하여 원하는 데이터를 쿼리 해올 수 있다.
  • 서브쿼리를 포함한 SELECT 쿼리문의 실행 순서를 설명할 수 있다.

🚀 Level 4 : Lecture Note 에 있는 개념 중 자신이 모르는 것을 구분해 낼 수 있으며 스스로 목표를 세우고 추가 학습을 진행할 수 있다.

  • 슈퍼 키, 후보 키, 기본 키, 대체 키, 외래 키에 대해서 설명할 수 있다.
  • 데이터베이스의 옵티마이저의 종류와 그 특징에 대해 설명할 수 있다.
  • 데이터베이스의 인덱스에 대해 간단하게 설명할 수 있다.

0개의 댓글