Notice
Recent Posts
Recent Comments
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

Chimy's Program

정보처리기사 필기 - 소프트웨어 개발 : 데이터 입출력 구현 본문

BASE

정보처리기사 필기 - 소프트웨어 개발 : 데이터 입출력 구현

chimy 2020. 5. 26. 19:50

정보처리기사 필기 - 소프트웨어 개발 : 데이터 입출력 구현

 

자료구조 : 자료, data, 자료의 표현/연산

 

자료구조 선형구조 리스트
스텍
데큐
비선형구조 트리
그래프

 

 

리스트(Linear List)

 

ⓞ 배열(Array)

 

  • 선형리스트
  • 연속된 기억공간에 저장
  • 삽입/삭제가 불편
  • 기억공간의 밀도가 좋다
  • 연속된 공간에 존재

 연결리스트

 

  • 연속된 공간을 필요로 하지 않고 포인터로 연결된 리스트
  • 삽입/삭제가 용이
  • 희소행렬 
  • 검색이 느리다
  • 포인터 공간 필요

 

 스택(Stack)

 

  • LIFO 구조
  • 삽입과 삭제가 한 쪽 끝에서 이루어 진다(Top)
  • 산술식 표현 함수, 인터럽트 복귀주소에서 사용

 

 큐(Queue)

 

  • FIFO 구조
  • 입력과 출력이 다른 방향에서 이루어 진다(Front, Rear)
  • 작업스케줄링, 버퍼관리에서 사용

 

ⓞ 데크

 

  • 입출력이 양방향에서 가능한 자료구조
  • 스크롤 : 삽입제한
  • 셀프 : 출력제한

 

 트리(Tree)

 

  • 루트 : 최상위 노드
  • 차수 : 가지수 / 트리의 차수 : 가장 많은 가지수
  • 레벨 : 루트노드를 1로 잡고 그 하위 노드부터 1씩 증가 / 깊이 : 최대 레벨
  • 단말 노드 : 하위(자식)노드가 없는 차수가 0인 노드
  • 부모 노드 : 한단계 상위 노드
  • 자식 노드 : 한단계 하위 노드
  • 형제 노드 : 같은 부모노드를 같은 노드들 
  • 조상 노드 : 해당 노드의 상위 노드들

 

- 트리의 순회 방법

 

  • 중위 순회 : 왼쪽 서브트리 → 중간 노드 → 오른쪽 서브트리
  • 전위 순회 : 중간 노드 → 왼쪽 서브트리 → 오른쪽 서브트리
  • 후위 순회 : 왼쪽 서브트리 → 오른쪽 서브트리 → 중간 노드

※ 이진 트리 : 최대 가지수가 2인 트리

 정이진트리 : 모든 노드의 가지수가 2개인 트리 / 깊이가 k일 경우 총 노드의 수 : 2^k-1

 

 그래프

 

  • 객체 간의 관계를 표현할 수 있는 자료구조

 

- 그래프 종류

 

  • 무방향 그래프 : 선에 방향이 없다
  • 방향 그래프 : 선에 방향이 있다

 

- 그래프 특징

 

  • 네트워크 모델이다, 2개 이상의 경로가 가능하다
  • 자기 자신을 향하는 간선은 없다
  • 중복된 간 선을 허용하지 않는다

 

 

파일

 

 순차 파일

 

  • 입력대는 순서대로 저장, 효율↑
  • 검색/삽입/삭제/이동 불편

 

 직접 파일

 

  • 임의의 저장공간에 저장
  • 접근시간이 빠르고 삽입/삭제 용이
  • I/O가 잦을 때 사용

 

 색인 순차 파일

 

  • 순차처리 가능, 랜덤처리 가능, 효율적인 검색
  • 추가저장공간 필요(overflow영역), 액세스시간이 느리다
  1. 기본 영역 : 데이터가 저장되는 영역
  2. 색인 영역(트랙, 실린더, 마스터) : 레코드의 위치
  3. 오버플로우 영역 : 빈공간이 없을 때 기록

 

 

데이터베이스

 

- 통합데이터, 저장데이터, 운영데이터, 공유데이터

 

 데이터베이스 특징

 

  • 실시간 접근성, 내용에 의한 참조, 동시 공유, 계속적인 변화

 

 DBMS의 장/단점

 

장점 단점
데이터 중복 최소화 데이터베이스 전문가 부족
데이터 동시 공유 가능 초기 구축비용
데이터 독립성 확보 서버의 부담
(대용량 디스트의 집중처리로 과부하 발생)
데이터 일관성 유지
데이터 무결성 유지 대용량 기억장치 필요
데이터 보안 향상 백업, 회복방법이 복잡함
표준화 가능  

 

 

DBMS : 데이터베이스 관리 시스템(SW)

 

- 효율적인 DB사용환경을 제공하는 소프트웨어

 

  • 정의기능 : 구조 정의, 변경, 삭제
  • 조작기능 : 데이터 검색, 삽입, 삭제, 수정
  • 제어기능 : 접근권한 관리, 정확한 데이터 유지

 

 

스키마

 

  • 자료를 저장하는 구조, 표현방법
  • DB구조, 제약조건 기술

 

 스키마 종류 

 

  • 외부 스키마 : 사용자 관점, 여러개 
  • 개념 스키마 : 기관, 조직체 입장, 1개
  • 내부 스키마 : 물리적 저장 구조, 1개

 

 

데이터 베이스 설계 순서

 

  1. 요구조건 분석 : 사용자의 요구사항 파악, 명세 기술(문서화)
  2. 개념적 설계 : 그림표현, E-R 다이어그램
  3. 논리적 설계 : 모델링, 스키마 설계
  4. 물리적 설계 : 저장장치에 물리적구조, 데이터를 변환하는 과정
  5. 데이터베이스 구현

 

 

SQL(Structured Query Language) : 1974년 IBM에서 개발

 

  • DDL(데이터정의어) : 구조 정의, 수정, 삭제 ex. Create, Alter, Drop
  • DML(데이터조작어) : 데이터 관련 검색, 삽입, 삭제, 수정 ex. Select, Insert, Delete, Update
  • DCL(데이터제어어) : 접근권한 ex. Grant, Revoke, Commit, Rollback

 

 데이터 접속(Data Mapping)

 

  • SQL Mapping : 프로그램에 직접 SQL을 입력하여 DBMS에 접속 ex. JDBC, ODBC, MyBatis
  • ORM : Object(객체)와 관계형 DB의 데이터 연결 ex. JPA, Hibernate, Django

 

 트랜잭션(Transaction)

 

  • 작업수행단위
  • 원자성 : 수행되거나 수행되지 않아야 한다
  • 일관성 : 항상 같은 값을 출력
  • 격리성(독립성) : 다른 트랜잭션이 사용할 때 접근 불가
  • 영속성 : 출력결과는 영속적이다
  • Commit : 결과가 성공적임을 알리는 명령어
  • Rollback : 오류시 복구하는 명령어

 

절차형 SQL

 

- 연속적인 실행, 분기, 반복제어가 가능한 SQL

 

  • 프로시저 : 특정 기능을 수행하는 트랜잭션 언어
  • 트리거 : 입력, 갱신, 삭제 같은 이벤트가 발생 시 작업 수행
  • 사용자 정의함수 : 프로시저와 유사, SQL을 통해 작업 처리, Return으로 반환

 

 절차형 SQL의 테스트와 디버깅

 

  • 실행을 통해 결과 확인
  • 기능의 적합성 여부 판단
  • Show 명령어 이용

 

 쿼리 성능 최적화

 

  • 데이터 입출력 성능 향상을 위해 SQL 코드 최적화
  • APM을 이용해 최적화할 쿼리 선정
  • 옵티마이져 : DBMS에서 최적의 경로를 찾아주는 모듈

 

※ APM

 

애플리케이션 성능 관리를 위해

접속자, 자원현황, 트랜잭션수행내역, 장애진단 등 다양한 모니터링 기능을 제공하는 도구

 

Comments