[SQL 고급] 뷰, 인덱스
1. 뷰(view) 하나 이상의 테이블을 합하여 만든 가상의 테이블 1.1. 장점 독립성: 미리 정의된 뷰를 일반 테이블처럼 사용할 수 있기 때문에 편리하고, 사용자가 필요한 정보만 요구에 맞게 가공하여 뷰로 만들어 쓸 수 있음 원본 테이블의 구조가 변해도 응용에 영향을 주지 않도록 하는 논리적 독립성 제공 ...
1. 뷰(view) 하나 이상의 테이블을 합하여 만든 가상의 테이블 1.1. 장점 독립성: 미리 정의된 뷰를 일반 테이블처럼 사용할 수 있기 때문에 편리하고, 사용자가 필요한 정보만 요구에 맞게 가공하여 뷰로 만들어 쓸 수 있음 원본 테이블의 구조가 변해도 응용에 영향을 주지 않도록 하는 논리적 독립성 제공 ...
1. 부속질의란? 하나의 SQL 문 안에 다른 SQL 문이 중첩된(nested) 질의 다른 테이블에서 가져온 데이터로 현재 테이블에 있는 정보를 찾거나 가공할 때 사용 보통 데이터가 대량일 때 데이터를 모두 합쳐서 연산하는 조인보다 필요한 데이터만 찾아서 공급해주는 부속질의가 성능이 더 좋음 주질의(main query, 외부질의)와 ...
1. SQL 함수 SQL 함수란 수학이나 다른 프로그래밍 언어에 존재하는 그것으로, 특정 값이나 열의 값을 입력받은 뒤 결과를 돌려주는 SQL의 기능이다. SQL의 함수는 크게 두 가지로 나뉜다. 내장 함수(built-int function): DBMS가 기본으로 제공하는 함수 사용자 정의 함수(user-defi...
1. INSERT 문 테이블에 새 튜플을 삽입하는 명령어 1.1. 문법 []: 생략 가능 INSERT INTO <table name> [ ( <attr. list> ) ] VALUES ( <value list> ); 1.2. 예시 질의 3-44 Book 테이블에 새로운 도서 ‘스포츠 의...
1. 데이터 정의어(DDL) 데이터를 저장하기 위해 우선 데이터를 저장할 테이블의 구조를 만들어야 하는데, 데이터 정의어(DDL, Data Definition Language)로 이 작업을 수행할 수 있다. 대표적으로 CREATE, ALTER, DROP이 있다. 2. CREATE 문 CREATE 문은 다음과 같은 사항을 정의하는 명령어이다. ...
1. UNION 테이블은 튜플의 집합이므로 테이블 간 집합 연산(합집합, 차집합, 교집합)을 할 수 있다. 이 중 UNION은 합집합 연산이다. 질의 3-32 대한민국에서 거주하는 고객의 이름과 도서를 주문한 고객의 이름을 보이시오. 정답 SELECT name FROM Customer WHERE address LIKE '대한...
1. 부속질의(Sub-Query) “가장 비싼 도서의 이름은 무엇인가?”라는 질문의 답을 구한다고 가정하자. 만약 질문이 “가장 비싼 도서의 가격은 무엇인가?” 이었다면 다음과 같은 질의를 작성하면 되며, 35000원이라는 답을 구할 수 있다. SELECT MAX(price) FROM Book; 가장 비싼 도서의 가격을 이용해 아래와 같...
1. 조인 두 개 이상의 테이블에 동시에 질의를 할 수 있다. 이것은 조인(Join) 연산을 이용해 할 수 있는데, 이것은 한 테이블의 행에 다른 테이블의 행을 연결해 결합하는 연산이다. 가장 기본적으로 조인을 아래처럼 할 수 있다. -- 카테시안 곱과 동일하다. SELECT * FROM Customer, Orders; 질의 결과...
1. SELECT 문 1.1. 구성요소 SELECT문의 구성요소 1.2. 기본 문법 <>: SQL 예약어가 아닌 부분, 속성명이나 조건식 등이 올 수 있음 []: 대괄호 안의 SQL 예약어들은 선택적으로 사용할 수 있음 |: 선택 가능한 문법들 중 한 개를 사용할 수 있음 attr.: attribute(속성) S...
1. SQL 개요 고객이 ‘축구의 역사’ 도서의 출판사와 가격을 알고 싶어 할 때, 프로그래머는 어떻게 해야할까? 프로그래머는 DBMS에게 적절한 명령어를 내림으로써 목표를 달성할 수 있는데, 이 때 사용하는 데이터베이스 전용 언어를 SQL$^{\mathrm{Structured\;Query\;Language}}$이라고 한다. 고객이 원하는 정보를 ...