제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 연산단위) 수행 내역, 장애진단 등의 모니터링을 제공하는 도구)
'정보처리기사 > [inflearn] 필기 (완)' 카테고리의 다른 글
정보처리기사 - 제2과목 소프트웨어 개발 / 제품 소프트웨어 패키징 (0) | 2022.03.29 |
---|---|
정보처리기사 - 제2과목 소프트웨어 개발 / 통합 구현 (0) | 2022.03.29 |
정보처리기사 - 제2과목 소프트웨어 개발 / 데이터 입출력 구현(1) (0) | 2022.03.28 |
정보처리기사 - 제1과목 소프트웨어 설계 / 인터페이스 설계 (0) | 2022.03.23 |
정보처리기사 - 제1과목 소프트웨어 설계 / 애플리케이션 설계 (0) | 2022.03.23 |