본문 바로가기
DB

[DB] 0. 데이터베이스란 ?

by oomm112 2022. 4. 20.
DB(Database)란? 

통합하여 관리되는 데이터의 집합체를 의미하며. 이러한 데이터베이스는 응용 프로그램과는 다른 별도의 미들웨어에 의해 관리됩니다.

데이터베이스를 관리하는 이러한 미들웨어를 데이터베이스 관리 시스템(DBMS: Database Management System)이라고 부릅니다.

 


DB를 왜 사용할까요?

  • 만약 사이트를 운영하는데 많은 데이터들을 손수 관리한다고 생각해보세요, 그러한 데이터들을 쉽게 관리할 수 있도록 해주는게 데이터 베이스 이니 사용하지 않을 이유가 없습니다.
  • 또한 그렇게 관리해놓은 자료들이 전부 날아간다고 생각해보세요.
  • 예를들어 장부를 만들었는데, 종이로 된 장부를 잃어버렸을때는 데이터를 모두 다시 수집해야겠죠? 하지만 DB를 사용함으로써 데이터를 안전하게 보관할 수 있습니다.

 

DB의 종류? 

DB에도 여러개의 종류가 있지만 대표적으로 구분하는데는 두가지로 구분합니다

 

종류 NoSQL RDBMS
장점 - 관계형 데이터베이스와 달리 다른 형태의 데이터 저장 기술을 사용합니다.

- 여러 형식의 데이터들을 손쉽게 저장/관리 할 수 있습니다.
- 관계형 데이터베이스인 RDBMS는 이름과 같이 관계에따라 데이터를 관리 할 수 있습니다.

- 정해진 스키마대로 데이터를 표현하며 중복을 방지해줍니다.
단점 - 데이터의 중복이 발생할 수 있습니다.

- 데이터 구조를 보장치 않기 떄문에 데이터 구조를 결정하는데 어려움이 있을 수 있습니다.
- 테이블간 관계를 갖고 있기 때문에 시스템이 커질 경우 복잡한 쿼리가 만들어지게 됩니다.

- 데이터가 유연하지 못합니다. 변경시 스키마를 변경 하여야 하기때문에 번거롭고 어렵습니다.
속하는 DB Mongo DB,  Redis... Mysql, Oracle, Maria ....

 

그렇다면 두 DB는 언제 사용해야 할까요?

  • RDBMS :  관계를 맺고 있는 데이터가 자주 변경 또는 수정되는 애플리케이션 일 때, 또는 변경될 여지가 없고 명확한 스키마가 필요할 경우
  • NoSQL : 정확한 데이터 구조를 알 수 없거나 변경 또는 확장 될 수 있는경우, 또는 데이터를 수평으로 확장 해야하는 경우(막대한 양의 데이터를 다뤄야 하는경우)

 

DB 용어 

출저 : https://t1.daumcdn.net/cfile/tistory/993845445A67253915

RDBMS는 보통 위와 같은 스키마구조를 기본으로 합니다.

 

식별자(identifier) 

  1.  데이터를 구분 할 수 있는 논리적인 개념입니다, 쉽게 말해서 데이터 베이스의 idx 값으로 볼 수 있습니다.
  2.  하나의 테이블에는 반드시 하나의 식별자를 꼭 가지고 있어야한다. 
  3.  보통 idx를 식별자로 사용한다, 이유는 조회를 쉽게 하기 위해서이다.

튜플(Tuple)

  1. 테이블에서의 행을 의미하며 , Record(레코드) 또는 Row라고 부르기도 합니다.

어트리뷰트(Attribute)

  1. 테이블에서의 열을 의미하며, 컬럼(columm)이라고도 합니다.

DDL(데이터 정의 언어) 

  • RDBMS의 구조를 정의하며, 쌍/속성/관계 인덱스 파일 위치 등 고유의 특성을 포함하고 있습니다.
  • (CREATE / ALTER/ DROP/ RENAME/ TRUNCATE 등이 속한다.)

DML(데이터 조작 언어)

  • 데이터베이스에 들어 있는 데이터를 조회하거나 검색하기 위한 명령어를 말합니다.
  • (SELECT / INSERT/ UPDATE/ DELETE 가 속합니다)
  • 가장 많이 쓰이는 부분이기도 합니다.

DCL(데이터 제어 언어)

  • DB에 접근하고 객체를 사용하도록 권한을 주고 회수하는 명령어들을 말합니다
  • (GRANTE / REVOKE 등이 속합니다)

 

질문이나 잘못된점 또는 추가 했으면 하는 점이 있으면 댓글 달아주시면 감사하겠습니다!

반응형

댓글