코딩뿌셔
[2과목] 소프트웨어 개발 - 데이터 입출력 본문
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 정보처리기사 필기
'자격증 > 정보처리기사' 카테고리의 다른 글
[4과목] 프로그래밍 언어 활용 - 네트워크 기초 활용 (0) | 2022.07.03 |
---|---|
[4과목] 프로그래밍 언어 활용 - 응용 SW 기술 (0) | 2022.07.03 |
[4과목] 프로그래밍 언어 활용 - 서버프로그램 구현 (0) | 2022.07.03 |
[3과목] 데이터베이스 구축 (0) | 2022.06.15 |
[1과목] 소프트웨어 설계 - 요구사항 확인 (0) | 2022.06.13 |
Comments