DB/sql

13, 14 단원 추가 내용

wooweee 2023. 6. 1. 13:55
728x90

view

sql문이다. read only

보안상의 민감정보만 빼고 보기

view를 만들어서 보기 - 보안 정보 주면 안되는 것.

join한 query로 view를 만들면 view에서 join할 필요가 없다.

별게 아니다.

복잡한 query는 view로 만드는 경우가 많다.

 

 

nvl 평균 계산과 sum 계산에 중요하다. nvl을 써줘야지 Null -> 0으로 인식해서 계산시 쳐준다.

평균 계산시에는 nvl!!! 꼭 계산이 필요하다.

 

decode function : 등급 메길때 사용. 어느 값도 아닌 때 default : oracle에만 존재. aging (며칠3,6,9일에 service 몇번 종료되었는지)

 

 

-report를 보여줌-

case: oracle에서 추가함

피벗함수: 다차원 분석 -> 가로로 펼쳐준다. / 옛날에는 decode를 했음.

rollup : 그룹별 합계 -> 자바로 합계 안해도 됨. java로 계산 돌릴 필요가 없어짐

큐브: 다차원 - 연령을 보면서 성별도 볼 수 있다. 마지막에 null 인 것도 뜸.

 

 data warebouse (DW) : 분석용 db - 자주 사용되는 이름

 

기술들은 웬만하면 평준화 되어있다.

 

역시,,,, 개발보단 차라리 오픈소스를 찾아쓰는 것이 맞다.

 

 

상관쿼리 correlated subquery

  • main
  • sub
    • main 이 먼저 실행되고 그 결과를 sub가 그걸 가져다 사용한다.
    • sub의 where에 상관쿼리의 힌트가 나타나있다.
    • 상관쿼리는 14단원의 요소들 allMatch, anyMatch 등의 비슷한 기능들이 많이 존재한다.
    • exists는 아주 고급 query이다.
  • 원래 sub query는 다 읽는데 , 상관 query는 exsit 같이 1개만 참이면 더 안읽으니깐 아주 빠르다.

 

index의 위치정보가 rowId이고 그 행 전체를 다 볼수 있다.

rowId는 절대 안 바뀐다.

index가 b-tree를 찾아서 들어가서 해당 rowld를 읽는다.

 

rowId는 바뀌지 않는 불변의 값이고 rowNum은 정렬되는 상황에 맞춰서 바뀐다.