정보처리기사/[inflearn] 필기 (완)

정보처리기사 - 제2과목 소프트웨어 개발 / 데이터 입출력 구현(2)

web_seul 2022. 3. 28. 23:02

 제2과목  데이터 입출력 구현 

▷ 데이터 입출력 구현 C

> 데이터베이스 : 데이터를 모아놓은 곳(이전의 파일시스템)

- 데이터저장소

- 데이터베이스 : 통합, 저장, 운영, 공유

- 데이터베이스 특징 : 실시간접근성, 내용에 의한 참조, 동시 공유, 계속적인 변화(삽입, 삭제, 갱신)

- DBMS의 장단점

장점 단점
데이터 중복이 최소화된다. 데이터베이스 전문가가 부족하다.
데이터를 동시 공유할 수 있다. 초기 구축비용이 많이 든다.
데이터의 독립성이 확보된다. 서버의 부담이 있다.
(대용량 디스크의 집중적인 처리로 과부하가 발생한다.)
데이터의 일관성이 유지된다. 대용량의 기억장치가 필요하다.
데이터의 무결성이 유지된다. (정확성) 백업과 회복방법이 복잡하다.
데이터의 보안이 향상된다.  
표준화 할 수 있다.  

 

- DBMS (Data Base Management System) : DB 관리시스템, SW, 사용자와 응용프로그램에 효율적인 DB사용환경 제공 (액세스, SQL, 오라클)

  정의기능 : 구조정의 (변경, 삭제)

  조작기능 : 데이터 (검색, 삽입, 삭제, 갱신)

  제어기능 : 접근권한 (권한부여, 권한취소)

 

> 스키마 : 자료저장구조, 표현법

- 정의 : DB 구조, 제약조건 기술

- 외부 스키마 : 사용자 관점, 다수

- 개념 스키마 : 기관, 조직체 입장, 유일

- 내부 스키마 : 물리적 저장, 저장구조, 유일

 

> 데이터 베이스 설계

- 요구조건 분석 : 사용자가 요구하는 조건, 파악, 명세(문서화) 기술

- 개념적 설계 : 기호로 표현, E-R다이어그램

- 논리적 설계 : 모델링, 스키마설계

- 물리적 설계 : 물리적 저장장치에 물리적 구조 ,데이터 변환

- 데이터베이스 구현

 

▷ 데이터 입출력 구현 D

>SQL : 1974, IBM 개발, DB언어

- DDL : 정의어, 스키마 정의(create), 수정(alter), (구조)삭제(drop)

- DML : 조작어, 데이터 삽입(insert), (데이터)삭제(delete), 수정(갱신, update), 검색(select)

- DCL : 제어어, 접근권한, 권한부여(grant), 권한 취소(revoke), 정상완료(commit), 복귀(rollback)

 

- 데이터 접속(Data Mapping) : 프로그램 코드와 DB데이터 연결

  SQL Mapping(JDBC, ODBC, MyBatis)

  ORM(object 객체와 관계형 DB의 데이터 연결(JPA, Hibernate, Django)

 

- 트랜잭션(Transaction) : 작업단위

  특징 

  A 원자성 : 완벽하게 수행된 값 or 수행되지 않은 상태의 값

  C 일관성 

  I 격리성(독립성) : 다른 트랜잭션이 사용중일 때 사용불가

  D 영속성 

 

> 절차형 SQL : C, Java와 같이 연속적인 실행, 분기, 반복 등의 제어가 가능한 SQL, 단일로 처리하기 어려운 SQL

- 절차형 SQL

  프로시저 : 특정기능 수행, 트랜잭션의 언어, 호출

  트리거 : 입력, 갱신, 삭제 등의 이벤트가 발생할 때 관련작업이 자동으로 수행됨

  사용자 정의 함수 : 프로시저와 유사, SQL, Return으로 처리결과 반환

- 절차형 SQL의 테스트(실행, 결과 확인, 오류경고x)와 디버깅(기능적합성 여부 판단)

- 쿼리 성능 최적화(Data입출력 성능 향상을 위한 SQL 코드 최적화) : APM이용하여 쿼리 선정, 옵티마이저(DBMS내에서 최적의 경로를 찾는 모듈)

APM : 접속자, 자원현황, 트랜잭션(DB 연산단위) 수행 내역, 장애진단 등의 모니터링을 제공하는 도구)

 

반응형