DB

[IT국비지원교육_코딩_비전공자] 기본 SQL문 개념 정리(2)

coolcode 2022. 5. 10. 14:57

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)/

>>서브쿼리와 메인쿼리 비교 컬럼 개수,위치 동일해야 함

 

집합연산- 동일 테이블에서 서로 다른 질의를 수행하여 결과를 합치고자 할 때도 사용할 수 있음