ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 2020 정보처리기사 필기 : 2과목 : 1장
    Study/정보처리기사 2020. 5. 26. 17:56
    728x90

    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

    댓글

kxmjhwn@gmail.com