정보처리기사/필기

[2과목-1장-036] 데이터 입/출력

여니두 2020. 4. 21.

SW의 기능 구현을 위해 DB에 데이터를 입력하거나 DB의 데이터를 출력하는 작업

 

1. SQL (Structured Query Language)

데이터 입/출력은 단순 입/출력뿐만 아니라 데이터를 조작하는 모든 행위를 의미.

 

: 국제 표준 데이터베이스 언어. 관계형 데이터베이스(RDB)를 지원하는 언어로 채택

- 관계대수, 관계해석을 기초로 한 혼합 데이터 언어

- 질의어지만 질의 기능, 데이터 구조의 정의, 데이터 조작, 데이터 제어 기능을 모두 갖춤

 

1) 데이터 정의어(DDL): SCHEMA, DOMAIN, TABLE, VIEW, INDEX를 정의, 변경, 삭제할 때 사용하는 언어

2) 데이터 조작어(DML): DB 사용자가 응용 프로그램이나 질의어를 통해 저장된 데이터를 실질적으로 처리하는 데 사용되는 언어

3) 데이터 제어어(DCL): 데이터의 보안, 무결성, 회복, 병행 수행 제어 등을 정의 시 사용되는 언어

 

 

2. 데이터 접속 (Data Mapping)

데이터 입/출력을 SW에 구현하기 위해 개발 코드 내에 SQL 코드를 삽입 or 객체와 데이터를 연결하는 것

= DBMS 접속

: SW의 기능 구현을 위해 프로그래밍 코드와 DB의 데이터를 연결하는 것

 

* 관련 기술

- SQL Mapping: 프로그래밍 코드 내에 SQL 직접 입력 > DBMS의 데이터에 접속하는 기술

관련 프레임워크) JDBC, ODBC, MyBatis 

- ORM(Object-Relational Mapping): 객체지향 프로그래밍의 객체와 RDB의 데이터를 연결하는 기술

관련 프레임워크) JPA, Hibernate, Django

 

 

3. 트랜잭션 (Transaction)

SQL을 통한 DB 조작을 수행 시(DB의 상태를 변환시키는) 하나의 논리적 기능을 수행하기 위한 작업의 단위 or 한꺼번에 모두 수행되어야 할 일련의 연산들

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

 

* TCL 종류

1) COMMIT: 트랜잭션 처리 정상 종료 > 변경 내용을 DB에 반영하는 명령어

2) ROLLBACK: 비정상 종료 > DB의 일관성이 깨졌을 때 모든 변경 작업 취소, 이전 상태로 되돌리는 연산

3) SAVEPOINT(=CHECKPOINT): 트랜잭션 내에 ROLLBACK할 위치인 저장점을 지정하는 명령어

댓글