-
2020 정보처리기사 필기 : 2과목 : 1장Study/정보처리기사 2020. 5. 26. 17:56728x90
1장 : 데이터 입출력 구현
0. 자료 구조의 분류 ★★★
1. 배열 (Array)
- 정적 자료 구조이다.
- 삽입, 삭제 시 번거롭다.
- 삭제 시 빈 공간으로 인해 메모리 낭비가 발생한다.
- Index를 이용해 접근한다.
- 반복적인 데이터 처리 작업에 용이하다.
- 처리가 간편하다.
2. 선형 리스트 (Linear List)
- 연속 리스트 (Contiguous List)
- 배열과 비슷하다.
- 연속적으로 배정을 받는다.
- 밀도가 1이다.
- 삽입, 삭제 시 자료의 이동이 필요하다.
- 연결 리스트 (Linked List)
- 연속적인 배정이 아닌, 임의의 공간에 배정받는다.
- 포인터로 서로 연결되어 있다.
- 삽입과 삭제가 용이하다.
- 순차 리스트에 비해, 이용 효율이 좋지 않다.
- 검색이 느리다.
- 끊어지면 다음 노드를 찾기 어렵다.
3. 트리 (Tree)
- 노드(Node)의 수 : 9개
- 차수 (Degree) : 각 노드에서 뻗어 나온 가지의 수
- 트리의 차수 : 2 (이유 : root 노드인 2번 노드의 뻗어 나가는 가지가 2개이므로)
- 노드의 차수 : 2 (이유 : 특정 노드를 명시하지 않으면, root 노드를 의미)
- 트리의 레벨 (Level) : 4
4. 데이터저장소 ★★★
- 데이터들을 논리적인 구조로 조직화하거나, 물리적인 공간에 구축한 것을 의미한다.
- 논리 데이터저장소 : 논리적인 구조로 조직화 한 것
- 물리 데이터저장소 : 물리적 특성을 고려하여, 하드웨어적인 저장 장치에 저장한 것
5. 데이터베이스 ★★★
- 상호 연관이 있는 데이터들의 모임
데이터베이스는, 통합된 데이터이다.
(=Integrated Data)즉, 중복을 배제한 데이터의 모임이다. 저장된 데이터이다.
(=Stored Data)즉, 저장 매체에 저장된 자료이다. 운영 데이터이다.
(=Operational Data)즉, 반드시 필요한 자료이다. 공용 데이터이다.
( =Shared Data)즉, 공동으로 소유한 데이터이다. ** 데이터베이스는, 통합된 데이터의 효율성의 증진을 위해, 최소의 중복과 통제된 중복을 허용한다. ★★★
6. DBMS (DataBase Management System, 데이터베이스 관리 시스템) ★★★
- 종속성과 중복성을 배제하기 위해 제안된 시스템이다.
- DBMS는 데이터베이스의 구성, 접근 방법, 유지 관리에 대한 모든 책임을 진다.
- DBMS의 필수 기능
- 정의 (Definition) : 데이터간의 관계를 명확하게 명세(또는 Mapping)하는 것 (type, 구조 등)
- 조작 (Manipulation) : 갱신, 삽입, 삭제 작업이 정확하게 수행되게 끔 수단을 제공하는 것
- 제어 (Control) : 무결성 유지, 보안 유지, 권한 검사, 병행 제어
** 종속성 <ㅡ> 독립성
7. 데이터 접속 (Data Mapping)
- 객체와 데이터를 연결하는 것
- 종류
- SQL Mapping : SQL을 직접 입력하여 DBMS의 데이터에 접속
- ORM (Object Relational Mapping) : 객체와 관계형 데이터베이스의 데이터를 연결
8. 트랜잭션 (Transaction) ★★★
- 논리적 기능을 수행하기 위한 작업의 단위
- 한꺼번에 모두 수행되어야 할 일련의 연산들
- TCL (Transaction Control Language) : 트랜잭션을 제어하는데에 사용되는 명령어
- TCL 종류
- COMMIT : 정상적 종료
- ROLLBACK : 비정상적 종료, 모든 변경 작업 취소, 이전 상태로 되돌림
- SAVEPOINT : ROLLBACK 할 위치 저장, 복수 개 가능
9. SQL (Structed Query Language)
- 관계대수와 관계해석을 기초로 한 혼합 데이터 언어
- 데이터베이스를 조작하는데에 사용되는 명령어
- 구분
- 데이터 정의어 (DDL : Data Define Language) : 정의, 변경, 삭제 시 사용
- 데이터 조작어 (DML : Data Manipulation Language) : 실질적인 처리 시 사용
- 데이터 제어어 (DCL : Data Control Language) : 무결성, 회복, 병행 수행 제어 등 사용
** SQL vs TCL
SQL TCL 데이터베이스의 데이터를 조작하는데에 사용하는 언어 트랜잭션을 제어하는데에 사용하는 명령어
10. 절차형 SQL
- C, JAVA 언어 처럼, 연속적인 실행이나 분기, 반복 등의 제어가 가능한 SQL
- 효율은 떨어진다.
- 연속적인 작업 처리에 적합하다.
- 저장 모듈을 생성할 수 있다.
- DBMS에서 직접 실행되기 때문에 입출력 패킷이 적은 편이다.
- 디버깅을 통해 적합성 여부를 검증한다.
- 테스트 전에 오류 여부를 확인한다.
- 특정 오류 및 경고 메시지가 상세히 출력되지 않으므로, SHOW 명령어를 통해 내용을 확인하고, 문제를 수정한다.
11. 절차형 SQL의 종류
- 프로시저 (Procedure)
- 일종의 트랜잭션 언어
- 미리 저장해 놓은 SQL 작업을 수행한다.
- 트리거 (Trigger)
- 이벤트 발생 시 자동으로 수행된다.
- 사용자 정의 함수
- 종료 시 return을 통해 처리 결과를 단일값으로 반환
728x90'Study > 정보처리기사' 카테고리의 다른 글
2020 정보처리기사 필기 : 2과목 : 3장 (0) 2020.05.26 2020 정보처리기사 필기 : 2과목 : 2장 (0) 2020.05.26 2020 정보처리기사 필기 : 1과목 : 4장 (0) 2020.05.26 2020 정보처리기사 필기 : 1과목 : 3장 (0) 2020.05.26 2020 정보처리기사 필기 : 1과목 : 2장 (0) 2020.05.26