본문 바로가기
소년의 IT 쉽게 이해하기/개발 쉽게 이해하기

DB 쉽게 이야기하기

by Circlezoo 2021. 12. 2.

출처: Unsplash Photo by Jan Antonin Kolar

Q. DB(데이터 베이스)란 무엇인가?

 

 여러 사람에 의해 공유되어서 사용될 목적으로 통합 관리되는 데이터 집단을 이야기합니다.

 

 예능에서 많이 사용하는 콘텐츠를 예시로 들면 떡볶이를 만드는 데 모두 한 가지씩 재료를 들고 오라고 하면 한 사람당 떡, 고추장, 물, 어묵 등 각각 다른 재료를 가져오면 좋겠지만 겹치는 재료가 발생할 수도 있습니다.

 

DB는 이런 중복을 없애고 자료를 구조화하여 저장함으로써 자료 검색과 갱신의 효율을 높이기 위해서 사용되는 것입니다. 즉! 자료 파일들을 조직적으로 통합하여 자료의 중복을 없애고 구조화하여 기억시켜놓은 일종의 자료의 집합체입니다.

 

Q. DB를 왜 사용하는가?

 

 다수의 프로그램 사용자들에 의해서 생성된 데이터, 프로그래머가 필요한 데이터 등 많은 데이터들이 생성되는 순간이 찾아오는 데 만약 DB가 없다면 모두 다 사라지는 것입니다.

 즉, 데이터가 사라지지 않도록 하기 위해서 DB로 구조화시켜놓는다.라고 생각하시면 됩니다.

 

Q. DB는 어떤 특징을 가지는가?

 

 데이터베이스는 다음 4가지의 특징을 가지게 됩니다.

1. 통합된 데이터: 중복을 배제한 데이터의 모음이다.라는 의미입니다.

2. 데이터 저장공간: 저장되는 공간이 있어야 데이터를 저장할 수 있겠죠?

3. 운영 데이터: 데이터를 수정하거나 삽입 혹은 삭제할 수 있다는 의미인데 업무의 운영에 사용된다고 생각하시면 됩니다.

4. 공용 데이터: 나 혼자만 볼 수 있는 것이 아니라 데이터 내부에서 여러 사람이 함께 볼 수 있다는 것입니다.

 

Q. 데이터 저장소라는 것은 무엇인가?

 

 데이터가 저장되는 곳을 데이터 저장소라고 합니다.

그리고 이 데이터 저장소는 데이터 모델링과 관련이 있습니다.

데이터 모델링이란 데이터를 적재적소 원하는 곳에 잘 정리해두고 빠르게 쓸 수 있도록 해주는 것을 데이터 모델링이라고 합니다. 

 

 데이터 저장소는 논리적 데이터 저장소 물리적 데이터 저장소로 구분되는데 논리적 데이터 저장소의 경우는 제약조건 같은 것인데 우리 머릿속으로 정리되는 개념들 그런 것을 논리적 데이터 저장소라고 합니다.

 물리적 데이터 저장소는 실제로 존재하는 것 물리적인 특성을 가진 것을 말합니다.

 

Q. DBMS란 무엇인가?

 

 DB가 있다면 직접 관리할 수 있을까요? 그렇게 할 수가 없습니다. 별도로 이 DB를 동작시키는 Software가 필요합니다. 우리는 이것을 DBS라고 부릅니다.

DBMS란 데이터베이스를 관리하면서 여러 응용프로그램에 DBMS를 공유하며 사용할 수 있도록 환경을 제공해주는 그런 소프트웨어인 것입니다.

어쩌다 한 번씩 들어봤을 오라클, SQL 이런 것이 DBMS입니다.

 

Q. DBMS를 왜 사용하는가?

 

 DBMS를 사용하는 이유는 DB의 데이터가 너무 방대하기 때문입니다. 사람들이 너도 나도 자료를 가져오기 때문에 이것을 DB에 차곡차곡 쌓아놓긴 했는데 막상 쓰려고 찾으려고 하니 너무 많으니까 어딨는지 모르는 것입니다. 그런 문제점을 해결하기 위해 내가 원하는 것을 찾을 수 있도록 DBMS를 사용하는 것입니다.

 

 그러니 이 DBMS는 데이터를 찾아주기 위해서 데이터를 정의할 수 있어야 하는 것이며, 찾고자 하는 사용자와 대화가 되어야 하기 때문에 인터페이스 수단을 제공해야 하는 것입니다. 

또, 데이터의 무결성이 유지되야하며 데이터의 결과가 항상 정확해야 합니다.

 

결국 모두 데이터를 잘 쓰기 위한 것들입니다.

 

Q. DBMS는 어떤 특징을 가지고 있는가?

 

 DBMS는 굉장히 독립성이 중요하다는 특징을 가지고 있습니다.

독립성 즉, 독립이라는 단어가 들어가지 않으면 DBMS가 아닌 것입니다.

DBMS는 자료의 종속성과 이것을 해결하기 위한 소프트웨어 시스템으로 항상 논리적 독립성과 물리적 독립성을 유지합니다.

 

Q. DBMS는 어떤 필수 기능이 요구되는가?

 

 1. 정의될 수 있어야 합니다.

 2. 조작이 가능해야 합니다.

 3. 제어가 가능해야 합니다.

 

Q. DBMS의 장점과 단점은 어떤 것이 있는가?

 

 장점으로는 중복이 최소화된다는 점. 그리고 실시간 접근이 가능하며 일관성과 무결성이 유지된다는 점이 있습니다. 

뿐만 아니라 데이터 보안을 유지시켜주며 데이터 검색 및 찾기 기능이 가능하다는 것이 큰 장점입니다.

 

 단점으로는 덩치가 너무 커서 회복이 어렵다는 단점이 있습니다. 그에 따른 비용이 많이 요구되나 데이터 베이스를 관리하는 전문인력은 부족한 상황이라고 합니다.

 

Q. 데이터 맵핑(Mapping)이라는 것이 무엇인가?

 

 프로그램 코드와 데이터 베이스를 연결하는 작업을 '데이터 맵핑한다.'라고 합니다.

SQL 맵핑은 프로그램 코딩할 때 직접 SQL을 연결해서 DBMS에 접속하는 것을 SQL 맵핑이라고 합니다.

 

Q. SQL은 무엇인가?

 

 SQL은 데이터 조작어, 제어어, 정의어로 구성됩니다. 이 언어는 앞서 DBMS의 필수 기능과 연관이 되며,

한 작업의 단위를 트랜젝션(Transaction)이라고 합니다. SQL의 명령어 단위인 것이죠.

트랜잭션은 최소한의 작업 단위입니다. 그리고 이 트랜잭션을 제어하기 위해 사용하는 명령어를 TCL(Transaction Control Language)라고 합니다.

 

Q, Commit과 RollBack은 무엇인가?

 

 트랜잭션에서 Commit은 지금까지 내가 처리한 트랜잭션 명령어를 데이터베이스에 잘 반영했다는 의미로 트랜잭션이 성공적으로 끝났다.라고 볼 수 있습니다.

 

 RollBack은 잘 반영되지 않았다는 의미로 현재 트랜잭션에 포함된 데이터 조작 관련 명령을 취소하고 이전 상태로 복귀하는 것을 말합니다.

 

 

 

 

 

참고: https://coding-factory.tistory.com/215?category=990785 

 

[DB기초] DBMS의 기능 및 DBMS가 필요한 이유

 DBMS가 필요한 이유 DBMS란? 1. DBMS란 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해 주고 데이터베이스를 관리해 주는 소프트웨어이다. 2. DBMS는 기존의 파일 시스템이 갖

coding-factory.tistory.com

 

반응형

댓글