[IT국비지원교육_코딩_비전공자] 기본 SQL문 개념 정리(2)
SQL 의미
- 구조적 질의어 (<-> 절차적)
-데이터베이스(연관데이터의 모음) 조작언어
- ISO(국제표준화기구)/ANSI(미국국가표준협회)표준 정의
데이터베이스의 정의
: 저장데이터/ 통합데이터/공유 데이터/운영데이터
Ø 조직의 목적을 위해 존재하는 운영데이터를 통합 저장 및 공동으로 사용하도록 관리하는 시스템
인덱스
조회 속도를 높여주는 자료구조로 테이블의 특정 레코드 위치를 알려주는 용도로 사용
CREATE INDEX idx_ex ON tbl_name (columns)
인덱스 설계 과정
Ø 데이터 검색 조건 수집
Ø 접근경로(=검색조건) 결정
컬럼 조합 및 순서 결정
적용 및 test
뷰
다수의 테이블 또는 다른 뷰로 만들 수 있고 사용 목적은 단순한 질의어 사용
CREATE VIEW view_name 컬럼 목록 as 뷰로 보여줄 조회용 쿼리문
장점: 논리적 독립성/ 사용자 데이터 관리 및 데이터 보관 용이(테이블의 일부 정보만 볼 수 있게 하여 보안 데이터 접근 제어 가능)
단점: 뷰 자체 인덱스를 가지지 못함 / 뷰 정의 변경 불가(뷰 삭제 후 재생성해야 함)
/ 데이터 변경 제약 존재(뷰 내용에 대한 삽입, 삭제, 변경 제약있음)
단, 뷰 내용은 변경가능(뷰를 통해 접근 가능한 데이터에 대한 변경은 가능/일부제약있음)
다중 테이블 검색(조인 서브쿼리 집합 연산자 사용하여 두 개 이상의 테이블로부터 데이터 조회)
>관계형 DB는 데이터의 중복 최소화를 위해 데이터를 분해/저장하고 ‘통합’하여 사용함
> 통합 시 다중테이블 검색이 사용됨
-조인(=교집합) > rdbms의 대표 핵심 기능
두 테이블의 컬럼 이름이 같은 값을 조건으로 하면 자연조인
특정 컬럼을 지정하여 같은 값 비교시 동등조인
값이 다른 것을 비교하면 비동등 조인
Ø Using 조건절이나 on조건절 사용
서브쿼리
유형
> 비연관(메인쿼리 컬럼을 갖고있지 않음)/연관(서브쿼리가 메인쿼리 컬럼을 갖고 있음)
> 단일행(비교연산자 사용)/다중행(IN ALL ANY SOME)/
>>서브쿼리와 메인쿼리 비교 컬럼 개수,위치 동일해야 함
집합연산- 동일 테이블에서 서로 다른 질의를 수행하여 결과를 합치고자 할 때도 사용할 수 있음