728x90

 

 

정규화

함수의 종속성을 이용해 무손실 분해한다.

(입력/수정/삭제 성능 향상)

반정규화 : 조인성능 향상

 

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 을 주로 사용

 

 

 

연관 링크

 

자료 출처
[SQLD] 30회 기출 문제 ( 50문제 / 정답,해설포함 ) (tistory.com)

yurimac님 pdf 자료정리

728x90
반응형

+ Recent posts