데이터 입∙출력

clay·2023년 2월 5일
0

소프트웨어 개발

목록 보기
6/47
post-thumbnail

데이터 입∙출력의 개요

데이터 입∙출력은 소프트웨어의 기능 구현을 위해 데이터베이스에 데이터를 입력하거나 데이터베이스의 데이터를 출력하는 작업을 의미한다.

  • 데이터 입∙출력은 단순 입력과 출력뿐만 아니라 데이터를 조작하는 모든 행위를 의미하며, 이와 같은 작업을 위해 SQL(Structured Query Language)을 사용한다.
  • 데이터 입∙출력을 소프트웨어에 구현하기 위해 개발 코드 내에 SQL 코드를 삽입하거나, 객체와 데이터를 연결하는 것을 데이터 접속(Data Mapping)이라고 한다.
  • SQL을 통한 데이터베이스의 조작을 수행할 때 하나의 논리적 기능을 수행하귀 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산들을 트랙잭션(Transaction)이라고 한다.

SQL(Structured Query Language)

SQL은 1974년 IBM 연구소에서 개발한 SEQUEL에서 유래한다. 국제표준 데이터베이스 언어로, 많은 회사에서 관계형 데이터베이스(RDB)를 지원하는 언어로 채택하고 있다.

  • 관계대수와 관계해석을 기초로 한 혼합 데이터 언어이다.
  • 질의어지만 질의 기능만 잇는 것이 아니라 데이터 구조의 정의, 데이터 조작, 데이터 제어 기능을 모두 갖추고 있다.
  • SQL은 데이터 정의어(DDL), 데이터 조작어(DML), 데이터 제어어(DCL)로 구분된다.

데이터 정의어(DDL, Data Define Language)
SCHEMA, DOMAIN, TABLE, VIEW, INDEX를 정의하거나 변경 또는 삭제할 때 사용하는 언어이다.

데이터 조작어(DML, Data Manipulation)
데이터베이스 사용자가 응용 프로그램이나 질의어를 통해 저장된 데이터를 실질적으로 처리하는 데 사용되는 언어이다.

데이터 제어어(DCL, Data Control Language)
데이터의 보안, 무결성, 회복, 병행 수행 제어 등을 정의하는 데 사용되는 언어이다.

데이터 접속(Data Mapping)

데이터 접속은 소프트웨어의 기능 구현을 위해 프로그래밍 코드와 데이터베이스의 데이터를 연결(Mapping)하는 것을 말하며, 관련 기술로 SQL Mapping과 ORM이 있다.

SQL Mapping
프로그래밍 코드 내에 SQL을 직접 입력하여 DBMS의 데이터에 접속하는 기술로, 관련 프레임워크에는 JDBC, ODBC, MyBatis 등이 있다.

ORM(Object-Relational Mapping)
객체지향 프로그래밍의 객체(Object)와 관계형(Relational) 데이터베이스의 데이터를 연결(Mapping)하는 기술로, 관련 프레임워크에는 JPA, Hibernate, Django 등이 있다.

트랜잭션(Transaction)

트랜잭션은 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산들을 의미한다.

  • 트랜잭션을 제어하기 위해서 사용하는 명령어를 TCL(Transaction Control Language)이라고 하며, TCL의 종류에는 COMMIT, ROLLBACK, SAVEPOINT가 있다.

COMMIT
트랜잭션 처리가 정상적으로 종료되어 트랙잭션이 수행한 변경 내용을 데이터베이스에 반영하는 명령어

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

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

profile
샤코타임 팬

0개의 댓글