티스토리 뷰

공부/Database

[Database] 1. DBMS 개념

J-Sik 2021. 9. 24. 16:50

 

 

 

※본 포스팅은 위의 책을 기반으로 작성되었습니다. 

 

목적

 

  • DB, DBMS 개념을 이해한다.

 

Contents

  • 데이터 베이스와 시스템이 필요한 이유
  • DBMS 개념과 특징
  • DBMS 모델
  • SQL 

 


 

1. 데이터베이스(Database)란 ?

 행동하는 모든 것을 자료라고 정의해보자. 그럼 이러한 자료 중에서 필요한 것을 뽑아내어 가공하여 사용하기엔 정의가 매우 추상적이다. 사람들이 평소 얼마나 걷지라는 자료를 통해 어떤 결과를 만든다고 가정해보자. 그냥 걷는다라는 추상적인 개념만 생각했을 때는 표현하기가 쉽지 않다. 행동하는 모든 것을 자료라는 이름으로 추상적으로 생각한다면, 수치화할 수없기 때문이다. 그래서 추상적인 자료들을 수치화, 정형화하여 데이터라고 정의한다. 구분 지어 정의 내리지 않을 뿐, 우리는 많은 부분들을 데이터화 하여 사용하고 있다.

 

 데이터베이스는 필요한 정보를 얻기 위해 논리적으로 연관된 데이터를 모아 구조적으로 통합해 놓은 것이다. 데이터 베이스는 조직에 필요에 따라 데이터를 모으고 활용한다. 회사에 가면 사원 DB가 있고, 병원에는 환자 DB가 있는 것처럼 말이다. 데이터베이스는 다음과 같은 개념으로 설명할 수 있다.

 

통합 데이터 (Integrated data)

- 여러 곳에 나뉘어있던 데이터를 통합하여 하나로 저장함을 의미. 데이터 중복 최소화 및 불일치 현상 감소

저장 데이터 (Stored data)

-HDD, SDD 등 물리적 저장을 의미.

운영 데이터 (Operational data)

-특정 목적을 위해 사용되는 데이터. 데이터 베이스의 목적성을 의미.

공용 데이터 (Shared data)

-여러 사람이 동시에 사용할 수 있음.

DB는 공용으로 사용할 수 있다.

 

이러한 개념으로 인해 다음과 같은 특징을 가진다.

 

실시간 접근성 (Real-time accessibility)

- 실시간으로 데이터 변경.

 

계속적 변화 (Continuous change)

- 삽입, 삭제, 수정을 의미

 

동시 공유 (Concurrent sharing)

- 여러 사용자들과 동시 사용 가능(병행)

 

내용에 따른 참조 (Reference by content)

- 저장된 데이터는 데이터 값에 따라 참조. 참조에 따라 해당하는 데이터를 검색함을 의미.

 

2. 데이터 베이스 시스템이 필요한 이유

 데이터베이스란 단어에 관해 정의해 보았으니, 이를 이용한 시스템이 왜 필요한지 생각해볼 만하다. 데이터베이스는 정보를 저장하는 공간의 개념에 가깝다. 이를 활용하기 위해서는 데이터베이스 안에서 필요한 것들을 검색하고 가공해야 한다.(여기서 가공의 의미는 삽입, 변경, 수정, 삭제 등의 작업을 의미한다.) 따라서 검색과 가공을 위해 시스템이 필요하다. 

 

3.DBMS

 위의 정리를 토대로 데이터를 저장하는 데이터베이스와 그것을 활용하기 위한 시스템이 필요하다는 것을 알게 되었다. 그래서 나온 것이 데이터베이스를 관리하기 위한 시스템 DBMS(DataBaseManagementSystem)이다.

DBMS는 데이터를 통합 관리하는 시스템으로 C-S 구조 (Client - Server)로 이루어져 있다. 필요한 데이터를 요청하는 쪽을 클라이언트, 데이터를 가지고 있는 쪽을 서버라고 한다.

데이터베이스의 특징을 잘 나타내기 위해 DBMS는 다음과 같은 특징을 갖는다.

  • 데이터 복구
  • 동시 접근제어
  • 데이터 무결성

 

데이터 무결성에 대한 내용은 접어두기로 모아두겠다. 

더보기

1. 개체 무결성 (Entity integrity)

모든 레코드는 유일한 식별자를 가져야 함을 의미.

테이블이 기본 키 (primary key)로 선택된 필드 (column)를 가져야 함.

 

2. 참조 무결성 (Referential integrity)

기본 키(primary key)와 외래 키(foreign key) 간의 관계를 유지하는 것을 의미.

참조되는 테이블의 행을 이를 참조하는 참조키가 존재하는 한 삭제될 수 없고, 기본키도 변경될 수 없음.

 

3. 도메인 무결성 (Domain integrity)

전화번호에 문자가 입력되지 않게 하는 것과 같이, 필드의 무결성을 보장하는 것을 의미.

 

4. 무결성 규칙 (Integrity rule)

데이터베이스에서 무결성 규칙은 데이터의 무결성을 지키기 위한 모든 제약 사항을 의미.

 

 

DBMS의 주요 기능은 다음과 같다.

 

  • 데이터 정의 - 데이터 구조 정의, 변경, 삭제 
  • 데이터 조작 - 데이터 구조 내부 인스턴스에 대해  
  • 데이터 추출 - 사용자가 조회하는 데이터 추출
  • 데이터 제어  - 데이터베이스 사용자를 생성 및 모니터링, 백업과 회복, 동시성 제어 기능 지원

 

파일 시스템과 DBMS의 차이 

 

 

CPU 사용양이 파일 시스템보다 많은데  쓰는 이유가 있나요?

 파일 시스템으로 사용할 때, 검색이 필요하다면, 해당 자료를 모두 읽어온 뒤에 원하는 데이터를 찾기 위해 검색한다. 수정 또한 마찬가지다. DBMS를 사용한다면, SQL을 이용하여 원하는 데이터만 뽑아서 가져올 수 있는 장점이 있다.

 

 파일 시스템을 이용 시, 데이터 저장구조가 바뀌면 치명적이다. 모든 데이터에 다시 정의해야 하기 때문이지만, DBMS의 경우 데이터 구조까지 관리하기 때문에 변경과 수정이 보다 자유롭다.

 

 동시 사용에서 일어날 수 있는 무결성 문제를 해결해준다. 파일 시스템의 경우 동기화를 통해 직접 동시성을 제어해야 하지만, DBMS가 알아서 무결성 원칙을 지켜주므로 생각할 필요가 없다.

 

 데이터 정의와 프로그램에 대해 독립적이다.  

 

 

DBMS 단점은 아래와 같다.

  • 데이터베이스(DBA) 전문가 필요
  • DBMS 구축 서버 필요 및 유지비
  • 데이터 백업과 복구 어려움
  • 시스템의 복잡성
  • 대용량 디스크로 액세스 집중 시 병목현상으로 과부하 발생
  • 대용량 데이터 처리 어려움

 

4. 데이터 베이스의 종류 

Relation DB(Right) and  NON-Sql DB(Left)

 

 이 블로거님께서 정리를 아주 잘해 주셨다.

https://2030bigdata.tistory.com/116

 

 SNS의 활성화로 이미지나 영상 등의 비정형 데이터들이 비약적으로 증가하면서, Non-sqlDB를 많이 쓰는 추세라고 들었다. MongoDB가 대표적인 Non-sql DB인데, 대량의 데이터를 고속으로 처리해야 하는 웹 서비스에 적합하다고 한다.

 

 

5.SQL이란?

 Structured Quary Language의 약어로 관계형 데이터 베이스에서 처리를 위해 사용하는 질의어다.

DB의 주요 기능에 따라 조작어(DML), 정의어(DDL), 제어어(DCL)로 나뉜다.  

 

 

 

 

Reference)

https://2030bigdata.tistory.com/116

https://untitledtblog.tistory.com/123

'공부 > Database' 카테고리의 다른 글

[Database]3.SQL(2) - DML 2 - SELECT  (0) 2021.09.30
[Database] 2. SQL (1) - DML 1  (0) 2021.09.26
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
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 31
글 보관함