Part 8. SQL ( 고급 SQL )
정보처리기사 실기 Part 8. SQL (고급 SQL)
Section 1. 인덱스 (INDEX)
1.인덱스
- " 원하는 데이터를 빠르게 식별하기 위해서 컬럼값과 레코드의 논리적인 주소를 별도의 저장구조로 저장하는 것 "
- 인덱스 파일은 키 값과 주소로 구성
- 기본키 속성 인덱스 - 기본 인덱스 , 일반 속성 인덱스 - 보조 인덱스
- 여러 개의 속성으로 결합하여 인덱스 구성 가능
CREATE [UNIQUE] INDEX 인덱스이름
ON 테이블이름 (속성이름 [ASC | DESC])
[CLUSTER]
ALTER [UNIQUE] INDEX 인덱스 이름
ON 테이블이름(속성이름 [ASC | DESC]);
DROP INDEX 인덱스이름;
2. 인덱스 구조
- B -트리, B + 트리
3. B - 트리
- " 검색의 효율을 높이기 위해 자료의 구조를 균형 있는 트리 구조로 나타내는 방법 "
4. B + 트리
- " B 트리의 변형으로 인덱스 세트와 순차 세트로 구성된 것 "
- 인덱스 세트는 단말 노드를 찾기 위한 인덱스 제공, 순차 세트는 단말 노드로만 구성 됨
- 순차 세트 단말 노드에는 모든 키 값이 다시 나타나고 중복이 가능함
5. 인덱스 기타 유형
- 클러스터드 인덱스 - 테이블의 물리적 순서와 인덱스 순서가 동일, 하나만 생성 가능
- 넌클러스터드 인덱스 - 물리적 테이블을 재구성하지 않고 인덱스 순서만 정렬
6. 인덱스 스캔 방식
- 속성값의 유일성 - unique / nonunique
- 속성의 수 - 단일 인덱스 / 결합 인덱스
Section 2. 뷰(VIEW)와 시스템 카탈로그
1. 뷰 (VIEW)
- " 실제 존재하는 테이블에서 사용자가 원하는 제한된 데이터를 추출하여 만들어진 가상 테이블
CREATE VIEW 뷰이름 [(속성이름)]
AS SELECT 실제테이블의속성이름
FROM 실제테이블이름
[WHERE 조건]
[WITH CHECK OPTION]; # 뷰에 대한 데이터 조작 연산시 WHERE 조건에 맞지 않으면 실행 X
CREATE VIEW 3학년연락처(학번, 이름, 전화번호)
AS SELECT 학번, 성명, 연락처
FROM 학생
WHERE 학년 = 3;
DROP VIEW 뷰이름 [RESTRICT | CASCADE];
2. 시스템 카탈로그
- " 스키마 및 데이터베이스 객체에 대한 모든 정보 (메타데이터)를 저장한 시스템 데이터베이스 "
3. UPDATE
UPDATE 테이블이름
SET 속성이름 = 변경내용
[WHERE 조건];
4. DELETE
DELETE FROM 테이블이름
[WHERE 조건];
Section 3. 다중 테이블 검색
1. 조인 (JOIN)
- " 둘 이상의 테이블로부터 특정 공통된 값을 갖는 행을 연결하거나 조합하여 검색하는 것 "
2. 조인의 종류
① 내부 조인 - 동등 조인, 자연 조인, 비동등 조인
② 외부 조인 - 조인 조건에 만족하지 않는 행도 표현
③ 셀프 조인 - 한 테이블 내에서 조인
④ 교차 조인 - 카티션 곱
3. 동등 조인
- " 조인 대상이 되는 두 테이블에서 공통 컬럼의 값이 일치되는 공통 행을 연결 "
- 공통 컬럼 중복 등장
SELECT * FROM 학생 S, 학과 D
WHERE S.학과번호 = D.학과번호;
4. 자연 조인 (Natural Join)
- " 모든 컬럼을 대상으로 공통 컬럼의 값이 일치되는 공통행을 자동으로 조인 "
- 공통 컬럼 하나만 등장
SELECT * FROM 학생 NATURAL [INNER] JOIN 학과;
5. 집합(SET) 연산자
① UNION - 각 집합의 합
② UNION ALL - 각 집합의 합 중복된 결과 포함
③ INTERSECT - 각 집합의 공통된 행을 반환
④ MINUS - 공통 행을 제외한 행을 반환
SELECT * FROM 데이터베이스
UNION/UNION ALL/INTERSECT/MINUS
SELECT * FROM 인공지능;
Author And Source
이 문제에 관하여(Part 8. SQL ( 고급 SQL )), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@codren/Part-8.-SQL-고급-SQL저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)