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은 정렬되는 상황에 맞춰서 바뀐다.