정규화
함수의 종속성을 이용해 무손실 분해한다.
(입력/수정/삭제 성능 향상)
반정규화 : 조인성능 향상
7번
반정규화 대상
1)자주 사용되는 테이블에 접근하는 프로세스의 수가 많고 항상 일정한 범위만을 조회하는 경우
2) 테이블의 대량의 데이터가 있고 대량의 데이터 범위를 자주 처리하는 경우에 처리범위를 일정하게 줄이지 않으면 성능을 보장 할 수 없을 경우
3) 통계성 프로세스에 의해 통계 정보를 필요로 할 때 별도의 통계 테이블을 생성해야 하는 경우
9번
분산 데이터베이스(분산DB)
분산 DB | 논리적으로 같은 시스템, 물리적 분산, 데이터 무결성 해침 |
분할 투명성 | 분할되서 여러군데 저장 |
위치 투명성 | 저장장소 명시 불필요, 데이터베이스의 실제 위치를 알 필요없이 단지 데이터베이스의 논리적인 명칭만으로 엑세스 할 수 있다. |
지역사상 투명성 | 지역 DBMS와 물리적 DB 사이 Mapping 보장 |
중복 투명성 | 데이터가 여러 곳에 중복되어 있더라도 사용자는 마치 하나의 데이터만 존재하는 것처럼 사용 가능하다. |
장애 투명성 | 트랜잭션, DBMS, 네트워크, 컴퓨터 장애에도 트랜잭션을 정확하게 처리한다. |
병행 투명성 | 다수의 트랜잭션이 동시에 실현되더라도 그 결과는 영향을 받지 않는다. |
10번
Row Chaining & Row migration
row 의 길이가 너무 길때 여러 블록에 걸쳐서 저장한다
Row Chaining 로우 체이닝
로우의 길이가 너무 길어서 데이터 블록 하나에 데이터가 모두 저장되지 않고 두 개 이상의 블록에 걸쳐 하나의 로우가 저장되어 있는 형태
→ 1:1로 테이블 분리해 조회성능 향상
Row migration 로우 마이그레이션
데이터블록에서 수정이 발생하면 수정된 데이터를 해당 데이터 블록에서 저장하지 못하고 다른 블록의 빈 공간을 찾아 저장하는 방식
로우 체이닝과 로우 마이그레이션이 발생하여 많은 블록에 데이터가 저장되면
DB 메모리에서 디스크 I/O가 발생할 때 많은 I/O가 발생하여 성능저하 발생
트랜잭션을 분석하여 적절하게 1:1관계로 분리함으로써 성능향상이 가능하도록 해야 한다
14번
IN
col1,col2를 하나로 봐서 둘 다 만족해야 IN발동
즉 A,50 둘 다 각각 col1,2에 들어가 있는 row를 찾는건데 마지막 줄 1개이므로 답은 1
15번
IN
in은 null을 취급하지 않으므로
a 두개 40+50
x 한개 30
null은 카운트 안하므로 0
120
16번
계층구조 선행테이블
(계층구조) 선행테이블 -> 인덱스 ->조인
SUM은 null 카운트x
20번
Trigger (트리거)
1)DELETE ON TRIGGER 의 경우 :OLD 는 삭제 전 데이터를, :NEW는 삭제 후 데이터를 나타낸다.
2)특정 테이블에 DML문이 수행되었을 때 자동으로 동작하도록 작성된 프로그램이다.
3)UPDATE TRIGGER 에서 :OLD 에는 수정 전, :NEW 에는 수정 후 값이 들어간다.
트리거는 DB 자체에 저장, 테이블, 뷰에 사용가능
Procedure | Trigger |
EXECUTE 명령어로 실행 | 자동 실행(이벤트 발생할때) |
CREATE Procedure | CREATE Trigger |
COMMIT, ROLLBACK 가능 | COMMIT, ROLLBACK 불가능 |
반드시 값 RETURN 필요 X | DML 을 주로 사용 |
연관 링크
- 기출 39회 26-50번 https://rise-up.tistory.com/775
- 기출 39회 1-25번 https://rise-up.tistory.com/774
- 기출 38회 1-50번 https://rise-up.tistory.com/764
- 기출 35회 31-50번 https://rise-up.tistory.com/763
- 기출 35회 1-30번 https://rise-up.tistory.com/762
- 기출 34회 30-50번 https://rise-up.tistory.com/761
- 기출 34회 1-29번 https://rise-up.tistory.com/760
- 기출 30회 1-24번 https://rise-up.tistory.com/759
- 기출 30회 25-50번 https://rise-up.tistory.com/758
자료 출처
[SQLD] 30회 기출 문제 ( 50문제 / 정답,해설포함 ) (tistory.com)
yurimac님 pdf 자료정리