정보처리기사 2과목 소프트웨어 개발
1장. 데이터 입·출력 구현
034 자료구조 Ⓐ
선형 구조(Linear Structure) : 배열, 선형 리스트, 스택, 큐, 데크
비선형 구조(Non-Linear Structure) : 트리, 그래프
배열(Array)
- 동일한 자료형, 같은 크기, 순서
- 추가가 어렵고 삭제 시 메모리 낭비 발생
- 첨자 이용
- 반복적인 데이터 처리 작업에 적합
선형 리스트(Linear List)
- 연속 리스트(Contiguous List) : 연속되는 기억장소에 저장, 기억장소 이용 효율이 좋음, 삽입·삭제 시 자료 이동 필요
- 연결 리스트(Linked List) : 노드의 포인터 부분을 이용하여 연결, 삽입·삭제 용이, 접근 속도 느림
스택(Stack)
- 후입선출(LIFO; Last In First Out)
- 오버플로 및 언더플로 발생
- TOP : 가장 마지막으로 삽입된 요소를 가리킴, Bottom : 스택의 가장 밑바닥
큐(Queue)
- 선입선출(FIFO; First In First Out)
- Front Pointer : 가장 먼저 삽입된 데이터 가리킴
- Rear Pointer : 가장 마지막에 삽입된 데이터 가리킴
- ex) 운영체제의 작업 스케줄링
트리(Tree)
- 노드 : 트리의 기본 요소
- 루트 노드(Root Node) : 트리의 맨 위에 있는 노드
- 단말 노드(Terminal/Leaf Node) : 자식이 하나도 없는 노드
- 차수(Degree) : 노드의 가지의 수
트리의 차수(Degree) : 노드들의 차수 중 가장 큰 수
035 데이터저장소 / 데이터베이스 / DBMS Ⓐ
데이터저장소
- 논리 데이터저장소 : 데이터를 논리적인 구조로 조직화
- 물리 데이터저장소 : 논리 데이터저장소에 저장된 데이터들을 저장장치에 저장
데이터베이스
- 상호 관련된 데이터들의 모임
- 통합 데이터(Integrated Data) : 중복 배제된 데이터
- 저장 데이터(Stored Data) : 저장 매체에 저장된 데이터
- 운영 데이터(Operational Data) : 반드시 필요한 데이터
- 공용 데이터(Shared Data) : 여러 시스템들이 공유하는 데이터
DBMS(Database Management System)
- 데이터베이스를 관리해주는 소프트웨어
- 데이터의 종속성과 중복성 문제 해결
- 정의(Definition), 조작(Manipulation), 제어(Control) 기능
- 일관성, 무결성, 보안 유지
036 데이터 입·출력 Ⓑ
SQL(Structed Query Language)
- 관계대수와 관계해석을 기초로 함
- 데이터 정의어(DDL), 데이터 조작어(DML), 데이터 제어어(DCL)로 구분됨
관계대수 : 정보를 어떻게 유도하는가를 기술하는 절차적 언어
관계해석 : 관계 데이터의 연산을 표현하는 법, 비절차적
Data Mapping
- SQL Mapping : 코드 내에 SQL을 직접 입력하여 DBMS에 접속 (ex. JDBC, ODBC, MyBatis)
- ORM(Object-Relational Mapping) : 객체와 데이터 연결 (ex. JPA, Hibernate, Django)
Transaction
- 데이터베이스의 상태를 변화시키는 작업 단위, 한꺼번에 수행되어야 할 일련의 연산
-
COMMIT
: 트랜잭션이 수행한 내용을 데이터베이스에 반영 -
ROLLBACK
: 트랜잭션의 작업을 취소하고 이전 상태로 되돌림 -
SAVEPOINT
: ROLLBACK할 위치를 지정
037 절차형 SQL Ⓑ
절차형 SQL
- 프로시저(Procedure) : 특정 기능을 수행하는 트랜잭션 언어, 미리 저장해 놓은 SQL 작업
- 트리거(Trigger) : 이벤트가 발생할 때마다 자동으로 관련 작업 수행
- 사용자 정의 함수 : 프로시저와 유사, 예약어 Return을 사용하여 처리 결과를 반환
REFERENCE
2020 시나공 정보처리기사 필기 : NCS 기반 전면 개편[개정판]