728x90
1. 인덱스의 특징
- 인덱스는 원하는 데이터를 쉽게 찾을 수 있다록 돕는 책의 색인과 유사한 개념이다.
- 인덱스는 테이블을 기반으로 선택적으로 생성할 수 있는 구조이다.
- 인덱스의 기본적인 목적은 검색 성능의 최적화이다.
- 검색 조건을 만족하는 데이터를 인덱스를 통해 효과적으로 찾을 수 있도록 돕는다.
- DML작업은 테이블과 인덱스를 함께 변경하므로 느려지는 단점이 존재한다.
- 인덱스 데이터는 인덱스를 구성하는 칼럼의 값으로 정렬을 수행한다.
- 인덱스 중 B-Tree 인덱스는 Equal 조건뿐 아니라 BETWEEN, >과 같은 연산자로 검색하는 범위 검색에도 사용될 수 있다.
2. SubQuery
- SubQuery의 특징
- SELECT 스칼라 서브쿼리 : 스칼라 서브쿼리는 한 행, 한 컬럼만을 반환하는 서브쿼리를 말한다.
- FROM 인라인 *뷰 : 서브쿼리가 FROM절에 사용되면 동적으로 생성된 테이블인 것처럼 사용할 수 있다. 인라인 뷰는 SQL문이 실행될 때만 임시적으로 생성되는 동적인 뷰이기 때문에 데이터베이스에 해당 정보가 저장되지 않는다.
- WHERE / HAVING 서브쿼리 : 그룹함수와 함께 사용될 때 그룹핑된 결과에 대해 부가적인 조건을 주기 위해 사용한다.
- 뷰 개념
- 뷰 개념 VIEW : 테이블은 실제로 데이터를 가지고 있는 반면, 뷰는 실제 데이터를 가지고 있지 않다. 징의에서 뷰가 사용되면 뷰 정의를 참조해서 DBMS 내부적으로 질의를 재작성하여 질의를 수행한다. 뷰는 실제 데이터를 가지고 있지 않지만 테이블이 수행하는 역할을 수행하기 때문에 가상 테이블이라고도 한다.
- 독립성 : 테이블 구조가 변경되어도 뷰를 사용하는 응용프로그램은 변경하지 않아도 된다.
- 편리성 : 복잡한 질의를 뷰로 생성함으로써 관련 질의를 단순하게 작성할 수 있다.
- 보안성 : 숨기고 싶은 정보가 존재하는 경우, 뷰를 생성할 때 해당 컬럼을 빼고 생성하여 정보를 숨길 수 있다.
3. PL/SQL
- 변수와 상수 등을 사용하여 일반 SQL 문장을 실행할 때 WHERE절의 조건 등으로 대입할 수 있다.
- Procedure, User Defined Funtion, Trigger 객체를 PL/SQL으로 작성 할 수 있다.
- Procedure, 내부에 작성된 절차적 코드는 PL/SQL 엔진이 처리하고 일반적인 SQL문장은 SQL실행기가 처리한다.
- PL/SQL문은 예외처리가 필수가 아니다.
4. 데이터 무결성(데이터 임의 갱신으로 부터 보호하는 것)을 보장하기 위한 방법?
- 애플리케이션 : 개발자의 코딩에서 로직을 넣는다.
- Trigger : 로직안에 검사기능을 넣는다.
- 제약조건 : 제약조건을 넣어서 무결성을 보장한다.
5. 문자열이 입력될 때 빈 공간으로 채우는 형태의 데이터 타입은?
- CHAR : CHAR(10)으로 컬럼을 생성하고 8개의 문자를 입력하면 나머지 2개는 공백으로 입력된다.
- VARCHAR2 : VARCHAR2는 가변길이 문자열 타입으로 입력한 크기만큼 할당된다.
6. SQL문 설명
- UPPER : 대문자로 변환
- RTRIM : 오른쪽 공백 제거
- SUBSTR (1, 1) : 첫번째에서 첫번째 까지
- CONCAT : 문자열 결합
7. 빈칸에 올 함수?
- 단일행 서브쿼리
- 서브쿼리의 실행 결과가 항상 1건 이하인 서브쿼리.
- 항상 비교연산자와 함께 사용된다.
- 비교현산자 뒤에는 단일행이 와야 하는데 뒤에 GROUP BY DEPT는 다중행 함수로 멀티행을 반환하여 에러가 발생함.
- 다중행 서브쿼리
- 서브쿼리의 실행 결과가 여러 건인 서브쿼리
- 메인 쿼리의 조건 절에 여러 칼럼을 동시에 비교할 수 있다.
- 서브쿼리와 메인쿼리의 칼럼 수와 칼럼 순서가 동일해야 한다.
'WorkHard > 자격증' 카테고리의 다른 글
[SQLD 개발자] 기출문제 공부(30회) (0) | 2023.03.02 |
---|---|
[SQLD 개발자] 기출문제 공부(21회) (0) | 2023.03.01 |
[SQLD 개발자] 기출문제 공부(21회) (0) | 2023.02.28 |
[SQLD 개발자] 기출문제 공부(21회) (0) | 2023.02.27 |
[SQLD 개발자] 기출문제 공부(21회) (0) | 2023.02.22 |