본문 바로가기

Domain/데이터베이스

[데이터베이스] 1. 개요

데이터 베이스

데이터베이스는 여러 사람이 공유하여 사용할 목적으로 체계화해 통합, 관리하는 데이터의 집합이다

 

DBMS(DataBase Management System)

DBMS는 다수의 사용자들이 데이터베이스 내의 데이터를 접근할 수 있도록 해주는 소프트웨어 도구의 집합이다. DBMS는 사용자 또는 다른 프로그램의 요구를 처리하고 적절히 응답하여 데이터를 사용할 수 있도록 해준다.

 

DBMS의 기본기능

  1. 데이터 구조의 정의 - 필드, 자료형
  2. 데이터의 삽입, 삭제, 수정
  3. 질의 조회
  4. DB 관리 - 사용자 추가, 성능 관리

대표적인 DB 유형

   1. 관계형 데이터베이스(SQL): 행과 열로 구성된 테이블의 관계로 데이터를 저장하고 표현하는 방식이다. 가장 범용적         이며 데이터 일관성을 보장한다.

   2. 비관계형 데이터베이스(NoSQL): key-value 형태로 데이터를 저장하고 표현하는 방식이다.대용량의 데이터 처리,          클라우드 컴퓨팅, 빠른 읽기/쓰기 등의 장점이 있다.

 

 

데이터 베이스의 핵심 구성 요소

  • 데이터: 테이블의 실제 존재하는 행들의 집합.
  • 메타데이터(data about data): 데이터베이스에 저장되는 데이터의 구조 정의, 논리/물리적 구조, 접근 경로 명시 등의 데이터이다. SQL 표준에서는 Information schema라고 정의한다.

데이터베이스 시스템 = 사용자 + DMBS + 데이터베이스 + 응용프로그램


스키마와 인스턴스

스키마(Schema): 설계 과정에서 정의되는 메타 데이터를 의미한다. 

개념(논리적) 스키마

인스턴스: 스키마에 대한 실제 데이터인 테이블 각 행을 의미한다. 

 

 

3단계 스키마

  1. 외부 스키마: 사용자가 보는 DB. 사용자들은 C, java의 embedded SQL을 통해 DB로 질의.
  2. 개념(논리) 스키마: 테이블의 구조, 속성, 테이블간의 관계와 같은 전에 데이터 베이스의 논리적 구조를 나타낸다.
  3. 내부 스키마: 데이터 베이스의 물리적 구조를 나타낸다.


트랜잭션(Transaction)

일련의 DB 연산들로 구성된 논리적인 작업 단위를 의미한다. 데이터베이스 연산 처리 중 다수의 사용자 환경에서 일관성을 유지하고 장애 시에 데이터 손실을 방지하기 위해 사용된다. 즉, 복수의 SQL 명령문을 한 단위로 유효/무효 처리한다.

 

트랜잭션의 세 가지 특성

  • 원자성: 부분 처리가 없어야 한다. 전부 처리되거나 전부 처리되지 않거나.
  • 고립성: 다른 트랜잭션의 영향으로부터 독립적이어야 한다.
  • 일관성: 트랜잭션이 완료된 후에도 데이터베이스는 일관성을 유지한다.