본문 바로가기

정보처리산업기사 필기 공부/SQL_활용

(7)
다중 테이블 검색(SQL_활용) 다중 테이블 검색 방법 관계형 데이터베이스는 데이터의 중복을 최소화하기 위해 데이터를 분해하여 저장하고 통합하여 사용한다. 데이터를 분해하는 방법으로 정규화 기법이 사용되며, 통합하는 기법으로 다중 테이블에 대한 검색이 사용된다. 조인 - 두개의 테이블을 결합하여 데이터를 추출하는 기법 서브쿼리 - SQL문 안에 포함된 SQL문 형태의 사용 기법 집합 연산 - 테이블을 집합 개념으로 조작하는 기법 조인 1. 조인 개념 조인은 결합을 의미하며, 관계형 데이터베이스에서의 조인은 교집합 결과를 가지는 결합 방법을 의미한다. 교집합이 되는 공통점은 다양한 관점에서 정의될 수 있다. 여기서 그 관점을 정의하는 것이 바로 조인의 조건이 된다. 2. 조인 유형 조인은 관계형 데이터베이스의 가장 큰 장점이면서 대표적인..
뷰 활용(SQL_활용) 뷰 개요 뷰는 논리 테이블로서 사용자에게(생성 관점이 아닌 사용 관점에서) 테이블과 동일하다. 아래 그림에서 '테이블A'와 '테이블B'는 물리 테이블을 의미하고, '뷰C'는 두개의 테이블을 이용하여 생성한 뷰를 의미한다. 뷰는 '테이블A'와 같은 하나의 물리 테이블로부터 생성 가능하며, 다수의 테이블 또는 다른 뷰를 이용해 만들 수 있다. 위 그림의 뷰와 같은 결과를 만들기 위해 다음 장에서 배울 조인 기능을 활용할 수 있으나, 뷰가 만들어져 있다면 사용자는 조인 없이 하나의 테이블을 대상으로 하는 단순한 질의어를 사용할 수 있다. 뷰 활용 상세 1. 뷰 사용 뷰를 사용하는 주된 이유는 다음과 같은 단순한 질의어를 사용할 수 있기 때문이다. SELECT * FROM ; 뷰의 장점 논리적 독립성 제공 - ..
인덱스 활용(SQL_활용) 인덱스 개요 1. 인덱스 개념 인덱스는 데이터를 빠르게 찾을 수 있는 수단으로서, 테이블에 대한 조회 속도를 높여 주는 자료구조를 일컫는다. 인덱스는 다음 그림과 같이 테이블의 특정 레코드 위치를 알려주는 용도로 사용하는데, 이러한 인덱스는 자동으로 생성되지 않는다. PK 컬럼은 PK를 생성할 때 자동으로 인덱스가 생성된다. 즉, PK 컬럼은 PK를 생성할 때 자동으로 PK 인덱스가 생성된다. 예를 들어 위의 그림과 같은 테이블에서 일련번호를 기본키로 하는 경우, 일련 번호에 대한 인덱스는 자동으로 생성되나, 생년월일이나 이름을 기준으로 하는 인덱스는 자동으로 생성되지 않는다. 인덱스 사용 1. 인덱스 사용 주체 그림에서 '이름' 컬럼에 대한 인덱스가 생성되어 있다면 데이터를 빠르게 찾을 수 있다. 이때..
데이터 사전 검색(SQL_활용) 데이터 사전 1. 데이터 사전 개념 데이터 사전에는 데이터베이스의 데이터를 제외한 모든 정보가 있다. 데이터 사전의 내용을 변경하는 권한은 시스템이 가지며, 사용자에게는 읽기 전용 테이블 형태로 제공되므로 단순 조회만 가능하다. 데이터를 제외한 모든 정보라는 것은 데이터의 데이터를 의미한다. 따라서 데이터 사전은 메타데이터로 구성되어 있다고 할 수 있다. 2. 데이터 사전 내용 데이터 사전 안에 존재하는 메타데이터의 유형은 다음과 같다. 사용자 정보(아이디, 패스워드 및 권한 등) 데이터베이스 객체 정보(테이블, 뷰, 인덱스 등) 무결성 제약 정보 함수, 프로시저 및 트리거 등 데이터 사전 내용이 메타데이터라는 것은 모든 DBMS 제품에 공통이지만 데이터 사전을 구현하는 방법, 관리하는 방법 등의 차이로..
DCL(SQL_활용) DCL 개요 1. DCL 유형 데이터 베이스에서 데이터 이외의 오브젝트에 대해 조작할 때 사용하는 명령어 이다. DCL 조작 대상 오브젝트 목적 내용 사용자 권한 접근 통제 사용자를 등록하고, 사용자에게 특정 데이터베이스를 사용할 수 있는 권리를 부여하는 작업 트랜잭션 안전한 거래 보장 동시에 다수의 작업을 독립적으로 안전하게 처리하기 위한 상호 작용 단위 트랜잭션 제어를 위한 명령어 TCL(Transaction Control Language)이 있다. TCL과 DCL은 대상이 달라 서로 별개의 개념으로 분류할 수 있으나, 제어 기능의 공통점으로 DCL의 일부로 분류하기도 한다. DCL 명령어 DCL GRANT - 데이터베이스 사용자 권한 부여 REVOKE - 데이터 베이스 사용자 권한 회수 TCL CO..
DML (SQL_활용) DML 개요 1. DML 의미 - 데이터를 조작하는 명령어를 DML(Data Manipulation Language)이라고 한다. 여기서 조작은 데이터 관점에서 생명 주기를 제어하는 것을 의미한다. 2. DML 유형 구분 DML명령어 내용 데이터 생성 INSERT 삽입 형태로 신규 데이터를 테이블에 저장 데이터 조회 SELECT 테이블의 내용을 조회 데이터 변경 UPDATE 테이블의 내용을 변경 데이터 삭제 DELETE 테이블의 내용을 삭제 DML 명령문 1. 데이터 삽입(INSERT) - 데이터를 삽입하기 위한 명령어이다. (이때 데이터 삽입 결과로 하나의 레코드가 추가된다. 따라서 삽입에 사용되는 정보는 하나의 레코드를 충분히 묘사 해야한다) 형태 INSERT 명령문 A INSERT INTO 테이블 ..
DDL (SQL_활용) DDL - DDL은 '데이터를 정의하는 언어'로서, DBMS에서는 오브젝트라고 한다. - 오브젝트를 생성, 변경, 그리고 제거 하기 위한 언어 오브젝트 유형 DDL 대상 설명 비고 스키마(Schema) -DBMS 특성과 구현 환경을 감안한 데이터 구조 DBMS마다 차이 도메인(Domain) -속성의 데이터 타입과 크기, 제약 조건 등을 지정한 정보 -속성이 가질 수 있는 값의 범위로 이해 가능 예를 들어, 주소를 VARCHAR(120)로 정의 테이블(Table) -데이터 저장 공간 뷰(View) -하나 이상의 물리 테이블에서 유도되는 가상의 논리 테이블 인덱스(Index) -검색을 빠르게 하기 위한 데이터 구조 스키마란? 1. 스키마는 데이터베이스의 구조와 제약 조건에 관한 전반적인 명세를 기술한 메타데..