노트

2 데이터 입출력 구현 본문

정보처리기사 정리

2 데이터 입출력 구현

blackmilktea 2024. 4. 16. 13:17

1. 데이터 베이스 개념

데이터베이스 정의

  • 공유 데이터: 여러 응용 프로그램들이 공동으로 사용하는 데이터
  • 저장 데이터: 컴퓨터가 접근 가능한 저장 매체에 저장된 데이터
  • 통합 데이터: 검색의 효율성을 위해 중복이 초소화된 데이터의 모임
  • 운영 데이터: 조직의 목적을 위해 존재 가치가 확실하고 반드시 필요한 데이터

데이터 언어

  • 정의어 DDL(Definition): DB의 구축과 변경 목적으로 사용, 데이터 형식, 구조, 제약조건 명시
  • 조작어 DML(Manipulation): 검색, 삽입, 삭제, 갱신 연산을 포함한 집합
  • 제어어 DCL(Control): 데이터 무경성(Integrity), 보안(Security), 권한(Authority) 검사, 병행 제어(Concurrency Control)

3계층 스키마

스키마(Schema): 데이터 사전(Data Dictionary)에 저장

 

1. 외부(External) 스키마: 사용자 뷰

| <-- 논리적 독립성

2. 개념(Conceptual) 스키마: DB의 전체적인 논리적 구조

| <-- 물리적 독립성

3. 내부(Internal) 스키마: 물리적 저장장치 입장에서 본 DB 구조

데이터 독립성

  • 논리적 독립성: 개념 스키마가 변경되어도 외부스키마에는 영향을 미치지 않도록 지원
  • 물리적 독립성: 내부 스키마가 변경되어도 외부/개념 스키마가 영향받지 않도록 지원

2. 데이터베이스 설계 순서

  1. 요구조건 분석
  2. 개념적 설계: 현실세계를 데이터 관점으로 추상화하여 개념적 스키마 설계, 트랜잭션 모델링, E-R 모델
  3. 논리적 설계: 데이터를 컴퓨터가 이해할 수 있도록 논리적 스키마 설계, 트랜잭션 인터페이스 설계, 정규화
  4. 물리적 설계: 물리적 구조의 데이터로 변환 물리적 스키마 생성, 트랜잭션 세부 설계, 반정규화
  5. 구현: DDL로 데이터베이스 생성, 트랜잭션 작성

3. 데이터 모델링

현실세계의 요소를 인간과 컴퓨터가 이해할 수 있는 정보로 표현한 것

 

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

  • 구조(Structure)
  • 연산(Operation)
  • 제약조건(Contraint)

개체 관계 모델

E-R 다이어그램

사각형 개체(Entity)
마름모 관계(Relationship)
타원 속성(Attribute)
밑줄 타원 기본키 속성
이중 타원 복합 속성, 다중값

데이터 모델의 품질 기준

  • 정확성: 요구사항 정확 반영
  • 완전성: 정의할 때 누락 최소화, 반영에 누락 없음
  • 준거성: 제반 준수 요건이 누락 없이 정확히 준수
  • 최신성: 최신 상태 반영, 이슈 사항 지체 없이 반영
  • 일관성: 여러 곳에서 참조, 활용 일관성 유지
  • 활용성: 유연하게 설계

4. 논리 데이터베이스 설계

정규화

  • 데이터의 중복 최소화
  • 정보의 무손실
  • 독립적인 관계는 별개의 릴레이션으로 표현
  • 정보의 검색을 보다 용이
  • 이상 현상 최소화

장점

  • 중복을 최소화하여 저장 공간의 효율적 사용
  • 이상현상 제거

단점

  • 처리 명령의 복잡
  • 실행 속도 저하
  • 분리된 릴레이션 간 참조 무결성 유지를 위한 노력 필요
  • 분리된 여러 개의 테이블에서 정보를 취합하기 위해 JOIN 연산 필요

이상현상

데이터 중복으로 인해 예상치 못한 현상이 발생하는 것

  • 삽입이상
  • 삭제이상
  • 갱신이상

함수적 종속(Functional Dependency)

X -> Y : X를 알면 Y를 알 수 있다.

  • 완전 함수적 종속
  • 부분 함수적 종속
  • 이행적 함수 종속

정규화 과정

비정규 릴레이션

|    도메인이 원자값

1NF

|    부분 함수적 종속 제거

2NF

|    이행적 함수 종속 제거

3NF

|    결정자이면서 후보키가 아닌 것 제거

BCNF

|    다치 종속 제거

4NF

|    조인 종속성 이용

5NF

5. 물리 데이터베이스 설계

물리 데이터베이스 설계 시 고려사항

  • 무결성, 일관성, 회복성, 효율성, 확장성

반정규화

  • 시스템의 성능향상을 위해 정규화에 위배되는 중복을 허용하는 기법
  • 관리 효율성은 증가할 수 있으나 데이터의 일관성 및 정합성이 저하될 수 있음.

트랜잭션

데이터베이스의 상태를 변화시키는 논리적 기능을 수행하기 위한 작업의 단위 또한 연산

  • 원자성(Atomicity): 트랜잭션이 DB에 모두 반영되도록 완료(Commit) 또는 전혀 반영되지 않도록 복구(Rollback)
  • 일관성(Consistency): 트랜잭션이 성공적으로 완료하면 일관성 있는 DB 상태로 변환
  • 독립성(Isolation): 트랜잭션 실행 중 다른 트랜잭션 연산이 끼어들 수 없음.
  • 영속성(Durability): 성공적으로 완료된 트랜잭션의 결과는 시스템이 고장나더라도 영구적으로 반영

인덱스(Index): 데이터 레코드를 빠르게 접근하기 위해 <키 값, 포인터> 쌍으로 구성되는 데이터 구조

뷰(View): 실제로 데이터를 저장하지 않고 논리적으로만 존재하는 가상 테이블

 

RTO/RPO

  • RTO(Recovery Time Objective) 목표 복구 시간: 비상사태 또는 업무 중단 시점으로부터 복구되어 가동될 때까지의 소요시간
  • RPO(Recovery Point Objective) 목표 복구 시점: 비상사태 또는 업무 중단 시점으로부터 데이터를 복구할 수 있는 기준점을 의미

'정보처리기사 정리' 카테고리의 다른 글

3 통합 구현  (0) 2024.04.16
2 데이터 입출력 구현 - 2  (0) 2024.04.16
소프트웨어 설계의 기본 원칙  (0) 2024.04.15
요구사항 모델링  (0) 2024.04.13
요구사항 분석  (0) 2024.04.12