1. TRUCATE TABLE

테이블의 모든 행을 삭제한다. DELETE FROM과 동일. 삭제 후 COMMIT할 필요 없다.

2. 슈퍼타입과 서브 타입 종류

종류 설명 단점
One to One (1대1) 슈퍼타입과 서브타입을 개별 테이블로 도출 테이블 수 많고 조인 많음
Plus (슈퍼 + 서브) 슈퍼타입과 서브타입 테이블로 도출 조인이 적당히 많음
Single (올인원) 전체를 하나의 테이블로 통합 조인이 적지만 입출력 성능이 나쁨

3. Prior

  • Prior 자식 = 부모 // 순방향
  • Prior 부모 = 자식 // 역방향

4. CASCADE, CASCADE CONSTRAINT

  • CASCADE → 연관된 모든 객체 삭제
  • CASCADE CONSTRAINTS → 외래 키(FK)만 삭제, 다른 객체는 유지

5. Window 함수 표현식

  • SUM(급여): "회사 전체 급여 총액이 얼마야?" 
  • SUM(급여) OVER(): "모든 직원에게 '회사 전체 급여 총액이 이거야'라고 메모 붙여줘" 
  • 1 PRECEDING,UNBOUNDED FOLLOWING: 앞으로 1칸,  끝까지 뒤로
  • ROWS : 행을 기준으로 선택 (가로)
  • RANGE : 컬럼 값을 기준으로 선택 (세로)

6. CROSS JOIN, FULL OUTER JOIN

  • CROSS JOIN : 모든 행 조합 생성 ( 행 수 = A * B)
  • FULL OUTER JOIN : LEFT, RIGHT OUTER JOIN 교집합

7. 파티셔닝 : 데이터를 수평으로, 논리적으로 쪼갠다.

  • Range : 범위에 따라 // 월별, 년도별, 가격 범위별
  • List : 리스트에 따라 // 국가코드
  • Hash : 알아서  // 자동 균등 분할
  • Composite : 조합해서 // 예시로 Range + Hash로, 연도별로 나눈 후 Hash 균등 분배

8. ER 모델링 표기법

  • Barker : 기호로 PK 등 표기
  • IE : 동그라미 등이 표시되는 자주보는 ER 모델링

9. 기본 / 중심 / 행위 엔터티

  • 기본 : 독립적으로 존재 // 회원, 상품, 직원
  • 중심 : 기본 엔터티 기반, 행위 엔터티를 생성 // 주문, 계약, 거래
  • 행위 : 주문 이력, 체결 이력 등 

10. PL/SQL : 절차적 언어로 sql 실행하는 코드

DECLARE → FETCH → CLOSE → EXCEPTION 순서

변수정의, 가져오기, 닫기, 예외 정도만 외우면 될거같음

 

11. 계층형 질의 노드 여부

  • CONNECT_BY_ISLEAF : 단말이냐? = 1 , 자식이 있느냐? = 0
  • CONNECT_BY_ISCYCLE : 순환되냐? = 1, 순환되지 않느냐? = 0
  • SYS_CONNECT_BY_PATH : 현위치 알려줌. 마치 파일탐색기에서 C\:FOLDER1\FOLDER2 처럼

12. 식별자 여부 별 구분

  • 대표성 : 주 식별자(고객번호) / 보조 식별자(주민등록번호)
  • 스스로 생성 : 내부(스스로 생성) / 외부 (외부에서 가져옴)
  • 단일속성 : 단일(키가 하나뿐) vs 복합 (키가 둘)
  • 대체 : 본질(주민번호) vs 인조(일련번호)

13. TRUNCATE, DELETE, DROP

  • DELETE : 공간 자체는 남아있는 지우기 (커밋 전 롤백 가능)
  • TRUNCATE : 테이블 속성빼고 지우기 (롤백불가)
  • DROP : 깔끔하게 싹지우기 (롤백불가)

14. 프로시저, 트리거

구분 프로시저 트리거
실행방식 명시적으로 (execute,exec) 특정 이벤트 발생 시
목적 재사용 작업 묶어서 ⭐직접 실행 데이터 변경 시 ⭐자동 수행
사용 예 반복 작업 로그

 

15. 연산에 NULL이 있다면?

  • 가로로 null이 연산되면 null이 출력됨
    ex) a3이 null값일 때, SUM (a1+a2+a3+a4) = null
  • 세로로 null이 연산되면 null을 제외하고 출력됨
    ex) sum(a1) + sum(a2) + sum(a3) + sum(a4)

16. Window 함수 추가 노트

  • Window 함수는 자동 튜닝을 하지 않는다. 
  • Group by와 용례는 비슷하나 윈도우는 결과 건 수가 줄어들진 않는다.
  • Group by와 Window Function은 병행 사용 가능하지만 굳이 라서 필요에 따라 하나를 선택해 사용한다.

17. LAG, LEAD

  • LAG : 위에 있는걸 가져오겠다.
  • LEAD : 아래에 있는걸 가져오겠다.

18. CUBE  ROWS 계산 방법

  1. CUBE(A,B)이고, A 의 유니크한 값이 3개, B의 유니크한 값이 5개일 때
  2. 우선 1개 (전체 1건)
  3. B의 5개
  4. A의 3개
  5. A이면서 B인 경우 노가다로 세기
  6. 다 합치기

+ Recent posts