1. VIEW
- 사용자에게 접근이 허용된 자료만을 제한적으로 보여주기 위해 하나 이상의 기본 테이블로부터 유도된, 이름을 가지는 가상테이블
- 뷰는 논리적으로 존재
- 뷰를 통해서만 데이터에 접근하게 하면 뷰에 나타나지 않는 데이터를 안전하게 보호하는 효율적인 기법으로 사용 가능
- 뷰가 정의된 기본 테이블이나 뷰를 삭제하면 그 테이블이나 뷰를 기초로 정의된 다른 뷰도 자동으로 삭제된다.
- VIEW의 장단점
장점 | 단점 |
- 논리적 데이터 독립성을 제공함 - 동일 데이터에 대해 동시에 여러 사용자의 상이한 응용이나 요구를 지원함 - 사용자의 데이터 관리를 간단하게 해줌 - 접근 제어를 통한 자동 보안 제공 |
- 독립적인 인덱스를 가질 수 없음 - 뷰의 정의를 변경할 수 없음 - 뷰로 구성된 내용에 대한 삽입, 삭제, 갱신 연산에 제약이 따름 |
2. 인덱스(Index)
- 데이터레코드를 빠르게 접근하기 위해 <키 값, 포인터> 쌍으로 구성되는 데이터 구조
- 책의 책갈피 역할
- 기본키를 위한 인덱스를 기본 인덱스라 하고, 대부분의 관계형 데이터베이스 관리 시스템에서는 모든 기본키에 대해서 자동적으로 기본 인덱스를 생성
- CREATE INDEX idx_name ON student(name);
3. 집합연산자
- 순수 관계 연산자
SELECT | - 릴레이션에 존재하는 튜플 중에서 선택 조건을 만족하는 튜플의 부분 집합을 수하여 새로운 릴레이션을 만듦 - 릴레이션의 행에 해당하는 튜플을 구하는 것으로 수평연산 이라고도 함 |
PROJECT | - 릴레이션에 속서에 제시된 Attribute만을 추출하는 연산, 수직연산 이라고도 함 |
JOIN | - 공통 속성을 중심으로 두 개의 릴레이션을 하나로 합쳐서 새로운 릴레이션을 만듦 |
DIVISION | - |
4. JOIN
- 2개의 릴레이션을 결합하여, 하나의 새로운 릴레이션을 반환하며, 두 테이블을 조합하여 데이터를 추출하고 싶을 때 사용
- 크게 INNER JOIN 과 OUTER JOIN으로 구분
INNER JOIN | EQUI JOIN | JOIN 대상 테이블에서 공통 속성을 기준으로 = 비교에 의해 같은 값을 가지는 행을 연결하여 결과를 생성하는 JOIN 방법 |
1. WHERE JOIN SELECT [테이블명1]속성명, [테이블명2]속성명 FROM 테이블명1, 테이블명2 WHERE 테이블명1.속성명 = 테이블명2.속성명; |
||
2. ANTURE JOIN JOIN 조건이 = 일 때 동일한 속성이 두 번 나타나게 되는데, 이 중 중복된 속성을 제거하여 같은 속성을 한 번만 표기하는 방법 SELECT [테이블명1]속성명, [테이블명2]속성명 FROM 테이블명1 NATURE 테이블명2; |
||
NON-EQUI JOIN | - JOIN 조건에 =조건이 아닌 나머지 비교 연산자로 >, <, <>, >=, <= 연산자를 이용하는 JOIN 방법 |
|
SLEECT [테이블명1]속성명, [테이블명2]속성명.. FROM 테이블명1, 테이블명2... WHERE (NON-EQUI JOIN 조건); |
||
OUTER JOIN | Left outer Join | INNER JOIN의 결과를 구한 후, 우측 항 릴레이션의 어떤 튜플과도 맞지 않는 좌측 항의 릴레이션에 있는 튜플들에 NULL 값을 붙여서 INNER JOIN의 결과를 추가 |
SELECT [테이블명1]속성명, [테이블명2]속성명.. FROM 테이블명1 LEFT OUTER JOIN 테이블명2 ON 테이블명1.속성명 = 테이블명2.속성명; |
||
FULL OUTER JOIN | JOIN으로 연결되지 않은 데이터도 모두 NULL로 채워서 출력 SELECT [테이블명1].속성명, [테이블명2].속성명 FROM 테이블명1 FULL OUTER JOIN 테이블명2 ON 테이블명1.속성명 = 테이블명2.속셩명; |
|
CROSS JOIN | - 조인하는 두 테이블에 있는 튜플의 순서쌍을 결과로 반환 - 교차 조인의 결과로 반환되는 테이블의 행의 수는 두 테이블의 행 수를 곱한 것과 같음 - 조인 조건 없는 모든 데이터 조합을 추출 (모든 경우의수 = 테이블1 튜플의 수 * 테이블2 튜플의 수) |
'정보처리기사 준비 > DB 파트 정리' 카테고리의 다른 글
[DB] 스토리지, 무결성 (1) | 2024.04.10 |
---|---|
[DB] 정규화, 반정규화, 후보키 (1) | 2024.04.10 |
[DB] 회복 기법, 병행 제어 기법, 로킹 단위 (0) | 2024.04.03 |
[DB]트랜잭션 (Transaction), CRUD (0) | 2024.04.03 |
[DB] 요점 및 오답노트 (1) | 2024.03.30 |