코딩뿌셔

[2과목] 소프트웨어 개발 - 데이터 입출력 본문

자격증/정보처리기사

[2과목] 소프트웨어 개발 - 데이터 입출력

He__o 2022. 6. 14. 00:38

01 논리 데이터 저장소

▶ 자료 구조(Data Structure)

선형 구조 비선형 구조
리스트 스택 데크 트리 그래프

▶ 선형 구조

▷ 리스트(List)

선형(Linear) 리스트 간편하며 접근 구조 빠름, 자료의 삽입/삭제 시 기존 자료의 이동 필요
연결(Linked) 리스트 노드 삽입/삭제가 편리, 연결을 위한 포인터가 추가되어 저장공간 추가로 필요

 

▷ 스택(Stack)

  : 한 방향으로만 자료를 넣고 꺼낼 수 있는 LIFO(Last-In First-Out) 형식

  : 함수 호출, 재귀 호출, 후위표현 연산, 깊이 우선 탐색(DFS) 등 응용

  : PUSH/POP 연산 - 데이터를 차례로 스택에 넣고/스택 가장 위에 있는 데이터를 하나씩 꺼냄

 

▷ 큐(Queue)

  : 한쪽 끝에서 삽입, 반대쪽 끝에서 삭제 작업이 이뤄지는 FIFO(First-In First-Out) 형식

 

▷ 데크(Deque)

  : 양쪽 끝에서 삽입과 삭제 가능

▶ 비선형 구조

▷ 트리 종류

종류 설명
이진 탐색 트리
(Binary Search Tree)
차수가 2 이하인 노드로 구성되어 자식이 둘 이하로 구성된 트리,
부모 노드보다 작은 값은 왼쪽, 큰 값은 오른쪽 노드에 생성
AVL 트리 두 자식 서브 트리의 높이가 항상 최대 1만큼 차이 나도록 스스로 균형잡는 이진 탐색 트리
2-3 트리 차수가 2 또는 3인 내부 노드를 갖는 탐색 트리, 삽입/삭제 시 전체 트리 재구성하는 단점

▶ 논리 데이터 저장소

▷ 구조

개체(Entity) 속성(Attribute) 관계(Relationship)
o

 

02 물리 데이터 저장소

▶ 물리 데이터 저장소 모델 변환

단위개체 → 테이블 속성 → 컬럼 UID → 기본키
관계 → 외래키 컬럼 유형과 길이 정의 반 정규화 수행

▶ 반 정규화 수행 방법

수행 방법 설명
테이블 통합 1:1 / 1:M 관계 또는 슈퍼타입/서브타입 테이블을 통합하여 조인 횟수 줄여 성능 향상
테이블 분할 수평 분할(레코드 기준), 수직 분할(컬럼 기준)
중복 테이블 추가 집계 테이블 추가, 진행 테이블 추가, 특정 부분만 포함하는 테이블 추가
컬럼 중복화 조인 성능 향상을 위한 중복 허용

▶ 트랜잭션 인터페이스(Transaction Interface)

  : 데이터베이스 트랜잭션 입출력과 기능 형태를 정의한 인터페이스

더보기

※ 트랜잭션 : 인가받지 않은 사용자로부터 데이터를 보장하기 위해 DBMS가 가져야하는 특성,

    데이터베이스 시스템에서 하나의 논리적 기능을 정상적으로 수행하기 위한 작업의 기본 단위

 

▷ 특징

특징 설명
원자성
(Atomicity)
트랜잭션 연산을 데이터베이스 모두에 반영 또는 반영하지 말아야 함
일관성
(Consistency)
트랜잭션이 실행을 성공적으로 완료, 일관성 있는 DB 상태 유지
격리성
(Isolation)
둘 이상 트랜잭션 동시 실행 시 한 개의 트랜잭션만 접근 가능, 간섭 불가
영속성
(Durability)
성공적으로 완료된 트랜잭션 결과는 영구적 반영

 

03 데이터 조작 프로시저

▶ 프로시저(Procedure)

  : 일련의 쿼리들을 마치 하나의 함수처럼 실행하기 위한 쿼리의 집합, DB 내부 저장, 일정한 조건이 되면 자동 수행

 

▶ 절차형 데이터 조작 프로시저

▷ PL/SQL 장점

  - 컴파일 불필요, 모듈화 가능, 절차적 언어 사용, 에러 처리

 

▷ PL/SQL 구성

  - 선언부(Declare), 실행부(Begin/End), 예외부(Exception)

 

▷ PL/SQL 활용한 저장형 객체

구분 설명
저장된 프로시저 일련의 쿼리들을 마치 하나의 함수처럼 실행하기 위한 쿼리 집합(CREATE OR REPLACE)
저장된 함수 일련의 SQL 처리 수행, 수행결과를 단일 값으로 반환할 수 있는 절차형 SQL
저장된 패키지 프로시저나 함수를 효율적으로 관리하기 위한 집합(선언부, 본문)
트리거 특정 테이블에 삽입, 수정, 삭제 등 데이터 변경 이벤트 발생 시 자동 실행되도록 구현된 프로그램

 

 

 

참고자료 : 수제비 2022 정보처리기사 필기

Comments