SQL
필수 기능 3가지
- 정의(Definition) 기능
- 조작(Manipulation) 기능
- 제어(Control) 기능
데이터 모델 구성요소
- 속성 : 데이터의 가장 작은 논리적 단위로서 파일 구조상의 데이터 항목 또는 데이터 필드
- 관계 : 개체 간의 관계 또는 속성 간의 논리적인 연결을 의미
- 개체 : 데이터베이스에서 표현하는 것으로, 사람이 생각하는 개념이나 정보 단위 같은 현실 세계의 대상체
DDL (Data Define Language, 데이터 정의어)
DB를 구축하거나 수정할 목적으로 사용하는 언어
CREATE(정의) | SCHEMA, DOMAIN, TABLE, VIEW, INDEX 정의 |
ALTER(변경) | TABLE에 대한 정의를 변경하는데 사용 |
DROP(삭제) | SCHEMA, DOMAIN, TABLE, VIEW, INDEX 삭제 |
예시
- CREATE SCHEMA 스키마명 AUTHORIZATION 사용자ID
- CREATE VIW 뷰명(컬럼) AS SELECT 문
- CREATE INDEX 인덱스명 ON 테이블명(속성)
DCL(Data Control Language, 데이터 제어어)
데이터의 보안, 무결성, 회복, 병행 제어 등을 정의하는 데 사용됨
종류
- COMMIT : 명령에 의해 수행된 결과를 실제 물리적 디스크에 저장하고, 데이터베이스 조작 작업이 정상적으로 완료되었음을 알림, 트랜잭션이 수행한 후 내용을 데이터베이스 반영하는 명령어
- ROLLBACK : 데이터베이스 조작 작업이 비정상적으로 종료되었을 때 원래 상태로 복구, COMMIT 되지 않은 모든 내용들을 취소하고 데이터베이스를 이전상태로 되돌리는 명령어
- SAVEPOINT : 트랜잭션 내에 ROLLBACK 할 위치인 저장점을 지정하는 명령어
트랜잭션의 특징
- 원자성(Automicity) : 트랜잭션이 포함된 작업들은 모두 수행(COMMIT)되거나 전혀 수행되지 않아(ROLLBACK)야함
- 일관성(Consistency) : 트랜잭션은 성공적인 경우에는 일관성있는 상태이어야 한다.
- 독립성(Isolation) : 둘 이상의 트랜잭션이 병행 실행되는 경우 어느 하나의 트랜잭션이 실행중일 때 다른 트랜잭션은 연산에 끼어들 수 없다.
- 지속성(Durability) : 성공적으로 완료된 트랜잭션의 결과는 시스템이 고장나도 영구적으로 반영된다.
- GRANT : 데이터베이스 사용자에게 사용 권한 부여
ex) GRANT 사용자 등급 TO 사용자ID
- REMOVE : 데이터베이스 사용자에게 사용 권한 취소
ex) REVOKE 사용자 등급 FROM 사용자ID
DML(Data Manipulation Language, 데이터 조작어)
저장된 데이터를 실직적으로 관리하는 용어
종류
- SELECT : 테이블에서 튜플을 검색함
ex) SELECT 컬럼명 FROM 테이블명;
- INSERT : 테이블 새로운 튜플을 삽입함
ex) INSERT INTO 테이블(컬럼) VALUES (데이터);
- DELETE : 테이블에서 튜플을 삭제함
ex) DLETE FROM 테이블명 [WHERE 조건];
- UPDATE : 테이블에서 튜플의 내용을 갱신함
ex) UPDATE 테이블명 SET 속성명 = 데이터, [속성명 = 데이터] [WHERE 조건];
커서(Cursor)
쿼리문이 처리 결과가 저장되어 있는 메모리 공간을 가리키는 포인터이다.
- 묵시적 커서 : DBMS 내부에서 자동으로 생성되어 자동으로 사용되는 커서이다
- 명시적 커서 : 사용자가 기접 정의해서 사용하는 커서이다.
분산 데이터베이스(Distributed Database)
논리적으로 같은 시스템에 속하지만 물리적으로는 컴퓨터 네트워크를 통해 분산되어 있는 데이터베이스
목표
- 중복 투명성 : 동일한 데이터가 여러 곳에 중복되어 있더라도 사용자는 마치 하나의 데이터만 존재하는 것 처럼 사용할 수 있고, 시스템은 자동으로 여러 데이터에 대한 작업을 수행한다.
- 장애 투명성 : 트랜잭션, DBMS, 네트워크, 컴퓨터 장애에도 불구하고 트랜잭션은 정확하게 수행된다.
- 병행 투명성 : 분산 데이터베이스와 관련된 다수의 트랜잭션이 동시에 실행되더라도 그 트랜잭션들은 수행 결과는 서로 영향받지 않는다.
- 위치 투명성 : 접근하려는 데이터베이스의 실제 위치를 알 필요 없이 단지 데이터베이스의 논리적인 명칭만으로 접근 할 수 있다.
데이터베이스 시스템의 3단계 구조
개요: 데이터베이스는 하나의 DB에 대해 여러 관점으로 가진 여러 사용자들에게 효율적으로 사용되기 위해 외부(external) 단계, 개념(conceptual) 단계, 내부(internal) 단계로 구성된 3단계 구조(3-level database architecture)로 되어있음
=> 또는 ANSI/SPARC 구조 라고도 함
외부 단계(External Level)
추상화의 최상위 단계로 뷰 단계에서의 스키마는 외부 스키마로 칭하며 이는 사용자에게 필요한 부분만을 보여주고 나머지 사항들은 숨길 수 잇습니다.
개념 단계(Conceptual Level)
물리적 저장 구조의 세부사항을 숨기고, 데이터 유형, 속성, 관계를 기술하는 단계로, 논리적 단계라고 한다.데이터베이스의 전체 구조를 추상화하는 단계에서 개념 스키마를 통해 구조를 기술한다.모든 외부 스키마는 이 개념 스키마를 통해 생성되며 개념 스키마는 모든 응용프로그램이나 사용자가 원하는 구조를 전체적인 관점에서 기술하므로 하나만이 존재한다.
내부 단계(Internal Level)
물리적 단계로 추상화의 최하위 단계이다, 하나의 내부 스키마가 존재하며 이는 개념 스키마에 대한 저장 구조를 정의 한 것으로 저장 스키마라고도 한다, 내부 스키마는 데이터베이스의 물리적 저장 구조를 정의한다.
그 외
데이터 마이닝
대량의 데이터를 분석하여 데이터에 내재된 변수사이의 상호관계를 규명하여 일정한 패턴을 찾아내는 기법
파티션(Partition)
대용량 테이블이나 인덱스를 작은 논리적 단위로 나눈 것, 대용량 DB의 경우 몇 개 중요한 테이블에만 집중되어 데이터가 증가하므로, 이런 테이블들을 작은 단위로 나눠 분산시키면 성능 저하를 방지할 뿐만 아니라 데이터 관리도 쉬워짐
단 분산된 테이블 끼리의 조인 비용 증가 및 세심한 관라가 요구됨
데이터 웨어하우스
급증하는 다량의 데이터를 분석하여 정보화하고 이를 여러 계층의 사용들이 효율적을 사용할 수 있도록 한 데이터베이스이다, 신속 정확한 의사결정으로 경쟁력을 확보하기 위하여 의사결정용 데이터베이스의 필요성으로 인해 등장하였으며, 다양한 데이터베이스부터 추출된 데이터만을 저장하고 필요한 인덱스를 생성한 후 데이터의 다차원 분석 도구로 이를 분석하여 의사결정에 필요한 자료를 얻는다.
클러스터
데이터 저장시 데이터 액세스 효율을 향상시키기 위해 동일한 성격의 데이터를 동일한 데이터 블록에 저장하는 물리적 장치
ODBC(Open DataBase Connectivity)
데이터베이스에 접근하기 위한 표준 개방형 API로 1992년 9월 마이크로소프트사에서 출시했다. 개발 언어와 상관없이 쓸 수 있다.
'자격증 > 정보처리기사' 카테고리의 다른 글
정보처리기사 실기 정리 7강 [애플리케이션 테스트] (0) | 2021.10.13 |
---|---|
정보처리기사 실기 정리 2강 [데이터 입출력 구현] (0) | 2021.10.13 |
정보처리기사 실기 정리 12강 [제품 소프트웨어 패키징] (0) | 2021.10.11 |
정보처리기사 실기 정리 9강 [소프트웨어 개발 보안 구축] (0) | 2021.10.11 |
정보처리기사 실기 정기 11강 [응용 SW 기초 기술 활용] (0) | 2021.10.10 |