본문 바로가기

SQLD

[SQLD 공부] 38회 기출문제 오답 및 모르는 것 정리

https://yunamom.tistory.com/269

 

[SQLD] 38회 기출 문제 ( 50문제 / 정답 ) + 해설추가

⏳남은시간 : 87분27초 📖SQLD. 제 38 회 기출 문제 문제 1. 다음의 ERD에 대한 설명으로 올바르지 않은 것은? 정답확인🌼 1) 상급종합병원에는 의사가 근무하지 않을수가 있다. 2) 한 개의 상급종합

yunamom.tistory.com

yunamom님 블로그 참조

 


 

5. db보안과 관련 있는 것은 view

 

 

7. 엔터티

  • 유일한 식별자가 있어야 함
  • 2개 이상의 인스턴스가 있어야 함
  • 반드시 속성을 가지고 있음
  • 다른 엔터티와 최소 한 개 이상의 관계가 있어야 함 (집합과 집합 간의 관계)

 

 

 

9. ERD표기법

  • Barker / IE
  • IE : 1:N의 관계일 때 N쪽에 새발 표시, 필수 참여관계 중 선택참여는 O, 필수참여는 |
  • Barker : 네모가 모서리가 둥근형태
  • 구분할 때 O가 있으면 IE, 실선/점선이 반반이면 Barker인 듯

 

 

 

12. join

  • Single Loop Join (단일 반복 조인)
    • 후행(Driven) 테이블의 조인 속성에 인덱스가 존재할 경우 사용
  • Nested Loop Join (중첩반복조인)
    • - Random Access
    • - 후행(Driven) 테이블에는 조인을 위한 인덱스가 생성되어 있어야 함
  • Sort Merge Join (정렬 합병 조인)
    • - 해당 테이블의 인덱스가 없을때 수행
    • - 테이블을 정렬(Sort) -> 정렬된 테이블을 병합(Merge) 하면서 조인을 실행
    • - 범위 연산( >, < )인 경우 Nested Loop 조인보다 유리
  • Hash Join (해시 조인)
    • - Nested Loop 조인과 Sort Merge 조인의 문제점을 해결
    • - 대용량 데이터 처리는 오버헤드 발생 가능성 있음
    • - 정렬작업이 없어 정렬이 부담되는 대량배치작업에 유리

 

 

16. COUNT

  • COUNT(숫자) : NULL 포함 총 개수
  • COUNT(칼럼명) : NULL 제외 총 개수
  • COUNT(DISTINCT 칼럼명) : NULL, 중복 제외 총 개수
    • NULLIF(A, B) : A,B가 같으면 NULL, 아니면 A

 

17. IN연산자는 NULL제외

 

18. 집계함수

  • CUBE() : 모든 소계,집계
  • 좀 모자르면 ROLLUP()

 

22. PL/SQL

  • 절차형 언어
  • 내부에 테이블 생성 가능
  • 23. 인덱스 생성 구문
  • CREATE INDEX 인덱스명 ON 테이블명 칼럼명

 

26. EXISTS(존재하는), NOT EXISTS(존재하지 않은)

 

 

27.

  • <> : 같지않는
  • ANY : 비교값 중 하나라도 만족하면 TRUE

 

 

28. 인덱스

  • 인덱스에 대한 연산(+, -)을 하면 인덱스가 변형되므로 사용불가함

 

 

 

29. 분산 데이터베이스

- 장점 :

- db 신뢰성, 가용성이 높음

- 병렬처리로 빠른 응답

- 용량 확장 쉬움

단점 :

- 관리, 통제 어려움

- 보안 어려움

- 무결성 어려움

- 설계복잡

 

 

 

31. 인덱스

순차인덱스, 결합인덱스, 비트맵, 클러스터, 해시인덱스가 있음

VARCHAR, CHAR, DATE, NUMBER 모두 인덱스 생성 가능

파티션 인덱스는 파티션 키에 대한 인덱스 생성가능, GLOBAL인덱스라 함

인덱스의 수 증가시 입력,삭제,수정 속도 저하

 

 

 

34. 연산자 순서

 

 

 

35. SELF 조인

동일한 테이블에서 발생하는 조인

FROM절에 동일 테이블명이 두 번 이상 나타남 (별칭 필요)

 

 

 

37. NULLCOUNT

COUNT(*) : NULL 포함

COUNT(컬럼명) : NULL 제외

 

 

 

38. 외래키 삭제

CREATE TABLE B(
	A NUMBER(10),
    B NUMBER(10)
REFERENCES A(A) ON DELETE CASCADE);

테이블 생성 시 ON DELETE 옵션

  • CASCADE : 부모데이터 삭제 시 자식 데이터 삭제
  • SET NULL : 부모데이터 삭제 시 자식 참조컬럼은 NULL
  • SET DEFAULT : 부모데이터 삭제 시 자식 참조컬럼은 default 값으로 업데이트
  • RESTRICT : 자식테이블이 참조할 경우, 삭제 불가(기본값)

 

 

41. DECIMAL - 숫자형

 

43. 순수 관계 연산자

  • SELECT
  • PROJECT
  • JOIN
  • DIVISION

 


44. 순위

ROW_NUMBER() : 중복값 있어도 고유 등수 부여

RANK() : 중복등수, 등수 건너뜀

DENSE_RANK() : 중복등수, 등수 안건너뜀

 

 

 

45. SQL server에서 테이블복사

SELECT * INTO 새로 만들 테이블명 FROM 복사할 테이블명

 

 

 

46. ROLLUP(A,B) => GROUPING SETS(???)으로 변경

(A,B), (A), ()

 

 

49. <> 조건으로 COUNT

 

 

 

50. CROSS JOIN

CROSS JOIN의 결과 개수는 두 테이블을 곱한 개수

상호조인 / 카테시안 곱(Caresian Product)