[DB] 데이터베이스의 기초
데이터베이스
데이터베이스는 데이터의 집합을 체계적으로 구성하고 관리하기 위한 시스템이다.
데이터의 무결성, 일관성, 보안, 효율성 등을 보장하기 위한 기능을 제공한다.
여기서 무결성이란, 입력된 데이터나 검색된 데이터가 일치되는 것을 데이터의 무결성이라고 한다.
데이터베이스는 보통 테이블로 구성되어있다. 테이블은 열(column)와 행(row)로 구성된다.
용어의 정리(튜플, 속성, 릴레이션)
튜플
-
튜플은 데이터베이스에서 행을 나타낸다.
-
레코드라고도 불릴 수 있다. 예를 들어, 학생 정보 데이터에서 하나의 학생 정보는 하나의 튜플로 저장된다.
속성
- 속성이란 데이터베이스에서 튜플의 열을 나타낸다. 예를 들어 학생정보 데이터의 학생의 이름, 학번, 전공 등은 각각 하나의 속성으로 나타낼 수 있다.
릴레이션
-
데이터베이스에서 테이블을 의미한다.
-
튜플과 속성으로 구성되어 있으며, 한마디로 데이터의 구조를 정의하는 것은 속성(Attribute)의 역할이며 값을 추가하는 것은 튜플(record)를 생성하는 것이다. 속성과 튜플을 릴레이션에 추가하게 된다.
용어의 정리(트랜잭션, 커밋, 롤백)
트랜잭션(Transaction)
데이터베이스의 상태를 변화시키기 위해 수행하는 것을 말한다. 트랜잭션은 작업단위를 뜻하는 것이기 때문에 작업을 시작부터 끝까지의 과정을 의미한다.
커밋(Commit)
트랜잭션의 작업을 완료하여 데이터베이스에 적용하는 것을 의미한다. 즉 데이터베이스의 상태를 변경한 모든 작업을 저장하는 것을 의미한다.
롤백(Rollback)
트랜잭션의 작업을 취소하는 것을 의미한다. 만약 트랜잭션의 작업중에 문제가 발생하거나, 작업을 취소해야하는 경우에 사용된다. 이때 이전에 수행했던 모든 작업을 취소하고, 데이터베이스의 상태를 이전 으로 되돌리는 것을 의미한다.
메모장에 글을 작성했다고 가정한다. 이때 저장하지 않고 x표시를 누르게 되면 “변경 내용을 저장하시겠습니까?” 라는 문구가 나오게 된다.
이때 저장 또는 취소하는 것을 트랜잭션(Transaction)이라고 하며, “저장”을 눌러서 작업을 완료하여 데이터베이스에 저장하는 것을 커밋(Commit)이라고 한다. “취소”를 누르게 되면 작성하던 것이 취소되거나 또는 원래상태로 돌아가기 때문에 롤백(Rollback)이라고 말한다.
데이터베이스의 특징
실시간 접근성
사용자가 데이터를 요청하면 바로바로 결과를 받을 수 있다.
계속된 변화 대응성
데이터 값은 시간에 따라 항상 바뀌는 변화에 대한 대응성을 가지고 있어야 한다. (검색, 입력, 삭제, 수정 등의 작업을 통하여 바뀐 데이터 값을 저장한다.)
데이터 공유성
데이터베이스는 여러 사용자에게 데이터가 동시에 공유되어야 한다.
데이터 참조성
데이터베이스에 저장된 데이터는 데이터의 물리적 위치가 아닌 사용자 요구 내용인 데이터 값에 따라 참조한다.
데이터베이스의 종류
데이터베이스의 언어
-
데이터베이스 정의어 : 테이블을 만드는, 데이터베이스를 구축하는 언어
-
데이터 처리어 : 데이터의 작업처리인 트랜잭션을 적용하기 위해 사용하는 언어
-
데이터 제어어 : 데이터의 무결성, 보안이나 권한 부여를 관리하기 위해 사용하는 언어
-
조작어 : 프로그램이 데이터베이스에 명령하여 원하는 데이터를 사용자에게 제공하는 언어, 데이터 읽기 입력, 수정, 삭제 등을 수행
-
절차적 언어 : 순서를 명확한 계산법으로 쉽게 표현할 수 있는 문제 지향 언어
-
비철차적 언어 : 컴퓨터 실행 순서와 상관없이 처리내용을 기술하며, 대화식으로 데이터베이스를 이용
-
댓글남기기