본문 바로가기

달밤에 코딩하기/커뮤니케이션을 위한 IT 지식

#9-DB (Database, 데이터베이스)

DB

DB는 데이터베이스(database)의 줄임말이다. 이는 여러 사람이 공유하여 사용할 목적으로, 체계화/통합하여 관리되는 데이터 집합이다. 데이터를 관리하는 방법은 여러 가지가 있는데 가장 대표적인 것이 '관계형 데이터베이스'이다.

관계형 데이터 베이스 - DB관리 방법론

위의 이미지를 보자. 사용자/제품 표를 분리하여 ID로 관리하고, 사용자 ID와 제품 ID는 주문 표와 관계를 맺어 사용된다. 이 관계에서 각각을 지칭하는 용어가 별도로 존재하며, 자세한 내용은 아래와 같다. 그렇다면 개발자들은 왜 관계형 데이터베이스를 사용할까? 이를 알기 위해서는 데이터의 무결성에 대해 먼저 짚고 넘어갈 필요가 있다.

 

  1. Table : 각각의 표를 말한다.
  2. Datatbase : 사용자/주문/제품 table의 데이터 집합
  3. Schema : 데이터베이스의 구조와 제약조건에 관해 기술한 것. 몇몇의 RDBMS(자세한 내용은 하단 참조)에서는 데이터베이스와 동일하게 취급한다.
  4. 관계형 데이터베이스 : 데이블의 행과 행이 열결되어 관계를 맺는 형태

데이터 무결성 - DB 속성

쇼핑몰의 '결제 데이터' 또는 '사용자의 데이터'에 손상이 발생할 경우, 구매한 제품이 배송되지 않거나 자신의 결제 내역을 볼 수 없는 상황이 발생할 수 있다. 이는 사용자에게 피해를 주며 크게는 소송에 들어갈 수 있다.

 

때문에 데이터는 단 1%의 결점도 없어야한다.
때문에 데이터의 정확성과 일관성을 유지하고 보증하는 것이 중요하며, 이를 '데이터 무결성'이라고 한다.

 

이 속성으로 인해 데이터를 관리하는 것은 어렵다. 하지만 여러 사람이 하나의 데이터에 CRUD를 요청하게 되면, 중간에 깨지거나 잘못 수정될 수 있다. 때문에 데이터를 다루는 사람은 보수적일 수밖에 없고, 아주 안전하게 작업한다. 

관계형 데이터 베이스를 사용하는 이유

데이터가 table로 나뉘어 있기 때문에, 데이터의 분류/정렬/탐색 속도가 빠르다. 또한 관계형 데이터베이스는 근 20~30년간 데이터 관리의 주요 방법론으로 사용되어왔다. 때문에 신뢰성이 높고, 데이터 무결성을 보장해준다. 이런 이유로 데이터 무결성과 속도면에서 관계형 데이터베이스는 용이하기 때문에 많이 사용되고 있다.

 

RDBMS

RDBMS 프로그램

RDBMS란 Relational DataBase Management System의 약자로, 관계형 데이터베이스 관리 시스템을 말한다. RDMS는  데이터들을 파일로 만들어서 저장하고 관리해주며, 파일을 만들고, 수정하고, 삭제하는 등의 복잡한 작업을 손쉽게 할 수 있다. 

'달밤에 코딩하기 > 커뮤니케이션을 위한 IT 지식' 카테고리의 다른 글

#11-깃(git)과 깃헙(GitHub)  (0) 2021.09.01
#10-프레임워크와 라이브러리  (0) 2021.08.30
#8-애플리케이션과 웹  (0) 2021.08.22
#7-웹 Web  (0) 2021.08.21
#6-애플리케이션  (0) 2021.08.20