정보처리기사 실기 요점정리(2) - 데이터 입/출력 구현
my code archive
article thumbnail
반응형

📝요점정리

데이터 저장소

  • 데이터들을 논리적인 구조로 조직화하거나, 물리적인 공간에 구축한 것을 의미

데이터베이스

  • 공동으로 사용될 데이터를 중복을 배제하여 통합하고, 쉽게 접근하여 처리할 수 있도록 저장 장치에 저장하여 항상 사용할 수 있도록 운영하는 운영 데이터

DBMS

  • 사용자의 요구에 따라 정보를 생성해 주고, 데이터베이스를 관리해 주는 소프트웨어
  • 필수 기능 3가지 : 정의 / 조작 / 제어 기능

데이터의 독립성

  • 논리적 독립성
  • 물리적 독립성

 

스키마(Schema)

  • 외부 스키마 : 사용자나 응용 프로그래머가 각 개인의 입장에서 필요로 하는 데이터베이스의 논리적 구조를 정의한 것
  • 개념 스키마 : 데이터베이스의 전체적인 논리적 구조, 모든 응용 프로그램이나 사용자들이 필요로 하는 데이터를 종합한 조직 전체의 데이터베이스, 하나만 존재함
  • 내부 스키마 : 물리적 저장장치의 입장에서 본 데이터베이스 구조, 실제로 저장될 레코드의 형식, 저장 데이터 항목의 표현 방법 등을 나타냄

 

데이터베이스 설계 순서

  1. 요구조건 분석
  2. 개념적 설계 : 현실 세계에 대한 인식을 추상적 개념으로 표현하는 과정
  3. 논리적 설계 : 특정 DBMS가 지원하는 논리적 자료 구조로 변환시키는 과정
  4. 물리적 설계 : 논리적 구조로 표현된 데이터를 물리적 구조의 데이터로 변환하는 과정
  5. 구현 : 논리적 설계와 물리적 설계에서 도출된 데이터베이스 스키마를 파일로 생성하는 과정

 

데이터 모델 구성 요소

  • 개체, 속성, 관계

 

데이터 모델에 표시할 요소

요소 내용
구조 논리적으로 표현된 개체 타입들 간의 관계로서 데이터 구조 및 정적 성질 표현
연산 데이터베이스에 저장된 실제 데이터를 처리하는 작업에 대한 명세로서 데이터베이스를 조작하는 기본 도구
제약조건 데이터베이스에 저장될 수 있는 실제 데이터의 논리적인 제약 조건

 

데이터 모델의 구성 요소

  • 개체(Entity) : 데이터베이스에 표현하려는 것, 개념이나 정보 단위 같은 현실 세계의 대상체
  • 속성(Attribute) : 데이터베이스를 구성하는 가장 작은 논리적 단위
  • 관계(Relationship) : 개체와 개체 사이의 논리적인 연결
속성의 특성에 따른 분류
-기본 속성 
-설계 속성
-파생 속성 : 다른 속성으로부터 계산이나 변형 등의 영향을 받아 발생하는 속성

 

관계형 데이터베이스

  • 2차원적인 표(Table)를 이용해서 데이터 상호 관계를 정의하는 데이터베이스

 

도메인(Domain)

  • 하나의 애트리뷰트가 취할 수 있는 같은 타입의 원자값들의 집합

 

키의 종류
- 후보키
- 기본키
- 대체키
- 슈퍼키
- 외래키

후보키

  • 튜플을 유일하게 식별하기 위해 사용되는 속성들의 부분집합
  • 유일성최소성을 모두 만족시켜야 한다.
유일성 : 하나의 키 값으로 하나의 튜플만을 유일하게 식별할 수 있어야 함
최소성 : 키를 구성하는 속성 하나를 제거하면 유일하게 식별할 수 없도록 꼭 필요한 최소의 속성으로 구성되어야 함

대체키

  • 후보키가 둘 이상일 때 기본키를 제외한 나머지 후보키를 의미

슈퍼키

  • 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키
  • 유일성은 만족하지만 최소성은 만족하지 못한다.

 

무결성의 종류

  • 개체 무결성
  • 참조 무결성
  • 도메인 무결성
  • 사용자 정의 무결성
  • NULL 무결성
  • 고유 무결성
  • 키 무결성
  • 관계 무결성

데이터 무결성 강화

애플리케이션 데이터 생성, 수정, 삭제 시 무결성 조건을 검증하는 코드를 프로그램 내에 추가함
데이터베이스 트리거 트리거 이벤트에 무결성 조건을 실행하는 절차형 SQL을 추가함
제약 조건 데이터베이스에 제약 조건을 설정하여 무결성을 유지함

 

관계대수

  • 원하는 정보와 그 정보를 검색하기 위해 어떻게 유도하는가를 기술하는 절차적인 언어

순수 관계 연산자

  • Select
  • Project
  • Join
  • Division

일반 집합 연산자

  • 합집합
  • 교집합
  • 차집합
  • 교차곱

관계해석

  • 관계 데이터의 연산을 표현하는 방법

 

이상(Anomaly)

  • 테이블에서 데이터의 중복이 발생하고, 이 중복으로 인해 테이블 조작 시 문제가 발생하는 현상
  • 종류 : 삽입 이상, 삭제 이상, 갱신 이상

함수적 종속

  • 속성 X의 값 각각에 대해 시간에 관계없이 항상 속성 Y의 값이 오직 하나만 연고나되어 있을 때 Y는 X에 함수적 종속. X->Y로 표기
  • X->Y 관계를 갖는 속성 X와 Y에서 X를 결정자, Y를 종속자라고 한다.

 

정규화

  • 테이블 속성들이 상호 종속적인 관계를 갖는 특성을 이용하여 테이블을 무손실 분해하는 과정
  • 목적 : 가능한 한 중복을 제거하여 삽입, 삭제, 갱신 이상의 발생 가능성을 줄이는 것.
정규화 과정 정리
▪️제1정규화 : 도메인을 원자값만으로 구성
▪️제2정규화 : 부분적 함수적 종속 제거
▪️제3정규화 : 이행적 함수적 종속 제거
▪️BCNF : 결정자이며 후보키가 아닌 것 제거
▪️제4정규화 : 다치 종속 제거
▪️제5정규화 : 조인 종속성 이용

 

반정규화

  • 정규화된 데이터 모델을 의도적으로 통합, 중복, 분리하여 정규화 원칙을 위배하는 행위

반정규화 방법

  • 테이블 통합
  • 테이블 분할
  • 중복 테이블 추가
  • 중복 속성 추가

테이블 분할

  • 수평 분할 : 레코드를 기준으로 테이블을 분할하는 것
  • 수직 분할 : 속성을 기준으로 테이블을 분할하는 것

중복 테이블 추가

  • 집계 테이블 추가
  • 진행 테이블 추가
  • 특정 부분만을 포함하는 테이블 추가

시스템 카탈로그

  • 다양한 개개체에 관한 정보를 포함하는 시스템 데이터베이스
  • 카탈로그들이 생성되면 데이터 사전에 저장되기 때문에 좁은 의미로는 카탈로그를 데이터 사전이라고도 한다.

메타 데이터

  • 시스템 카탈로그에 저장된 정보

데이터 디렉터리

  • 데이터 사전에 수록된 데이터에 접근하는데 필요한 정보를 관리 유지하는 시스템

트랜잭션

  • 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산들을 의미함.
  • 특성 : 원자성, 일관성, 독립성, 영속성

★원자성 : 트랜잭션의 연산은 데이터베이스에 모두 반영되도록 완료(Commit)되든지 아니면 전혀 반영되지 않도록 복구(Rollback)되어야 함

 

인덱스

  • 데이터 레코드를 빠르게 접근하기 위해 <키, 값, 포인터> 쌍으로 구성되는 데이터 구조
  • 클러스터드 인덱스 / 넌클러스터드 인덱스 : 순서대로 정렬되어 저장되는 방식 / 정렬되지 않는 방식

인덱스 종류

종류 내용
트리 기반 인덱스 인덱스를 저장하는 블록들이 트리 구조를 이루고 있는 것
비트맵 인덱스 인덱스 컬럼의 데이터를 Bit값이 0또는 1로 변환하여 인덱스 키로 사용하는 방법
함수 기반 인덱스 컬럼의 값 대신 컬럼에 특정 함수나 수식을 적용하여 산출된 값을 사용하는 것
비트맵 조인 인덱스 다수의 조인된 객체로 구성된 인덱스
도메인 인덱스 개발자가 필요한 인덱스를 직접 만들어 사용하는 것

 

  • 하나 이상의 기본 테이블로부터 유도된, 가상 테이블
  • 장점 : 논리적 데이터의 독립성 제공, 동일 데이터에 대해 동시에 여러 사용자의 상이한 응용이나 요구를 지원해줌, 자동 보안 제공, 사용자의 데이터 관리를 간단하게 해줌.
  • 단점 : 독립적인 인덱스를 가질 수 없음, 뷰의 정의를 변경할 수 없음, 뷰로 구성된 내용에 대한 삽입, 삭제, 갱신 연산에 제약이 따름.

클러스터

  • 동일한 성격의 데이터를 동일한 데이터 블록에 저장하는 물리적 저장 방법

 

분산 데이터베이스

  • 논리적으로는 하나의 시스템에 속하지만 물리적으로는 네트워크를 통해 연결된 여러 개의 사이트에 분산된 데이터베이스
  • 목표 : 위치 투명성, 중복 투명성, 병행 투명성, 장애 투명성

 

데이터베이스 이중화

  • 동일한 데이터베이스를 복제하여 관리하는 것
데이터베이스 이중화의 분류
▪️ Eager 기법 : 트랜잭션 수행 중 데이터 변경이 발생하면 이중화된 모든 데이터베이스에 즉시 전달하여 변경 내용이 즉시 적용되도록 하는 기법
▪️ Lazy 기법 : 트랜잭션의 수행이 종료되면 변경 사실을 새로운 트랜잭션에 작성하여 각 데이터베이스에 전달되는 기법
  • 데이터베이스 이중화 구성 방법 : 활동-대기, 활동-활동

RTO/RPO ()

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

 

접근 통제 기술 ()

정책 특징
임의 접근통제(DAC) ▪️ 데이터에 접근하는 사용자의 신원에 따라 접근 권한을 부여하는 방식
▪️ 데이터 소유자가 접근통제 권한을 지정하고 제어함
강제 접근통제(MAC) ▪️ 주체와 객체의 등급을 비교하여 접근 권한을 부여하는 방식
▪️ 시스템이 접근통제 권한을 지정함
역할기반 접근통제(RBAC) ▪️ 사용자의 역할에 따라 접근 권한을 부여하는 방식
▪️ 중앙관리자가 접근통제 권한을 지정함

접근 통제 보안 모델 ()

종류 특징
기밀성 모델 ▪️ 군사적인 목적으로 개발된 최초의 수학적 모델
▪️ 기밀성 보장이 최우선임
▪️ 군대시스템 등 특수 환경에서 주로 사용됨
무결성 모델 ▪️ 기밀성모델에서 발생하는 불법적인 정보 변경을 방지하기 위해 무결성을 기반으로 개발된 모델
접근통제 모델 ▪️ 접근통제 매커니즘을 보안 모델로 발전시킨 것

 

스토리지

  • 대용량의 데이터를 저장하기 위해 서버와 저장 장치를 연결하는 기술
  • DAS(Direct Attached Storage) : 서버와 저장장치를 전용 케이블로 직접 연결하는 방식
  • NAS(Network Attaced Storage) : 서버와 저장장치를 네트워크를 통해 연결하는 방식
  • SAN(Storage Area Network) : 서버와 저장장치를 연결하는 전용 네트워크를 별도로 구성하는 방식

 

(+) 자료구조 추가 필요 

 

📝예상문제은행 오답노트

 

문제 16. 데이터베이스란?

정답) 여러 사람에 의해 공동으로 사용될 데이터를 중복을 배제하여 통합하고, 저장 장치에 저장하여 항상 사용할 수 있도록 운영하는 운영 데이터

 

문제 17. 어떤 단계의 정규화 과정인지와 해당 정규화 과정에서 수행된 작업

정답) 제 2정규화, 부분 함수적 종속 제거

정답) 제 3정규화, 이행적 함수적 종속 제거

 

문제 18. 논리적 독립성이란?

정답) 데이터의 논리적 구조를 변경시키더라도 응용 프로그램은 영향을 받지 않는 성질

 

문제 28. 후보키란?

정답) 릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별하기 위해 사용되는 속성들의 부분집합

 

문제 33. 관계대수란?

정답) 원하는 정보와 그 정보를 검색하기 위해 어떻게 유도하는가를 기술하는 절차적인 언어

 

문제 34. 이상이란?

정답) 데이터베이스 내에 데이터들이 불필요하게 중복되어 릴레이션 조작 시 예기치 않게 발생하는 곤란한 현상

반응형
profile

my code archive

@얼레벌레 개발자👩‍💻

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

반응형