□ 정규화 ☆☆☆☆☆
도부이결다조(도메인 → 부분 → 이행 → 결정자 → 다치 → 조인)
- 1NF(제1정규형) - 도메인 원자성
- 모든 도메인이 원자값만 가져야함
- 중첩된 테이블, 반복 그룹 제거
- 2NF(제2정규형) - 부분적 함수 존속 제거
- 1NF를 만족하면서, 기본키(복합키일 때만)의 일부분에만 종속된 속성 제거
- 부분 함수 종속 제거
- 3NF(제3정규형) - 이행적 함수 종속 제거
- 2NF를 만족하면서, 이행적 함수 종속 제거
- ex) A → B, B → C, A → C인 경우, C는 B를 통해 A에 종속되므로 제거 대상
- BCNF(보이스 - 코드 정규형) - 결정자 → 후보키
- 3NF를 만족하면서, 모든 함수 종속에서 결정자가 반드시 후보키
- 더 엄격한 3NF
- 종속성 보존이 안될 수 있음
- 4NF(제4정규형) - 다치 종속 제거
- 3NF + 다치 종속(하나의 속성이 여러개의 독립적인 값을 가질 때) 제거
- 5NF(제5정규형) - 조인 종속 제거
- 4NF를 만족하면서, 조인 종속이 후보키를 통해서만 성립되도록
□ 트랜잭션의 특성 ACID ☆☆☆☆☆
- 원자성(Atomicity) : 완전하게 수행 완료되지 않으면 전혀 수행되지 않아야 함
- 일관성(Consistency) : 시스템의 고정 요소는 트랜잭션 수행 전후에 같아야 함
- 격리성(Isolation 고립성) : 트랜잭션 실행 시 다른 트랜잭션의 간섭을 받지 않아야 함
- 영속성(Durability 지속성) : 트랜잭션의 완료 결과가 데이터베이스에 영구히 기억됨
□ 데이터베이스 설계 과정 ☆☆☆☆☆
개논물(개념 → 논리 → 물리)
- 개념 - ERD
- 논리 - 정규화, 트랜잭션 인터페이스 설계
- 물리 - 목표 DBMS에 종속정인 물리적 구조 설계, 저장 레코드 양식 설계, 레코드 집중의 분석/설계, 접근 경로 설계,
트랜잭션 세부 설꼐
□ 데이터베이스 언어 ☆☆☆☆☆
- DDL(정의어) : CREATE, DROP, ALTER
- DML(조작어) : SELECT, INSERT, UPDATE, DELETE
- DCL(제어어) : COMMIT, ROLLBACK, GRANT, REVOKE
□ 집합 연산자 ☆☆☆☆☆
- UNION : 합집합 결과 중복된 행은 하나의 행으로 출력
- UNION ALL : 합집합 결과 중복된 행도 그대로 결과로 출력
- INTERSECT : 교집합 결과 중복된 행은 하나의 행으로 출력
- EXCEPT : 차집합 결과 중복된 행은 하나의 행으로 출력
□ 키의 종류 ☆☆☆☆☆
- 슈퍼키(Super Key)
- 후보키(Candidate Key)
- 기본키(Primary Key)
- 대체키(Alternate Key)
- 후보키(Candidate Key)
□ 무결성 종류 ☆☆☆☆☆
- 개체 무결성 : NULL 불가, 중복 불가
- 참조 무결성 : 참조되는 값이 없으면 안된다.
- 도메인 무결성 : 허용하는 범위만 값을 가질 수 있다. ex) 초등학교 학년에 6학년 초과의 값은 불가능하다
- 속성 무결성
- 키 무결성
- 사용자 정의 무결성
□ 뷰(View) ☆☆☆☆☆
- 장점
- 논리적 데이터 독립성을 제공
- 동일 데이터에 대해 동시에 여러 사용자의 데이터 관리를 간단하게 해줌
- 접근 제어를 통한 자동 보안이 제공됨
- 단점
- 독립적인 인덱스를 가질 수 없음
- 뷰의 정의를 변경할 수 없음
- 뷰로 구성된 내용에 대한 삽입, 삭제, 갱신 연산에 제약이 따름
□ 릴레이션 ☆☆☆☆☆
- 구성
- 릴레이션 = 테이블
- 튜플(Tuple) = 행, 레코드
- 카디널리티(Cardinality) = 튜플(행)의 수
- 속성(Attribute) = 열, 필드
- 차수(Degree) = 속성(열)의 수
- 특징
- 튜플의 유일성 : 똑같은 튜플 포함안됨
- 튜플의 무순서성 : 튜플 사이 순서 없음
- 속성의 무순서성 : 속성간 순서가 중요하지 않음
- 속성의 원자성 : 속성의 명칭은 유일 구성값은 동일값 가능
- 속성 값은 원자값
□ 스키마 ☆☆☆☆
- 외부스키마 : 사용자나 응용 프로그래머가 접근할 수 있는 정의를 기술
- 개념스키마 :
- 모든 응용 시스템들이나 사용자들이 필요로 하는 데이터를 통합한 조직 전체의 데이터베이스를 정의
- 범기관적 입장에서 데이터베이스를 정의
- 개체 간의 관계와 제약 조건을 나타내고, 데이터베이스 접근 권한, 보안 및 무결성 규칙 명세
- 내부스키마 :
- 데이터의 실제 저장 방법을 기술
- 물리적 저장 장치의 입장에서 본 데이터베이스 구조로써 실제로 데이터베이스에 저장될 레코드의 형식을 정의하고 저장 데이터 항목의 표현 방법, 내부 레코드의 물리적 순서 등을 나타냄
□ 데이터 모델의 구성 요소 ☆☆☆
- 구조(Structure) : 논리적인 개체 타입들 간의 관계, 데이터 구조 및 정적 성질을 표현
- 연산(Operation) : 실제 데이터를 처리하는 작업에 대한 명세로, 조작하는 기본 도구
- 제약 조건(Constraint) : DB에 저장될 수 있는 실제 데이터의 논리적인 제약 조건
□ 관계대수 연산 ☆☆☆
- 일반 집합 연산자 : 합집합, 교집합, 차집합, 카티션 프로덕트
- 순수 관계 연산자 :
- SELECT( σ ) : 튜플 집합을 검색
- PROJECT( π ) : 속성 집합을 검색
- JOIN( ⨝ ) : 두 릴레이션의 공통 속성을 연결
- DIVISION( ÷ ) : 두 릴레이션에서 특정 속성을 제외한 속성만 검색
□ 데이터베이스 장애 ☆☆☆
- 장애 유형
- 트랜잭션 장애 : 특정 트랜잭션 수행 중 오류가 발생하여 정상적으로 완료되지 못하는 경우
- 시스템 장애 : DBMS는 중단되지만 저장장치는 손상되지 않은 경우
- 미디어 장애 : 디스크 자체에 물리적 손상이 발생한 경우
- 교착 상태 : 두 개 이상의 트랜잭션이 서로 자원을 기다리며 무한 대기 상태에 빠진 경우
- 소프트웨어 장애 : DBMS 자체나 연동된 어플리케이션의 버그로 인한 장애
- 인적 실수 : 실수로 인한 조작
- 갱신 전략
- 즉각 갱신 기법(Immediate Update) :
- 트랜잭션의 연산을 수행하여 데이터를 갱신할 때 실제 데이터 베이스에 반영하는 기법
- 갱신한 모든 내용을 로그에 보관
- 취소(Undo), 재시도(Redo) 모두 사용 가능
- 연기 갱신 기법(Deffered Update) :
- 트랜잭션을 완료할 때 까지 데이터베이스에 갱신을 연기하는 기법
- 트랜잭션 수행으로 갱신할 내용은 로그에 보관
- 트랜잭션이 부분완료 시점에 로그의 기록을 실제 데이터베이스 반영
- 장애가 발생하여 Rollback하여도 취소(Undo) 불필요
- 재시도(Redo) 작업을 통해 최근의 정상적인 데이터베이스로 회복한 후 트랜잭션 재실행 가능
- 검사점 기법(Check Point) : 트랜잭션 중간에 검사점을 로그에 보관하여 트랜잭션 전체를 취소하지 않고 검사점까지 취소할 수 있는 기법
- 그림자 페이지 대체 기법(Shadow Paging)
- 트랜잭션의 연산으로 갱신할 필요가 있을 때 복사본인 그림자 페이지를 보관하는 기법
- 트랜잭션을 취소할 때 그림자 페이지를 이용하여 회복
- 로그(Log), 취소(Undo), 재시도(Redo)가 불필요
- 즉각 갱신 기법(Immediate Update) :
□ 분산 데이터베이스 ☆☆☆
- 구성요소
- 분산처리기 : 자체적으로 처리 능력을 가지며, 지리적으로 분산되어 있는 컴퓨터 시스템
- 분산 데이터베이스 : 지리적으로 분산되어 있는 데이터베이스로서 해당 지역의 특성에 맞게 데이테비으가 구성
- 통신 네트워크 : 분산처리기들을 통신망으로 연결하여 논리적으로 하나의 시스템처럼 작동할 수 있도록 하는 통신 네트워크
- 목표
- 위치 투명성
- 중복(복제) 투명성
- 장애 투명성
- 병행 투명성
- 분할 투명성
□ 시스템 카탈로그(데이터 사전, 메타 데이터) ☆☆
- 시스템 자신이 필요로 하는 여러 가지 객체(기본 테이블, 뷰, 인덱스, 데이터베이스, 패키지, 접근권한 등)에 관한 정보를 포함하고 있는 시스템 데이터베이스
- 시스템 카탈로그 자체도 시스템 테이블로 구성되어 있어 SQL문을 이용하여 내용 검색이 가능하다.
- 사용자가 시스템 카탈로그를 직접 갱신할 수 없다.
- SQL문으로 여러가지 객체에 변화를 주면 시스템이 자동으로 갱신한다.
□ 파일의 구조 ☆☆
- 순차 파일(Sequential File) : 입력되는 데이터들을 논리적인 순서에 따라 물리적 연속 공간에 순서대로 기록하는 방식(=순서 파일)
- 색인 순차 파일(Indexed Sequential File) : 레코드들을 키값 순으로 정렬시켜 기록하고 레코드의 키 항목만을 모은 인덱스를 구성하여 편성하는 방식
- 직접 파일(Direct File) : 파일을 구성하는 레코드들을 특정 순서 없이 임의의 물리적 저장 공간에 기록하는 방식(DAM 파일)
- 역 파일(Inverted File) : 특정항목을 여러개의 색인으로 만들어 항목별 특성에 맞게 작업할 수 있도록 하는 방식
- 다중 리스트 파일(Multi-List File) : 각 키에 대하여 색인을 만든 다음 각 데이터 레코드들 간에 다중 리스트를 구축하여 구성하는 방식
- 다중 링 파일(Multi-Ring File) : 같은 특성을 가진 레코드들을 일련의 포인터로 연결하여 구성하는 방식
□ 파티션(Partition)의 종류 ☆☆
- 범위(Range) 파티션 : 범위에 따라 분할
- 목록(List) 파티션 : 특정 열 값의 목록에 따라 분할
- 해시(Hash) 파티션 : 해시 함수를 사용하여 분할
- 컴포지트(Composite) 파티션 : 두 개 이상의 유형을 조합하여 분할
□ OLAP(Online Analytical Processing) ☆
- roll-up
- slicing & dicing
- drill-ip & down
- privot
- drill-through
'이론공부 > 자격증' 카테고리의 다른 글
네트워크관리사 2급 (3) | 2025.08.06 |
---|---|
정보처리기사(개념정리) - 5과목 정보시스템 구축관리 (3) | 2025.07.29 |
정보처리기사(개념정리) - 4과목 프로그래밍 언어 활용 (0) | 2025.07.23 |
정보처리기사(개념정리) - 2과목 소프트 웨어 개발 (1) | 2025.07.16 |
정보처리기사(개념정리) - 1과목 소프트 웨어 설계 (4) | 2025.07.14 |