자격증 ⁺₊

정보처리기사 필기 3과목 정리 - 데이터베이스 구축

by ₊⁺우산이끼⁺₊ 2024. 5. 21.
반응형

정보처리기사 필기 정리.

정보처리기사 필기 3과목 데이터베이스 구축

데이터베이스 설계 순서

  1. 요구 조건 분석
  2. 개념적 설계 - 정보 모델링, 트랜잭션 모델링, 개념 스키마 설계, E-R 모델
  3. 논리적 설계 - 데이터 모델링, 트랜잭션 인터페이스 설계, 테이블 설계, 논리 스키마 설계
  4. 물리적 설계 - 레코드 양식 설계. 저장 구조 및 액세스 경로 설정
    *고려사항: 트랜잭션 처리량, 응답 시간, 디스크 용량, 저장 공간의 효율화
  5. 구현 - 트랜잭션 작성

관계형 데이터베이스 용어 정리

릴레이션 Relation = 테이블
애트리뷰트 Attribute = 열 = 필드
차수 Degree = 열들의 수
튜플 Tuple = 행 = 레코드 Record
카디날리티 Cadinality = 행들의 수

도메인 Domain = 한 애트리뷰트에 나타낼 수 있는 값들의 집합. 원자값(더 나누어지지 않는 값)
스키마 Schema = 릴레이션 이름과 애트리뷰트들의 집합 = 내포 Intension
인스턴스 Instance = 릴레이션의 어느 시점에 들어있는 튜플들의 집합 = 외연 Extension

유효한 릴레이션의 최소 차수는 1
유효한 릴레이션은 카디날리티 0을 가질 수 있다.(튜플이 없어도 됨.)
한 튜플의 각 애트리뷰트는 원잣값을 갖는다.
애트리뷰트와 튜플의 순서는 중요하지 않다.
동일한 튜플은 두 개 이상 존재하지 않는다. => 릴레이션은 튜플들의 집합!

E-R 모델

데이터를 개체(Entity), 관계(Relationship), 속성(Attribute)으로 묘사.

E-R 다이어그램 기호

  • 후보키(Candidate Key): 튜플을 유일하게 식별. 기본키로 사용 가능. 유일성과 최소성 만족
  • 기본키(Primary Key): 한 릴레이션에서 특정 튜플을 유일하게 구별할 수 있는 속성. NULL 값을 가질 수 없음.
  • 대체키(Alternate Key): 후보키가 둘 이상일 때 기본키를 제외한 나머지 후보키.
  • 슈퍼키(Super Key): 속성들의 집합으로 구성. 유일성은 만족하지만 최소성은 만족하지 못함.
  • 외래키(Foreign Key): 다른 릴레이션의 기본키를 참조하는 속성 또는 속성들의 집합.

무결성(Integrity)

  • 개체(Entity) 무결성: 기본키 값의 속성 값이 널값이 아닌 원자값을 가짐
  • 도메인 무결성: 외래키 값은 널이거나 참조 릴레이션의 기본키 값과 동일해야 함
  • 참조 무결성: 주어진 송석값이 정의된 도메인에 속한 값어야 함
    사용자 정의 무결성

관계대수

Select 조건을 만족하는 튜플의 부분집합을 구해 새로운 릴레이션 생성.
π Project 속성 값만을 추출하여 새로운 릴레이션 생성. 애트리뷰트를 추출
Join 공통 속성을 중심으로 두 개의 릴레이션을 합침
÷ Division X⊃Y인 릴레이션 R(X)와 S(Y)가 있을 때 R의 속성이 S의 속성값을 모두 가진 튜플에서 S가 가진 속성을 제외한 속성만 구함.
UNION 튜플의 합집합. 중복되는 튜플은 제거.
INTERSECTION 튜플의 교집합.
DFFERENCE 튜플의 차집합
× CARTESIAN PRODUCT 교차곱. 튜플들의 순서쌍을 구하는 연산. 차수의 수는 더하고 카디널리티 수는 곱한다.

관계해석

전칭 정량자 가능한 모든 튜플에 대하여(For All)
존재 전량자 하나라도 일치하는 튜플이 있음(There Exists)

정규화

목적
- 데이터 구조의 안정성 및 무결성 유지
- 효과적인 검색 알고리즘
- 데이터 중복 배제
- 이상 발생 방지

*이상(Anomaly): 데이터가 불필요하게 중복되어 릴레이션 조작 시 예기치 못한 곤란한 현상이 발생하는 것.
- 삽입 이상: 원하지 않는 값도 함께 삽입
- 삭제 이상: 의도와 상관없는 값도 함께 삭제되는 연쇄 발생
- 갱신 이상: 속성 값 갱신 시 일부 튜플의 정보만 갱신되어 정보에 모순 발생

★정규화 과정

비정규 릴레이션
 ↓ 도메인이 원자값
제1정규형
 ↓ 부분적 함수 종속 제거
제2정규형
 ↓ 이행적 함수 종속 제거
제3정규형
 ↓ 결정자이면서 후보키가 아닌 것 제거
BCNF
 ↓ 다치 종속 제거
제4정규형
 ↓ 조인 종속성 이용
제5정규형

*이행적 종속 관계: A→B B→C일 때 A→C를 만족하는 관계
*함수적 종속: 데이터들이 어떤 기준값에 의해 종속되는 것

첫 글자만 따서 '도부이결다조'로 외움.

트랜잭션의 특성

  • Atomicity(원자성): 완료(Commit)되거나 전혀 반영되지 않게 복구(Rollback).
  • Consistency(일관성): 고정요소는 수행 전후가 같아야 함.
  • Isolation(격리성, 독립성, 순차성): 트랜잭션 실행 시 다른 트랜잭션의 간섭을 받지 않아야 함.
  • Durability(영속성, 지속성): 완료 결과가 데이터베이스에 영구히 기록됨.

분산 데이터베이스

구성 요소: 분산 처리기, 분산 데이터베이스, 통신 네트워크

목표: 위치 투명성, 중복 투명성, 병행 투명성, 장애 투명성

데이터베이스 언어

DDL - 데이터 정의어
(Data Define Language)
CREATEALTERDROP
DML - 데이터 조작어
(Data Manipulation Language)
SELECT~ FROM~ WHERE~
INSERT INTO~ VALUES~
DELETE FROM~ WHERE~
UPDATE~ SET~ WHERE~
DCL - 데이터 제어어
(Data Control Language)
COMMITROLLBACK,
GRANT~ TO~
REVOKE~ FROM~

DELETE 명령은 DROP과 달리 레코드만 삭제하므로 테이블 구조는 남아있다.
CASCADE: 다른 모든 개체를 함께 제거한다.
DISTINCT: 중복된 튜플이 있으면 그 중 첫 번째 한 개만 검색한다. SELECT 뒤에 사용.

ASC: 오름차순 - 1, 2, 3, 4…
DESC: 내림차순 - 10, 9, 8, 7…

트리거(Trigger)

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

데이터베이스에 저장됨.
데이터 변경 및 무결성 유지, 로그 메시지 출력
트리거 구문에는 DCL 사용 불가
트리거에 오류가 있으면 트리거가 처리하는 데이터에도 영향을 미침.

반응형

댓글