[DB] 데이터베이스 개념

 실제 데이터가 하드디스크에 저장되는 데이터베이스부터, 데이터 모델과 DBMS까지를 데이터베이스 시스템이라고 부른다. 이러한 데이터베이스 시스템 조작을 위해서 SQL문이 사용된다.

 

  • 데이터베이스: 데이터가 구조적으로 통합되어 하드디스크에 저장된 형태
  • 데이터베이스 관리 시스템(DBMS): 데이터를 관리하는 소프트웨어 프로그램. 사용자와 db 사이에서 둘을 연결한다.
  • 데이터 모델: 데이터를 저장하는 이론적 방법. 데이터, 연산자, 무결성 제약조건을 요소로 갖는다.
  • 데이터베이스 시스템: DB, DBMS, 데이터 모델로 구성된 시스템

 

 

 

- SQL의 종류

  • 데이터 정의어(테이블 구조 정의): create, alter, ...
  • 데이터 조작어(데이터 조작): select, insert, delete, update, ...
  • 데이터 제어어(사용권한, 설정): grant, revoke, ...

 

- DBMS : 사용자와 데이터베이스를 연결시켜주는 소프트웨어. 사용자가 데이터베이스를 생성, 공유, 관리할 수 있도록 지원해주는 총체적인 역할을 한다.

 

 

- 데이터 모델

  1. 계층 데이터 모델, 네트워크 데이터 모델 : 포인터를 사용하여 관계 표현
  2. 관계 데이터 모델 : 속성 값을 사용하여 관계 표현
  3. 객체 데이터 모델 : 객체 식별자(id)를 사용하여 관계 표현

 현재에는 관계 데이터 모델이 주로 사용된다.

 

 

- 데이터베이스 구조

 데이터베이스를 개념적으로 이해하기 위해서, db를 보는 관점을 3가지로 분류해서 이해하는데 이것을 3단계 데이터베이스 구조라고 부른다. 일반적으로 3단계 데이터베이스 구조는 외부 단계, 개념 단계, 내부 단계로 나누어진다. 

 

 

  • 외부 단계: 사용자가 DB를 바라보는 관점

 > 개념 스키마는 개념 스키마의 일부를 일컫는다. 위에 나타난 개념 스키마는 아래에 있는 전체 데이터베이스 중에서 특정 사용자에게 필요한 테이블만을 모아놓은 것이다.

 

 

  • 개념 단계: 전체 데이터베이스의 정의. 외부 스키마와 다르게 DB당 하나만 존재하는 스키마

 > 전체 데이터베이스의 정보(범기관적 견해)를 보여준다.

 

 

  • 내부 단계: 물리적 저장 장치에 데이터가 실제로 저장되는 방법의 표현

 > 개념 스키마와 비슷하게 전체적인 구조를 나타내지만, 각 컬럼의 속성이나 크기를 나타내고 있다.

 

 

여기서 스키마라 함은 db의 구조와 제약조건에 대한 전반적인 명세를 기술한 메타데이터 집합을 말하는데, 간단하게 표현하면 '데이터를 위한 데이터'를 의미한다. DBMS별로 조금씩 상이한 뜻을 가지지만, 일반적으로 데이터베이스와 유사한 의미(하위 개념)로 사용되며, 테이블 등의 오브젝트 집합을 말한다.

 

 또한, 위에서 데이터베이스 구조를 표현한 그림을 보면 외부/개념매핑개념/내부 매핑이라는 단어가 있다.

외부/개념 매핑은 외부 스키마와 개념 스키마간의 매핑을 말하는데, 외부 스키마의 데이터가 개념 스키마의 어떤 부분에 해당되는지를 의미하고, 개념/내부 매핑은 개념 스키마의 데이터가 내부 스키마의 물리적 장치 어디에 어떤 방법으로 저장되는지 대응하는 것을 말한다.

 외부/개념 매핑시에는 개념 스키마가 변경되어도 외부 스키마에는 영향을 끼치지 않도록 지원한는데, 이것을 논리적 데이터 독립성이라고 한다. 비슷하게 내부 스키마가 변경되어도 개념 스키마에 영향을 끼치지 않도록 하는것을 물리적 데이터 독립성이라고 부른다.

'[ CS기초 ] > 데이터베이스' 카테고리의 다른 글

[DB] 트랜잭션, 동시성 제어, 락  (0) 2023.02.08
[DB] SQL문 문법 정리 - DML  (0) 2022.10.12
[DB] 관계 데이터 모델 기초  (0) 2022.09.17
[DB] 트랜잭션 격리 수준  (0) 2022.07.18
[DB] JOIN  (0) 2022.01.04