자격증/정보처리기사 필기 준비

3과목 데이터베이스 정리

동준1234 2024. 10. 18. 19:54

3과목 데이터베이스 구축

 

1. SQL 구조

트리거 : 데이터베이스 시스템에서 삽입, 갱신, 삭제 등의 이벤트가 발생할 때마다 관련 작업이 자동으로 수행되는 절차형 SQL

무결성 : 데이터베이스에 저장된 데이터 값과 그것이 표현하는 실제 값이 일치하는 정확성

잠금 : 같은 자원을 엑세스하는 다중 트랜잭션 환경에서 DB의 일관성과 무결성을 유지하기 위해 트랜잭션의 순차적 진행을 보장하는 직렬화 기법

복귀 : 데이터베이스에서 업데이트 오류가 발생할 때, 이전 상태로 되돌리는 명령어

 

2. SQL 언어

분류
설명
데이터 정의어(DDL)
데이터를 정의하는 언어
테이블이나 관계의 구조를 생성하는데 사용
크알드투 (CREATE, ALTER, DROP, TRUNCATE)
데이터 조작어(DML)
데이터베이스에 저장된 자료들을 입력, 수정, 삭제, 조회하는 언어
세인없대 (SELECT, INSERT, UPDATE, DELETE)
SELECT 문은 특별히 질의어(Query) 라고 부름
데이터 제어어
(DCL)
데이터베이스 관리자가 데이터 보안, 무결성 유지, 병행성 제어, 회복을 위해 사용하는 제어용 언어
GRANT, REVOKE
트랜잭션 제어어
(TCL)
COMMIT, ROLLBACK, CHECKPOINT

 

3. SQL 논리 연산자

OR, NOT, AND

 

4. DISTINCT(중복제거)

- DISTINCT 의 경우 동일한 튜플을 제거하고 검색함

검색결과에 중복되는 레코드를 없애기 위해서는 SELECT 절에 DISTINCT 키워드를 사용함.

 

5. DML 문법

연산
설명
갱신
UPDATE~SET
삭제
DELETE~FROM
삽입
INSERT INTO~VALUES

6. 오름차순, 내림차순

내림차순 : DESC / 오름차순 : ASC

ORDER BY 절에서 자주 사용함

 

7. 트랜잭션 연산 기법

연산
설명
COMMIT;
데이터베이스 트랜잭션 내용 업데이트를 영구적으로 확정
ROLLBACK;
데이터베이스 업데이트 오류 발생 시 이전 상태로 되돌림
SAVEPOINT 이름;
특정 지점을 지정
ROLLBACK TO
SAVE POINT 이름;
SAVEPOINT로 지정한 부분 이후에 발생한 트랜잭션 취소

 

8. GRANT REVOKE

문법
설명
GRANT 권한 ON 테이블 TO 사용자
[WITH 권한옵션]
관리자가 사용자에게 테이블에 권한을 부여하는 명령어
WITH GRANT OPTION은 사용자가 권한을 받고 난 후, 다른 사람들과 권한을 나눠가질 수 있는 옵션
REVOKE 권한 ON 테이블 FROM 사용자 [CASCADE]
관리자가 사용자에게 부여했던 테이블에 대한 권한을 회수하는 명령어
CASCADE는 연쇄적인 권한을 해제할 때 입력(WITH GRANT OPTION으로 부여된 사용자들의 권한까지 취소)

 

9. OLAP(On-Line Analytical Processing) 연산

ROLL-UP : 분석할 항목에 대해 구체적인 데이터로부터 요약된 형태의 데이터로 접근하는 연산

DRILL-DOWN : 분석할 항목에 대해 형태의 데이터로부터 구체적인 데이터로 접근하는 연산

SLICING:온라인 분석처리를 위한 자료 구조인 데이터 큐브의 한 조각을 볼 수 있게 해주는 연산

DICIDING : 고정된 다차원 값에 대한 연산

PIOVITING : 다차원 분석 테이블인 크로스 테이블에서 차원 변경을 위해 사용되는 연산

 

 

 

 

 

 

10. DDL 대상

대상
설명
도메인
하나의 속성이 가질 수 있는 원잣값들의 집합
속성의 데이터 타입과 크기, 제약조건 등의 정보
스키마
데이터베이스의 구조, 제약조건 등의 정보를 담고 있는 기본적인 구조
테이블
데이터를 저장하는 항목인 필드들로 구성된 데이터의 집합체
하나 이상의 물리 테이블에서 유도되는 가상의 테이블
인덱스
검색을 빠르게 하기 위한 데이터 구조

 

11. 스키마

스키마
설명
외부 스키마
(External Schema)
사용자나 개발자의 관점에서 필요로 하는 데이터베이스의 논리적 구조
사용자 뷰를 나타냄
서브 스키마로 불림
개념 스키마
(Conceptual Schema)
데이터베이스의 전체적인 논리적 구조
전체적인 뷰를 나타냄
개채 간의 관계, 제약조건, 접근 권한, 무결성, 보안에 대해 정의
내부 스키마
(Internal Schema)
물리적 저장장치의 관점에서 보는 데이터 베이스 구조
실제로 데이터베이스에 저장될 레코드의 형식을 정의하고 저장 데이터 항목의 표현방법, 내부 레코드의 물리적 순서 등을 표현

 

12. DBMS 구성요소

보기
설명
트랜잭션
(Transaction)
데이터베이스 시스템에서 하나의 논리적 기능을 정상적으로 수행하기 위한 작업의 기본 단위
역정규화
(Denormalization)
정규화된 엔터티, 속성, 관계에 대해 성능 향상과 개발 운영의 단순화를 위해 성능 향상과, 개발 운영의 단순화를 위해 중복, 통합, 분리 등을 수행하는 데이터 모델링 기법
트리거
(Trigger)
데이터베이스 시스템에서 삽입, 갱신, 삭제 등의 이벤트가 발생할 때마다 관련 작업이 자동으로 수행되는 절차형 SQL

 

13. SQL 명령어

INSERT : 테이블에 새로운 튜플을 삽입할 때 사용하는 명령어

ALTER : 테이블에 필드를 추가, 수정, 삭제하기 위해 사용하는 명령어

DROP : 데이터베이스 오브젝트 삭제하는 명령어

MODIFY : 테이블에 필드를 수정할 때 사용하는 키워드

 

14. CASCADE, RESTRICT

CASCADE : 참조하는 테이블까지 연쇄적으로 제거하는 옵션

RESTRICT : 다른 테이블이 삭제할 테이블을 참조 중이면 제거하지 않는 옵션

 

15. 트랜잭션 특성

A C I D

원자성(Atomicity) : 트랜잭션을 구성하는 연산 전체가 모두 정상적으로 실행되거나 모두 취소되어야 하는 성질

일관성(Consistency) : 시스템이 가지고 있는 고정요소는 트랜잭션 수행 전과 트랜잭션 수행 완료 후의 상태가 같아야 하는 성질

고립성(Isolation) : 동시에 실행되는 트랜잭션들이 서로 영향을 미치지 않아야 한다는 성질

영속성(Durability) : 성공이 완료된 트랜잭션 결과는 영속적으로 데이터베이스에 저장되어야 하는 성질

 

16. 로킹(Locking) 특징

데이터베이스, 파일, 레코드 등은 로킹 단위가 될 수 있음

로킹 단위가 작아지면 데이터베이스 공유도 증가

로킹 단위가 작아지면 로킹 오버헤드가 증가

로킹 단위가 크면 형행성 수준이 낮아짐

한꺼번에 로킹할 수 있는 객체의 크기를 로킹 단위라고 함

 

17. 병행 제어 기법의 종류

로 낙 타다

로킹, 낙관적 검증, 타임 스탬프 순서, 다중버전 동시성

 

18. 병행 제어의 목적

데이터베이스의 공유를 최대화

시스템 활용도를 최대화

데이터베이스의 일관성 유지

사용자에 대한 응답시간 최소화

 

19. 뷰

논리적으로 구현되는 테이블

장점

논리적 독립성 제공

데이터 접근제어로 보안 기능 제공

사용자의 데이터 관리를 간단하게 함

하나의 테이블로 여러 개의 뷰를 만들 수 있음

단점

- 독자적인 인덱스를 가질 수 없고, 정의 변경 불가능

삽입, 삭제, 갱신 연산에 많은 제약이 따름

20. 차수(Degree) 와 카디널리티(Cardinality)

속성(애트리뷰트) = 차수

튜플 = 카디널리티

카티션 프로덕트에서 차수는 각 릴레이션 차수의 합이 되고, 카디널리티는 각 릴레이션 카디널리티의 곱이 됨

차수 = 합, 튜플 = 곱

 

21. 관계 데이터베이스의 관계 대수 연산

* 일반 집합 연산자 (합 교 차 카)

합집합/교집합/차집합/카티션 프로덕트

* 순수 관계 연산자 (셀 프 조 디)

셀렉트/프로젝트/조인/디비전

 

22. 관계 대수와 관계 해석

관계 대수 = 절차적 언어

관계 해석 = 비절차적 언어

 

23. 데이터 모델에 표시해야 할 요소

구연제

구조(Structure), 연산(Operation), 제약조건(Constraint)

 

24. 데이터베이스 설계

단계
설명
요구 조건 분석
도출된 요구사항 간 상충을 해결하고 범위를 파악하여 외부 환경과의 상호작용 분석을 통해 데이터에 대한 요구 분석
개념적 설계
트랜잭션 모델링, view 통합방법 및 attribute 합성 고려
개념적 데이터 모델은 DB 종류와 관계가 없음
논리적 설계
트랜잭션 인터페이스를 설계함
관계형 데이터베이스에서는 테이블을 설계하는 단계
DBMS에 맞는 논리적 스키마를 설계
논리적 데이터베이스 구조로 매핑
스키마의 평가 및 정제
물리적 설계
저장 레코드의 양식 설계
레코드 집중의 분석 및 설계
접근 경로 설계

 

25. 이상현상의 종류

삽입 이상 : 릴레이션에서 데이터를 삽입할 때 의도와는 상관없이 원하지 않는 값들도 함께 삽입되는 현상

삭제 이상 : 릴레이션에서 한 튜플을 삭제할 때 의도와는 상관없는 값들도 함께 삭제되는 연쇄 삭제되는 현상

갱신 이상 : 릴레이션에서 튜플에 있는 속성값을 갱신할 때 일부 튜플의 정보만 갱신되어 정보에 모순이 생기는 현상

삽 삭 갱

 

26. 분산 데이터 베이스 투명성 종류

위치 투명성 : 사용자나 응용 프로그램이 접근할 데이터의 물리적 위치를 알아야 할 필요가 없는 성질

복제 투명성 : 사용자나 응용 프로그램이 접근할 데이터가 물리적으로 여러 곳에 복제되어 있는지의 여부를 알 필요가 없는 성질

병행 투명성 : 여러 사용자나 응용 프로그램이 동시에 분산 데이터베이스에 대한 트랜잭션을 수행하는 경우에도 결과에 이상이 발생하지 않는 성질, 로킹, 타임스탬프 순서 기법 이용

분할 투명성 : 사용자가 하나의 논리적인 릴레이션이 여러 단편으로 분할되어 각 단편의 사본이 여러 장소에 저장되어 있음을 알 필요가 없는 성질

장애 투명성 : 데이터베이스가 분산되어 있는 각 지역의 시스템이나 통신망에 이상이 생기더라도, 데이터의 무결성을 보존할 수 없는 성질, 2PC(Phase Commit) 활용

 

27. 파티션 유형

레해리컴라

범위 분할(Range Partitioning), 해시 분할(Hash Partiotiong), 조합분할(Composite Partioning), 라운드-로빈 분할(Round-Robin Partitioning)

 

28. 무결성 종류

종류
설명
참조 무결성
외래키가 참조하는 다른 개체의 기본 키에 해당하는 값이 기본 키 값이나 NULL 이어야 하는 제약조건
개체 무결성
한 엔터티에서 동일한 기본 키를 가질 수 없거나, 기본키 속성이 NULL을 허용할 수 없는 제약 조건
속성 무결성
속성의 값은 기본값, NULL 여부, 도메인(데이터 타입, 길이)이 지정된 규칙을 준수하여야 하는 제약 조건
사용자 무결성
사용자의 의미적 요구사항을 준수해야 하는 제약조건
키 무결성
한 릴레이션에 같은 킷값을 가진 튜플들을 허용할 수 없는 제약조건

 

 

29. 키 종류

종류
설명
기본키
(Primary key)
테이블의 각 튜플을 고유하게 식별하는 컬럼
대체키
(Altetnate Key)
후보 키 중에서 기본 키로 선택되지 않은 키
후보 키
(Candidate Key)
테이블에서 각 튜플을 구별하는 데 기준이 되는 키
유일성 최소성 둘 다 만족
슈퍼 키
(Super Key)
릴레이션에 있는 모든 튜플에 대해 유일성은 만족시키지만 최소성은 만족시키지 못하는 키 / 유일성 만족 최소성 만족 x
외래 키
(Foreign Key)
테이블 간의 참조 데이터 무결성을 위한 제약조건, 한 릴레이션의 컬럼이 다른 릴레이션의 기본 키로 이용되는 키

 

30. CRUD 분석

데이터베이스에 영향을 주는 생성, 읽기, 갱신, 삭제 연산으로 프로세스와 테이블 간에 매트릭스를 만들어서 트랜잭션을 분석함