티스토리 뷰

DB

데이터베이스란?

tioon 2023. 3. 24. 22:54

*공부 기록용으로 하는 블로그입니다.잘못된 개념이나 오타가 있을 수 있습니다. 잘못된 정보알려주시면 수정하겠습니다!*

 

 

데이터베이스

-데이터베이스는 여러 사람들이 공유하고 사용하는 연관있는 데이터들의 모임을 의미합니다.

 

DB vs DBS vs DBMS

  •    DB = 데이터베이스
  •    DBS = 데이터베이스 시스템
  •    DBMS = 데이터베이스의 관리에 필요한 기능을 제공하는 관리 시스템
  •    참고로 DBA는 DB 최종 책임자.

 

데이터베이스의 이점

  1. 데이터 추상화 제공
     -데이터를 시각적으로 추상화하여 보기쉽게 만든다.

  2. 데이터 접근의 용이성 제공
     -데이터를 제어할 수 잇는 언어를 제공하고 편리한 인터페이스를 제공한다.

  3. 데이터 중복,불일치값 제어
     -데이터간의 중복 및 불일치가 일어났을때 비교적 오류를 쉽게 확인이 가능하고 제어하기 쉽다.

  4. 데이터 무결성 제약조건 유지
      -데이터가 만족해야하는 제약 조건의 관리를 용이하게 해준다.

  5. 원자성 제공
     -원자성은 데이터가 더이상 나눠지지 않는다는 속성인데 이러한 원자성을 제공한다.

  6. 데이터베이스 동시접근 제어
     -데이터베이스에 동시접근이 일어났을때 소프트웨어적으로 오류가 나지않도록 제어한다.

  7. 데이터 보호
    -악의적인 데이터로의 접근을 보호 한다.

  8. 데이터 백업 및 회복
    -시스템 장애 발생을 대비해 데이터 백업 및 회복 기능을 제공해 데이터 손실을 방지

 

 

 

 

 

 

3단계 스키마 구조
  • 외부 스키마 (뷰 레벨 추상화)
    -사용자가 데이터베이스를 사용할때 필요한 부분만 표시하는 뷰 , 사용자에게 보여지는 스키마입니다. 각 사용자가 보는 개인적 DB스키마입니다.

  • 개념 스키마 (논리적 레벨 추상화)
    -전체 데이터베이스의 논리적 구조를 정의한 스키마. 여러개의 외부스키마를 통합해 데이터와 데이터간의 관계를 논리적 관점으로 추상화 한것입니다. DB에 저장되는 모든 데이터와 그들간의 관계를 표현하는 스키마.

  • 내부 스키마 (물리적 레벨 추상화)
    -데이터베이스의 물리적인 저장방식을 정의한 스키마. 실제 데이터의 정보들이 어떻게 저장되는지 기술하며,하드웨어 와 소프트웨어 특성을 고려해 저장합니다.데이터베이스의 물리적 저장구조를 기술하는 스키마.

 

 

 

 

 

 

데이터 독립성
  • 논리적 독립성
    -데이터베이스의 개념 스키마가 변경될때 외부 스키마의 변화가 없는것
    즉, 응용프로그램에 영향을 주지않고 데이터베이스의 논리적 구조를 변경할 수 있는 능력.

  • 물리적 독립성
    -데이터베이스의 내부 스키마가 변경될때 개념스키마의 변화가 없는것,
    즉, 응용프로그램이나 데이터베이스의 논리적 구조에 영향을 미치지않고 데이터의 물리적 구조를 변경할 수 있는 능력.

 

 

 

 

 

 

데이터 모델

-데이터베이스에서 사용되는 데이터 구조를 정의하고 추상화를 지원하는 도구로 다양한 모델을 사용하여 데이터를 기술하거나 조작할 수 있음.

 

데이터 모델 종류 (이외에도 더 많은 데이터 모델들이 있습니다.)

  1. 관계형 데이터 모델 : 테이블 형식으로 데이터를 저장하여 각 테이블 간의 관계를 이용하여 서로간의 데이터를 연결하는 방식입니다. 테이블은 행렬로 구성되며, 열은 속성을 나타냅니다. 현재 가장 인기있는 데이터 모델입니다.
  2. 개체-관계 데이터 모델 : 개체간의 관계를 이용하여 데이터를 표현하는 방식입니다.
  3. 계층형 데이터 모델 : 데이터를 트리형태로 구성하여 표현하는 방식입니다. 부모노드와 자식 노드 사이에는 상하 관계가 있습니다.
  4. 네트워크 데이터 모델 : 계층형 데이터 모델과 유사하지만 부모노드가 여러개의 자식 노드를 가질 수 있다는 차이점이 있습니다.

 

 

 

 

 

데이터베이스 관리 시스템

데이터베이스 관리 시스템 구성요소

 

  • 데이터베이스 엔진 : 데이터베이스 엔진은 데이터를 저장, 검색 및 수정 하는 역할을 합니다. 쿼리 처리 엔진과 저장 엔진으로 나뉩니다.
  • 쿼리 처리 엔진(쿼리 프로세서) : 사용자가 요청한 쿼리를 처리하는 역할을 합니다. 사용자가 보낸 쿼리언어를 분석하고 실행을 하는 역학을 합니다.
  • 저장 엔진(저장 매니저) : 데이터베이스에서 데이터를 저장하고 검색하는 역할을 합니다.
  • 데이터 사전 : 데이터베이스의 메타데이터를 관리하는 역할을 하고 있습니다. 메타데이터는 데이터의 데이터로 데이터베이스의 구조,테이블,열,제약 조건등같은 정보를 포함합니다.
  • 데이터베이스 저장소 : 데이터베이스 저장소는 데이터베이스를 관리하고 보호하는 역할을 합니다. 백업 및 복구, 보안 관리, 성능 최적화 등이 포함됩니다.
  • 트랜잭션 관리자 : 데이터베이스를 접근하는 과정에서 여러가지 권한 검사를 하는 역할을 합니다. 

 

 

 

 

트랜잭션

트랜잭션이란?
-데이터베이스의 상태를 변화시키기 위해 일어나는 작업의 단위를 말합니다. 예를 들어 데이터베이스에서 인스턴스를 하나 가져온다고 하면 이 작업 하나가 트랜잭션입니다.

 

트랜잭션의 특징

  • 원자성 : 트랜잭션은 일부분만 수행되어선 안되고 완료 아니면 실패만 있어야 합니다.
  • 일관성 : 트랜잭션이 실행되기 전과 후의 상태가 일관성이 있어야 합니다. 즉 트랜잭션이 진행되는동안 데이터베이스의 정보가 중간에 바뀌면 안됩니다.또한 이 일관성으로 각 사용자가 일관된 데이터를 볼 수 있습니다.
  • 격리성 : 동시에 실행되는 여러개의 트랜잭션은 서로 영향을 주지않고 간섭하지 않아야합니다.
  • 지속성 : 트랜잭션이 성공적으로 완료된 후에는 결과가 영구적으로 저장되어야합니다.

 

트랜잭션 관리

  • 동시성 제어 (Concurrency Control) : 여러개의 트랜잭션이 동시에 데이터 베이스에 접근할 경우 트랜잭션 사이의 간섭,충돌을 방지하는 기술. 이것으로 일관성과 무결성을 지킬 수 있음.
  • 복구 기능 (Recovery) : 데이터들의 무결성과 신뢰성 보장을 위해 시스템이 다운되거나 오류 발견되었을때 데이터 로그를 활용해 데이터를 복구하는 기술

 

데이터 무결성이란?

-데이터의 정확성과 일관성을 보장하는 것. 무결성을 지키기 위해  데이터의 입력,수적,삭제등의 모든 작업에서 규칙과 제약조건을 준수해야함.

'DB' 카테고리의 다른 글

추가 관계 대수  (0) 2023.03.27
기본 관계 대수  (0) 2023.03.27
관계형 데이터베이스 제약조건 (Constraint)  (0) 2023.03.26
데이터베이스 키  (0) 2023.03.26
관계형 모델의 기본 (모델, 키, 무결성)  (2) 2023.03.26
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함