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 계산 방법
- CUBE(A,B)이고, A 의 유니크한 값이 3개, B의 유니크한 값이 5개일 때
- 우선 1개 (전체 1건)
- B의 5개
- A의 3개
- A이면서 B인 경우 노가다로 세기
- 다 합치기
'자격증 > SQLD' 카테고리의 다른 글
[SQLD] SQLD 취득 후기 (2) | 2025.04.04 |
---|---|
[SQLD] 공부 내용 - SQL 기본 및 이해 #002 (0) | 2025.02.11 |
[SQLD] 공부 내용 - 데이터 모델링의 이해 #001 (0) | 2025.02.06 |