티스토리 뷰
[한빛아카데미] 오라클로 배우는 데이터베이스 개론과 실습 책으로 학습한 내용을 정리한 것입니다.
* 내장 함수(Built-in Function)
- DBMS가 제공함
- 상수나 속성 이름을 입력 값으로 받아 단일 값을 결과로 반환함
* 숫자 함수
* 문자 함수
* 날짜 및 시간 함수
* 부속질의(Subquery)
- 하나의 SQL문 안에 다른 SQL문이 중첩된 질의를 뜻함
- 데이터가 대량일 경우 데이터를 모두 합쳐서 연산하는 조인보다 필요한 데이터만 찾아서 공급해주는 부속질의가 성능이 더 좋음
* 뷰(View)
- 하나 이상의 테이블을 합하여 만든 가상의 테이블
[장점]
- 편리성 : 미리 정의된 뷰를 일반 테이블처럼 사용할 수 있기 때문에 편리함
- 재사용성 : 자주 사용되는 질의를 뷰로 미리 정의해 놓을 수 있음
- 보안성 : 각 사용자별로 필요한 데이터만 선별하여 보여줄 수 있음
[뷰 - 생성문]
CREATE VIEW 뷰이름[(열이름 [, ...n])]
AS SELECT 문
[뷰 - 수정문]
CREATE OR REPLACE VIEW 뷰이름[(열이름 [, ...n])]
AS SELECT 문
[뷰 - 삭제문]
DROP VIEW 뷰이름[, ...n];
* 인덱스(Index)
- 자료를 쉽고 빠르게 찾을 수 있도록 만든 데이터 구조
- 원하는 데이터를 빨리 찾기 위해 투플의 키 값에 대한 물리적 위치를 기록해둔 자료구조
[인덱스 - 생성문]
CREATE [REVERSE] [UNIQUE] INDEX [인덱스이름]
ON 테이블이름 (컬럼 [ASC|DESC] [{, 컬럼 [ASC|DESC]} ...])[;]
[인덱스 - 재구성문]
ALTER [REVERSE] [UNIQUE] INDEX 인덱스 이름
[ON {ONLY} 테이블이름 (컬럼이름 [{, 컬럼이름}...])] REBUILD[;]
[인덱스 - 삭제문]
DROP INDEX 인덱스이름[;]
* B-Tree 구조(Balanced-tree)
- 일반적인 RDBMS가 사용하는 대부분의 인덱스 구조
- 데이터의 검색 시간을 단축하기 위한 자료구조
- 루프 노드, 내부 노드, 리프 노드로 구성되며, 리프 노드가 모두 같은 레벨에 존재하는 균형 트리임
- 각 노드는 키 값과 포인터를 가지며, 키 값은 오름차순으로 저장되어 있음
- 키 값이 새로 추가되거나 삭제될 경우 동적으로 노드를 분할하거나 통합하여 항상 균형 상태를 유지함
* 인덱스의 특징
- 인덱스는 테이블에서 한 개 이상의 속성을 이용하여 생성함
- 빠른 검색과 함께 효율적인 레코드 접근이 가능함
- 순서대로 정렬된 속성과 데이터의 위치만 보유하므로 테이블보다 작은 공간을 차지함
- 저장된 값들은 테이블의 부분집합이 됨
- 일반적으로 B-tree 형태의 구조를 가짐
- 데이터의 수정, 삭제 등의 변경이 발생하면 인덱스의 재구성이 필요함
'개인공부 > 데이터베이스' 카테고리의 다른 글
[데이터베이스] 데이터 모델링(Data Modeling) (0) | 2023.12.04 |
---|---|
[데이터베이스] 데이터베이스 프로그래밍 (0) | 2023.12.04 |
[데이터베이스] SQL 기초 (0) | 2023.12.04 |
[데이터베이스] 관계대수(Relational Algebra) (0) | 2023.12.04 |
[데이터베이스] 관계 데이터 모델(Relational Data Model) (0) | 2023.12.04 |