728x90

자료구조

자료 구조의 정의

- 프로그램에서 사용하기 위한 자료를 기억장치의 공간 내에 저장하는 방법과 자료 간의 관계, 처리 방법 등을 저장공간의 효율성 및 실행 간의 신속성을 높이기 위한 연구 분석하는 것

 

자료 구조의 분류

- 배열

    -> 동일한 자료형의 데이터들이 같은 크기로 나열되어 순서를 갖고 있는 집합

    -> 첨자를 이용하여 데이터에 접근

    -> 첨자의 개수에 따라 n차원 배열이라 부름

- 선형 리스트

    -> 일정한 순서에 의해 나열된 자료 구조

    -> 연속 리스트

        * 배열을 이용한 선형 리스트

        * 중간에 데이터를 삽입하기 위해 연속된 빈 공간이 있어야 하며 삽입, 삭제 시 자료의 이동 필요

    -> 연결 리스트

        * 자료 항목의 순서에 따라 노드의 포인터 부분을 이용하여 서로 연결시킨 자료 구조  

        * 연결을 위한 포인터를 찾는 시간이 필요해 접근 속도가 느림

        * 노드의 삽입 삭제 작업이 용이

        * 노드 부분 때문에 연속 리스트에 비해 기억 공간의 효율이 좋지 않음 

노드

- 스택

    -> 리스트의 한쪽으로 자료의 삽입, 삭제가 이루어짐

    -> LIFO(Last In First Out)의 구조를 가지고 있음

    -> 오버플로우(overflow) : 기억 공간이 모두 차있는 상태에서 데이터를 삽입하면 일어나는 현상

    -> 언더플로우(underflow) : 기억 공간이 비어있는 상태에서 데이터를 삭제하면 일어나는 현상 

    -> Top : 스택에 가장 마지막으로 삽입된 자료의 위치

    -> Bottom : 스택의 가장 바닥

스택

- 큐

    -> 리스트의 한쪽에서는 삽입 다른 한쪽에서는 삭제가 이루어짐

    -> FIFO(First In First Out)의 구조를 가지고 있음

    -> F(Front) : 먼저 삽입된 자료의 기억 공간을 가르키는 포인터

    -> R(Rear) : 마지막에 삽입된 자료의 기억 공간을 가르키는 포인터

- 트리

    -> 노드와 가지를 이용하여 사이클이 없이 구성한 그래프의 특수 형태

    -> 디그리 : 노드에서 뻗어나온 가지의 개수

    -> 단말노드 / 잎 노드 : 자식이 없는 노드

    -> 트리의 디그리 : 노드들의 디그리 중 가장 많은 수

 

데이터저장소 / 데이터베이스 / DBMS

데이터저장소의 개요

- 소프트웨어 개발 과정에서 다루어야 할 데이터들을 논리적인 구조로 조직화하거나 물리적인 공간에 구현한 것

- 논리 데이터저장소는 데이터 및 데이터 간의 연간성, 제약 조건을 식별하여 논리적인 구조로 조직화한 것

- 물리 데이터저장소는 논리 데이터저장소에 저장된 데이터와 구조들을 하드웨어적인 저장장치에 저장한 것

 

데이터베이스의 정의

- 특정 조직의 업무를 수행하는데 필요한 데이터들의 모임

- 통합된 데이터 : 자료의 중복을 최소화

- 저장된 데이터 : 컴퓨터가 접근할 수 있는 저장 매체에 저장

- 운영 데이터 : 조직의 고유한 업무를 수행하는데 필요

- 공용 데이터 : 여러 시스템이 공동으로 소유하고 유지함

 

DBMS(DataBase Management System)

- 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해주고 데이터베이스를 관리하는 소프트웨어

- 기존의 파일 시스템이 가지는 데이터의 종속성과 종복성 문제를 해결하기 위해 제안된 시스템

- DBMS의 기능

    -> 정의 기능 : 데이터베이스에 저장될 데이터의 타입과 구조에 대해 명시하는 기능

    -> 조작 기능 : 데이터를 검색, 갱신, 삽입, 삭제 등 처리하기 위해 사용자와 데이터베이스 간 인터페이스 수단을 제공하는 기능

    -> 제어 기능

        * 데이터의 무결성이 유지되도록 제어

        * 사용자에게 허가된 데이터만 접근하도록 보안을 유지하고 권한을 검사

        * 여러 사용자가 동시에 접근하여 데이터를 처리할 때 정확성을 유지하도록 병행 제어

 

DBMS의 장단점

- 장점

    -> 데이터 독립성, 일관성, 무결성 유지

    -> 보안 유지

    -> 데이터 실시간 처리, 통합 관리, 표준화 가능

- 단점

    -> 전문가 부족

    -> 전산화 비용 증가

    -> 파일의 백업과 회복이 어려움

    -> 시스템이 복잡함

 

데이터 입출력

데이터 입출력의 개요

- 소프트웨어의 기능을 구현하기 위해 데이터베이스에 데이터를 입력, 출력하는 작업

 

SQL

- 국제 표준 데이터베이스 언어

- 데이터 정의어, 조작어, 제어어로 구분됨

- 2020 정보처리기사 필기 - 3.3 SQL 응용(1)

 

2020 정보처리기사 필기 - 3.3 SQL 응용(1)

SQL 개념 SQL의 개요 - 국제 표준 데이터베이스 언어이며 많은 관계형 데이터베이스(RDB)를 지원하는 언어로 채택 SQL의 분류 - DDL(Data Define Language, 데이터 정의어) -> 스키마, 도메인, 테이블, 뷰, 인덱스..

1d1cblog.tistory.com

- 2020 정보처리기사 필기 - 3.3 SQL 응용(2)

 

2020 정보처리기사 필기 - 3.3 SQL 응용(2)

DML DML의 개념 - DML(데이터 조작어)는 데이터베이스 사용자가 응용 프로그램이나 질의어를 통해 저장된 데이터를 관리하는 데 사용하는 언어 INSERT - 테이블에 새로운 튜플을 삽입 INSERT INTO 테이블명([속성..

1d1cblog.tistory.com

 

데이터 접속(Data Mapping)

- 프로그래밍 코드와 데이터베이스의 데이터를 연결하는 것

- 2020 정보처리기사 필기 - 3.4 SQL 활용(2)

 

2020 정보처리기사 필기 - 3.4 SQL 활용(2)

DBMS 접속 기술 DBMS 접속 기술의 개요 - 사용자가 데이터를 접속하기 위해 응용 시스템을 이용하여 DBMS에 접근하는 것 - 응용 시스템은 사용자로부터 매개 변수를 전달받아 SQL을 실행하고 DBMS로부터 전달 받은..

1d1cblog.tistory.com

 

트랜잭션

- 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 수행돼야 할 일련의 연산

- TCL(Transaction Control Language) : 트랜잭션을 제어하기 위해 사용되는 명령어

    -> COMMIT : 트랜잭션 처리가 비정상적으로 종료되어 트랜잭션이 수행한 변경 내용을 데이터베이스에 반영

    -> ROLLBACK : 트랜잭션 처리가 비정상적으로 종료되어 데이터베이스의 일관성이 깨졌을 때 트랜잭션이 행한 모든 변경 작업을 취소하고 이전 상태로 되돌림

    -> SAVEPOINT(CHECKPOINT) : 트랜잭션 내에 ROLLBACK 할 위치인 저장점을 지정

 

절차형 SQL

절차형 SQL의 개요

- 프로그래밍 언어와 같이 연속적인 실행이나 분기, 반복 등의 제어가 가능한 SQL

- 단일 SQL문장으로 처리가 어려운 연속적인 작업을 처리하는데 적합

- BEGIN ~ END 형식의 블록 구조로 되어 있어 기능별 모듈화가 가능

- 2020 정보처리기사 필기 - 3.4 SQL 활용(1)

 

2020 정보처리기사 필기 - 3.4 SQL 활용(1)

프로시저 프로시저의 개요 - 절차형 SQL을 활용하여 특정 기능을 수행하는 일종의 트랜잭션 언어 - 호출을 통해 실행되어 미리 저장해놓은 SQL 작업 수행 - 여러 프로그램에서 호출하여 사용 가능 - 데이터베이스..

1d1cblog.tistory.com

필기 정리

 

2020 정보처리기사 필기 정리

본 정리 글은 시나공 정보처리기사 필기책과 학교 특강을 참고하여 작성하였습니다. -> 책 정보 확인하기 시나공 정보처리기사 필기 2020년 정보처리기사 NCS기반 전면 개편!정보처리기사 시험은 NCS 학습 모듈 중..

1d1cblog.tistory.com

 

728x90

+ Recent posts