1. DB개념
1) DB정의
(1) 통합데이터 : 중복최소
(2) 저장데이터 : 컴퓨터가 접근할수 있는 매체에 저장됨
(3) 운영데이터 : 조직의 목적을 달성하기 위해 필수적인 데이터
(4) 공유데이터 : 여러 응용 프로그램들이 공동으로 사용하는 데이터
2. 스키마 ★
1) 외부스키마 : 사용자가 보는 스키마, 여러개의 외부스키마 존재가능
2) 개념스키마 : db에 전체적인 구조, 하나의 개념 스키마만 존재, 제약조건
3) 내부스키마 : 실제로 저장되는 스키마, 물리적 구조, 표현방식, 순서
4) 논리적 독립성 : 개념스키마 와 외부스키마 중간에 위치, 개념스키마가 바뀌어도 외부스키마에 영향X
5) 물리적 독립성 : 내부스키마와 개념스키마 중간에 위치, 내부스키마가 바뀌어도 외부및 개념스키마가 영향X
3. DBMS(정의,조작,제어)
1) 데이터 정의
2) 데이터 조작
3) 데이터 제어
4) 데이터공유
4. DBMS 종류 ★
1) 계층형 : 데이터를 트리구조로 표현, 다대다X
2) 망형(네트워크형) : 다대다 는 가능하지만 복잡함
3) 관계형 : 모든형태를 표형태로, 키와값으로 이루어짐
4) 객체지향형 : 클래스,상속
5) 객체관계형 : 객체지향 + 관계형을 합친모델
6) NOSQL : 비정형데이터, 스키마변경이 불가능
7) NewSQL : NO-SQL + 관계형을 합친것
5. DB설계
1) DB설계 고려사항
(1) 제약조건 : 저장된 데이터값이 반드시 만족
(2) DB무결성 : 연산후에도 데이터값이 제약조건을 유지
(3) 일관성 : 질의에 대한 답이 항상같은 값으로 이루어져야함
2) DB설계 단계
요구조건분석 -> 개념설계(ER다이어그램) -> 논리설계(DBMS 종류중 하나설계, 트랜잭션 인터페이스,관계형(정규화)) -> 물리설계(특정DBMS설계,성능및용량고려) -> 구현(DDL로사용)
3) 데이터 모델구조
(1) 개체 : 현실세계의 대상체
(2) 개체타입 : 개체를 구성하는 속성들의 집합
(3) 개체 인스턴스 : 특정 개체 타입에 속하는 객체
(4) 개체세트 : 개체 인스턴스들의 집합
(5) 속성 : 개체의 고유한 특성
(6) 관계 : 개체와 개체간의 관계
4) 데이터 모델 표시해야 할 요소 ★
(1) 구조 : 데이터구조와 개체간의 관계
(2) 연산
(3) 제약조건 : 데이터의 논리적 제약조건을 정의
5) 개체-관계모델
(1) 개체 : 현실세계에서 구별가능한 대상, 사각형표현
(2) 속성 : DB에서 저장할 데이터의 가장작은 논리적 단위, 고유한 특성, 타원으로표현
(3) 관계 : 마름모로 표현
(4) 기본키 속성: 밑줄타원
(5) 다중값 속성 : 이중타원
(6) 개체와 속성연결 : 선 링크
6. 논리 DB설계
1) 정규화 ★ : 중복제거를 통해 무결성유지 , 함수적 종속관계(완전함수(완벽하게종속), 부분함수(부분 부분을 합쳐서 완전함수종속관계로 만들어야함) ,이행적함수(x->y->z, y->z 이므로 x->y, y->z로 완전함수 종속관계로 만들어야함)
* 부분과 이행적함수가 발생하면 완전함수종속관계로 만들어줘야함
2) 함수적 종속관계를 활용하여 정규화를 수행하게됨
3) 1정규화(도메인이 원자값이어야함,하나의값만 들어가야함), 2정규화(부분함수종속관계 제거), 3정규화(이행적함수 종속관계 제거), BCNF(결정자이면서 후보키가 아닌거 제거) , 4정규화(다치종속관계제거), 5정규화(조인종속관계 제거)
4) 중복을 허용하면 이상현상 ★(삽입이상(불필요한 데이터삽입되는문제), 삭제이상(데이터가 함께삭제되어 정보손실방생), 갱신이상(튜플의 속성값 일부만 갱신되어 정보모순생기는문제) ) 이 발생됨
https://soupsrice.tistory.com/11
정보처리기사 정규화 과정(1) 1NF, 2NF, 3NF, BCNF
정규화 과정은 종속성 이론을 이용해 잘못 설계된 관계형 스키마를 작은 속성의 세트로 쪼개는 과정이다.사실 위의 정의는 처음 봤을떄 뭘 이렇게 어렵게 말을 하지 라고 생각을 했다.개인적으
soupsrice.tistory.com
7. 물리DB설계
1) 특정DBMS에 맞는 설계를 해야함(오라클sql, mysql등)
2) 정규화된 모델에 필요에 따라 역정규화(반정규화)한다
3) 반정규화 ★ : 정규화를 거친후 데이터 중복허용, 테이블구조 재구성 하는기법
* 성능향상, 관리의 편의성을 위해서 정규화 위배되는 행위
4) DB 백업 <-> 복원
(1) 전체백업
(2) 증분백업 : 전체백업 이후 변경되거나 추가된 데이터만 백업
(3) 차등백업 : 전체백업 이후 변경되거나 추가된 모든 데이터를 백업
(4) 합성백업 : 전체백업과 여러개의 증분 백업을합하여 새로운 전체백업본을 만든다
(5) 복구시간목표(RTO) : 장애가 발생해 복구작업을 통해 서비스가 재개되기까지 허용할수있는 시간
(6) 복구시점목표(RPO) : 데이터 손실에 대한 복구가능지점을 설정하여 허용가능한 데이터손실량을 최소화함
5) DB 암호화
(1) API : 프로그램에서 암호화시켜 DB에 저장
(2) Plug-in : 돈주고 사서 DB에 설치함
(3) TDE : 기본적으로 DB에서 제공하는 옵션을 통해 암,복화를 시킴
6) DB 성능 최적화 기술
(1) 파티셔닝 : 데이터를 여러섹션으로 분할하는 방법, 범위분할(연속된범위), 목록분할(특정조건으로 구분), 해시분할(해시함수사용), 라운드로빈분할(데이터를 차례대로 하나씩균등하게), 합성분할(여러분할방식 조합)
(2) 클러스터 : 자주 사용되는 테이블 데이터를 디스크상 동일한 위치에 저장함
(3) 인덱스 : 색인, 특정데이터를 빠르게 찾기위해
(4) 뷰 : 가상의 테이블(논리적으로 만 존재), 실제테이블처럼 조회하거나 조작가능, 변경은 삭제후 재생성필요
7) 절차형 SQL
(1) 여러 쿼리를 하나의 함수처럼 실행하기 위한 쿼리집합
(2) 트리거 : DML 수행시 자동으로 수행되는 작업, 이벤트에 반응
(3) 사용자 정의함수 : 미리 정의된 기능을 수행함
(4) 임베디드 SQL : 프로그래밍 언어 코드 내부에 SQL문을 포함하여 사용하는 방식
8. 관계 DB설계
1) 관계 데이터 릴레이션 구조
2) 속성, 튜플, 도메인, 차수(릴레이션스키마), 카디널리티(릴레이션 인스턴스)
3) 릴레이션(2차원테이블구조) : 릴레이션스키마(데이터타입 등 논리적구조), 릴레이션 인스턴스(실제로 저장된데이터)
4) 릴레이션 특징: 중복X, 순서중요X
5) 속성 : 특성을 나타내는 정보의 최소단위 , 기본속성, 설계속성, 파생속성, 단순속성, 복합속성
6) 도메인 : 속성이 가질수 있는 값의 범위정의
7) 키 ★ : 튜플(행)을 고유하게 식별하는 컬럼(속성)
(1) 슈퍼키(유일성) : 행을 구별하면 됨
(2) 후보키(유일성, 최소성) : 튜플을 유일하게 식별할수있는 속성들의 집합
- 기본키 : 후보키 중에서 가장적합한 키
- 대체키 : 나머지 후보키
(3) 외래키
8) 데이터베이스 무결성 ★
(1) 개체무결성 : 기본키를 가져야한다
(2) 참조무결성 : NULL허용가능, 참조하는 기본키와 동일해야함
* 참조무결성 제약조건 : 제한(restrict,문제의 연산을거부), 연쇄(cascade)
(3) 도메인무결성 : 값의 범위내에 포함해야함
9. 품질 검토 및 분산DB
1) CRUD
2) SQL 처리흐름 : 구문분석 -> 실행 -> 인출
3) 옵티마이저 : SQL문에 대한 최적의 실행방법을 결정함
(1) 규치기반 옵티마이저 : 규칙(우선순위)
(2) 비용기반 옵티마이저 : 통계정보 , 비용이 가장적은 실행계획선택
4) DBMS 내부구성요소
(1) DDL 컴파일러 : create, alter, drop 정의문을 분석
(2) DML 프리컴파일러 : C, JAVA 등 언어 내부에 포함된 SQL문을 찾아 분석
(3) DML 컴파일러 : select, insert, update, delete 문장을 내부표현으로 분석
(4) 런타임 데이터베이스 처리기 : 데이터 파일에서 튜플을 읽거나 갱신
(5) 트랜잭션 관리자 : 커밋, 롤백을 관리하여 ACID특성을 보장함
5) 분산 데이터베이스 : 여러지역에 분산된 데이터베이스를 하나의 논리적 시스템처럼 사용가능
(1) 분산처리기
(2) 분산데이터베이스
(3) 통신네트워크
(4) 투명성조건
- 위치투명성
- 분할 투명성
- 지역사상 투명성
- 중복 투명성
- 병행투명성
- 장애 투명성
6) 트랜잭션 ★ : 데이터베이스의 상태를 변환시키는 하나의 논리적 단위
(1) commit
(2) rollback
(3) savepoint
(4) 트랜잭션 성질 ★
- 원자성
- 일관성
- 독립성
- 영속성
(5) 트랜잭션 상태 ★
- 활동
- 실패
- 철회
- 부분완료
- 완료
10. 병행제어와 데이터전환
1) 병행제어 : 데이터베이스의 일관성 및 공유도 최대화 해야한다
2) 병행제어 문제점
- 갱신분실
- 비완료 의존성
- 모순성
- 연쇄복귀
3) 병행제어 기법
(1) 로킹 : 로킹된 데이터는 다른 트랜잭션이 접근X
* 로킹단위가 크면 -> 병행성 수준낮아지고 -> 로킹오버헤드 감소 -> 로크수 작아짐
(2) 2단계 로킹규약
- 확장단계 : 새로운 lock은 가능하나 unlock은 불가능
- 축소단계 : unlock은 가능하나 새로운 lock은 불가능
(3) 타임스태프 : 미리 트랜잭션이 순서대로 접근
(4) 낙관적 병행제어
(5) 다중버전병행제어 : 여러버전을 사용하여 타임스탬프 비교
4) 회복
(1) undo : 변경사항을 취소하여 복구
(2) redo : 다시 실행하여 복구
(3) 회복기법
- 로그기반 회복기법
* 지연갱신회복기법 : 커밋되기 전까지 변경내용을 로그파일에만 저장(redo)
* 즉시갱신회복기법 : 트랜잭션 수행중 변경내용을 db에 즉시 기록(redo+undo)
- 검사점 회복기법 : 검사점 이후 처리된 트랜잭션만 복구작업수행
- 그림자 페이징 회복기법
- 미디어 회복기법 : 데이터를 별도 저장장치에 백업
5) ETL
6) 데이터 품질관리 대상
(1) 데이터값
(2) 데이터구조
(3) 데이터 관리 프로세스
'자격증 준비' 카테고리의 다른 글
| [2026년 1회 정보처리기사 실기] 4과목(네트워크) | 자격증 준비 (0) | 2026.03.18 |
|---|---|
| [2026년 1회 정보처리기사 실기] 3과목(운영체제) | 자격증 준비 (0) | 2026.03.16 |
| [2026년 1회 정보처리기사 실기] 1과목(SW구축) | 자격증 준비 (0) | 2026.03.06 |
| 2026년 1회 정처기 실기 준비 | 자격증 준비 (0) | 2026.02.08 |
| [2025년 3회 정보처리기사 실기] 자격증 준비 | 계산문제 및 개념문제 (0) | 2025.10.29 |